import React from 'react'; import { DefaultProps, FlowindSize, Selectors } from '../../styles'; import useStyles from './color-picker.styles'; import { ColorSliderStylesNames } from './color-slider/color-slider'; import { SaturationStylesNames } from './saturation/saturation'; import { SwatchesStylesNames } from './swatches/swatches'; import { ThumbStylesNames } from './thumb/thumb'; import { ColorFormat } from './types'; export type ColorPickerStylesNames = Selectors | ColorSliderStylesNames | SwatchesStylesNames | SaturationStylesNames | ThumbStylesNames; export interface ColorPickerBaseProps { /** Controlled component value */ value?: string; /** Uncontrolled component default value */ defaultValue?: string; /** Called when color changes */ onChange?: (color: string) => void; /** Called when user stops dragging thumb or changes value with arrows */ onChangeEnd?: (color: string) => void; /** Color format */ format?: ColorFormat; /** Set to false to display swatches only */ withPicker?: boolean; /** Predefined colors */ swatches?: string[]; /** Number of swatches displayed in one row */ swatchesPerRow?: number; /** Predefined component size */ size?: FlowindSize; } export interface ColorPickerProps extends DefaultProps, ColorPickerBaseProps, Omit, 'onChange' | 'value' | 'defaultValue'> { variant?: string; /** Force picker to take 100% width of its container */ fullWidth?: boolean; /** Should interactive elements be focusable */ focusable?: boolean; /** Static selector base */ __staticSelector?: string; /** Saturation slider aria-label */ saturationLabel?: string; /** Hue slider aria-label */ hueLabel?: string; /** Alpha slider aria-label */ alphaLabel?: string; /** Called when color swatch is clicked */ onColorSwatchClick?: (color: string) => void; } export declare const ColorPicker: React.ForwardRefExoticComponent>;