import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type ColorPickerSize = "sm" | "md" | "lg";
export interface ColorPickerProps extends Omit<ComponentPropsWithoutRef<"div">, "onChange"> {
    /** Visible label rendered above the field. */
    label?: ReactNode;
    /** Helper text under the field, wired via `aria-describedby`. */
    description?: ReactNode;
    /** Controlled value. */
    value: string;
    /** Fires with the new hex (only emitted on valid values). */
    onChange?: (value: string) => void;
    /** Preset swatches displayed as a radio-group. */
    swatches?: readonly string[];
    /** Show the hex text input. Default true. */
    showHex?: boolean;
    /** Show the native picker trigger. Default true. */
    showPicker?: boolean;
    /** Size variant. */
    size?: ColorPickerSize;
    disabled?: boolean;
    /** Mark the field as invalid (red ring + `aria-invalid`). */
    error?: boolean;
    /** Error message rendered under the field; wired via `aria-describedby`. */
    errorMessage?: ReactNode;
    /** Form integration — passed to the hidden hex input. */
    name?: string;
    /** Form attribute (when input is rendered outside its form). */
    form?: string;
    /** Mark as required for native form validation. */
    required?: boolean;
}
export declare const ColorPicker: import("react").ForwardRefExoticComponent<ColorPickerProps & import("react").RefAttributes<HTMLInputElement>>;
//# sourceMappingURL=ColorPicker.d.ts.map