import * as react_jsx_runtime from 'react/jsx-runtime';
import { Radio } from '@base-ui/react/radio';
import { PortfolioRadioVisuals } from './portfolio-form-controls-visuals.js';

interface PortfolioRadioButtonProps extends Radio.Root.Props {
    /**
     * Simulated focus ring for documentation / state matrices (selected, unselected, or `disabled`).
     * Keeps ring opacity crisp when combined with `disabled` / `visualDisabled`.
     */
    showFocusRing?: boolean;
    /** Gray-out style while keeping control interactive. */
    visualDisabled?: boolean;
    /** Optional visual overrides for the Portfolio 3.0 chrome study. */
    visualSpec?: PortfolioRadioVisuals;
}
/**
 * Inner dot for the selected state (same accent as outer ring).
 */
declare function PortfolioRadioInnerDot({ className }: {
    className?: string;
}): react_jsx_runtime.JSX.Element;
/**
 * Soft outer glow layer (Portfolio-style emphasis) — CSS shadow, no SVG blur filter.
 */
declare function PortfolioRadioBlurLayer(): react_jsx_runtime.JSX.Element;
/**
 * Portfolio 3.0 radio: light border, brand primary green when selected. Uses Base UI Radio.
 * The root is a 24×24px hit target; the drawn control stays 16×16px (`size-4`) centered inside.
 */
declare function PortfolioRadioButton({ className, disabled, showFocusRing, visualDisabled, visualSpec, style, ...props }: PortfolioRadioButtonProps): react_jsx_runtime.JSX.Element;

export { PortfolioRadioBlurLayer, PortfolioRadioButton, type PortfolioRadioButtonProps, PortfolioRadioInnerDot };
