import { default as React } from 'react';
/**
 * Props for the ColorPicker component.
 *
 * A standalone color selection widget that combines:
 *   - A 24-color swatch grid (8 base colors × 3 shades each).
 *   - A hex color input row with a live-preview swatch and native OS color picker.
 *
 * Tabs (e.g. "Text" / "Background") are intentionally NOT part of this component;
 * the parent is responsible for rendering tabs and passing the correct `value`/`onChange`
 * for each tab's active color.
 */
export default interface IColorPickerProps {
    /**
     * The currently selected color as a hex string with "#" prefix (e.g. "#2563eb").
     *
     * When provided, the matching swatch (if any) is highlighted and the text input is pre-filled.
     * CSS variable tokens are not supported for this prop — use hex values only.
     */
    value?: string;
    /**
     * Ordered list of color tokens to display as swatches.
     *
     * Each entry may be either:
     *   - A CSS variable token (e.g. `var(--color-primary-500)`), or
     *   - A hex color string with "#" prefix (e.g. "#2563eb").
     *
     * Defaults to the built-in 24-color palette (8 base colors × 3 shades), which
     * is defined using CSS variables (e.g. `var(--color-...)`).
     */
    palette?: string[];
    /** Called when the user selects a color via a swatch click or the hex input. Receives the hex string with "#" prefix. */
    onChange: (color: string) => void;
    /** Optional header content to render above the color picker */
    header?: React.ReactNode;
}
