import { Theme } from '@mui/material/styles';
import { Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../@types/augmentations';
import { COLOR_PICKER_KEY_COMPONENT } from './constants';
import { ColorPickerSlots } from './slots';
export interface ColorPickerError {
    message?: string | number;
}
export type ColorPickerVariant = 'colorPicker' | 'colorFieldPicker';
export type ColorPickerQuickColor = string | null;
export interface ColorPickerProps {
    value?: string | null;
    onChange: (value: string | null) => void;
    error?: boolean | ColorPickerError;
    variant?: ColorPickerVariant;
    quickColors?: ColorPickerQuickColor[];
    emptyValueLabel?: string;
    size?: Extract<Sizes, 'small' | 'medium'>;
    disabled?: boolean;
    isSkeleton?: boolean;
    className?: string;
    instaceDataTestId?: string;
}
export interface ColorPickerOwnerState extends Record<string, unknown> {
    size?: Extract<Sizes, 'small' | 'medium'>;
    disabled?: boolean;
    value?: string | null;
    error?: boolean;
    open?: boolean;
    variant?: ColorPickerVariant;
    hasQuickColors?: boolean;
}
export interface ColorPickerQuickColorButtonOwnerState extends Record<string, unknown> {
    size?: Extract<Sizes, 'small' | 'medium'>;
    disabled?: boolean;
    selected?: boolean;
}
export type ColorFieldPickerProps = Omit<ColorPickerProps, 'variant'>;
export type ColorPickerSlotsType = keyof typeof ColorPickerSlots;
export type ColorPickerStyles = M4LOverridesStyleRules<ColorPickerSlots, typeof COLOR_PICKER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map