/**
 * Optional pre-set swatch passed to the chooser. Macadamia onboarding feeds
 * logo-extracted colours here; the LiveThemeEditor and Style configurator
 * pass an empty array (or omit the prop) so the dialog just exposes the
 * freeform colour picker.
 */
export type ColorChooserSwatch = Readonly<{
    hex: string;
    label: string;
}>;
export type ColorChooserDialogProps = Readonly<{
    open: boolean;
    onOpenChange: (open: boolean) => void;
    /** Current persisted value for the slot being edited. */
    currentValue: string | null;
    /** Suggested-swatch grid. Empty/omitted => freeform picker only. */
    swatches?: ReadonlyArray<ColorChooserSwatch>;
    /**
     * Swatches in `swatches` that should render as visibly disabled
     * (typically: already used elsewhere in the palette). Selecting one of
     * these is still possible if it matches `currentValue`.
     */
    disabledHexes?: ReadonlyArray<string>;
    /**
     * Fallback hex used when neither `currentValue` nor `swatches[0]` resolve
     * to a usable colour. Defaults to `#000000`; pass the brand colour if you
     * want the dialog to open on it.
     */
    defaultValue?: string;
    /** Localised dialog title. */
    title?: string;
    /** Localised body description. Falls back to a swatches-aware default. */
    description?: string;
    /** Confirm button label. Defaults to "Use this colour". */
    confirmLabel?: string;
    /** Optional remove handler. When provided, a "Remove colour" button appears. */
    onRemove?: () => void;
    /** Remove button label. Defaults to "Remove colour". */
    removeLabel?: string;
    onChoose: (value: string) => void;
}>;
/**
 * Shared colour-chooser dialog. Combines an optional logo-derived swatch
 * grid with a freeform `ColorPicker` + hex display. Consolidates the
 * implementations that previously lived inline in Macadamia onboarding.
 */
export declare function ColorChooserDialog({ open, onOpenChange, currentValue, swatches, disabledHexes, defaultValue, title, description, confirmLabel, onRemove, removeLabel, onChoose, }: ColorChooserDialogProps): import("react/jsx-runtime").JSX.Element;
