import { InputProps } from '../input';
import { PopupProps } from '../popup';
import { SelectInputProps } from '../select-input';
import { LNode } from '../../common.type';
export interface TypeColorPickerProps {
    closeBtn?: string | boolean | LNode;
    colorModes?: Array<'monochrome' | 'linear-gradient'>;
    disabled?: boolean;
    enableAlpha?: boolean;
    format?: 'RGB' | 'RGBA' | 'HSL' | 'HSLA' | 'HSB' | 'HSV' | 'HSVA' | 'HEX' | 'CMYK' | 'CSS';
    inputProps?: InputProps;
    multiple?: boolean;
    popupProps?: PopupProps;
    recentColors?: boolean | Array<string>;
    defaultRecentColors?: boolean | Array<string>;
    selectInputProps?: SelectInputProps;
    swatchColors?: Array<string>;
    value?: string;
    defaultValue?: string;
    onChange?: (value: string, context: {
        color: ColorObject;
        trigger: ColorPickerChangeTrigger;
    }) => void;
    onPaletteBarChange?: (context: {
        color: ColorObject;
    }) => void;
    onRecentColorsChange?: (value: Array<string>) => void;
}
export declare type ColorPickerChangeTrigger = 'palette-saturation-brightness' | 'palette-saturation' | 'palette-brightness' | 'palette-hue-bar' | 'palette-alpha-bar' | 'input';
export interface ColorObject {
    alpha: number;
    css: string;
    hex: string;
    hex8: string;
    hsl: string;
    hsla: string;
    hsv: string;
    hsva: string;
    rgb: string;
    rgba: string;
    saturation: number;
    value: number;
    isGradient: boolean;
    linearGradient?: string;
}
export declare type TypeColorModes = 'monochrome' | 'linear-gradient';
export interface TypeColorContext {
    color: ColorObject;
    trigger: ColorPickerChangeTrigger;
}
export declare type TypeColorHandler = (...args: any) => void;
