import { ComponentPropsWithoutRef } from 'react';
export interface ColorSelectorOption {
    /** Unique identifier for this option, used for input id and label htmlFor */
    id: string;
    /** CSS color value or image URL for the swatch background */
    color: string;
    /** Accessible label for the radio input */
    a11yLabel: string;
    /** Whether this option is unavailable */
    isUnavailable: boolean;
    /** Force checked state (snapshot testing) */
    checked?: boolean;
    /** Force hover state (snapshot testing) */
    hover?: boolean;
    /** Force focus state (snapshot testing) */
    focused?: boolean;
}
export interface ColorSelectorProps extends Omit<ComponentPropsWithoutRef<'div'>, 'onChange'> {
    /** Whether to render on a dark background */
    inverse?: boolean;
    /** Name attribute for the radio group */
    groupName: string;
    /** Color options to render */
    options: ColorSelectorOption[];
    /** Currently selected option id (controlled) */
    value?: string;
    /** Default selected option id (uncontrolled) */
    defaultValue?: string;
    /** Callback when a color option is selected */
    onChange?: (optionId: string, event: React.ChangeEvent<HTMLInputElement>) => void;
}
//# sourceMappingURL=ColorSelector.types.d.ts.map