import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import type { Color } from './color';
import type { PanelRender } from './ColorPickerPanel';
import type { ColorFormat, PresetsItem, TriggerPlacement, TriggerType } from './interface';
import type { VueNode } from '../_util/type';
declare const colorPickerProps: () => {
    value: {
        type: PropType<string | Color>;
        default: any;
    };
    defaultValue: {
        type: PropType<string | Color>;
        default: string;
    };
    open: import("vue-types").VueTypeValidableDef<boolean>;
    disabled: import("vue-types").VueTypeValidableDef<boolean>;
    placement: {
        type: PropType<TriggerPlacement>;
        default: string;
    };
    trigger: {
        type: PropType<TriggerType>;
        default: string;
    };
    format: {
        type: PropType<"hex" | "rgb" | "hsb">;
        default: string;
    };
    formatOptions: {
        type: PropType<("hex" | "rgb" | "hsb")[]>;
        default: any;
    };
    allowClear: {
        type: PropType<boolean>;
        default: boolean;
    };
    presets: {
        type: PropType<PresetsItem[]>;
        default: any;
    };
    arrow: {
        type: PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean;
    };
    styles: {
        type: PropType<{
            popup?: CSSProperties;
            popupOverlayInner?: StyleSheet;
        }>;
        default: () => {};
    };
    rootClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    onOpenChange: {
        type: PropType<(open: boolean) => void>;
        default: () => void;
    };
    onFormatChange: {
        type: PropType<(format: ColorFormat) => void>;
        default: () => void;
    };
    onChange: {
        type: PropType<(value: Color, hex: string) => void>;
        default: () => void;
    };
    getPopupContainer: {
        type: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        default: any;
    };
    autoAdjustOverflow: {
        type: PropType<boolean | import("../tooltip").AdjustOverflow>;
        default: boolean;
    };
    onChangeComplete: {
        type: PropType<(value: Color) => void>;
        default: () => void;
    };
    showText: {
        type: PropType<boolean | ((color: Color) => VueNode)>;
        default: boolean;
    };
    size: import("vue-types").VueTypeDef<string>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    panelRender: {
        type: PropType<PanelRender>;
        default: any;
    };
};
export declare type ColorPickerProps = Partial<ExtractPropTypes<ReturnType<typeof colorPickerProps>>>;
declare const ColorPicker: import("vue").DefineComponent<{
    value: {
        type: PropType<string | Color>;
        default: any;
    };
    defaultValue: {
        type: PropType<string | Color>;
        default: string;
    };
    open: import("vue-types").VueTypeValidableDef<boolean>;
    disabled: import("vue-types").VueTypeValidableDef<boolean>;
    placement: {
        type: PropType<TriggerPlacement>;
        default: string;
    };
    trigger: {
        type: PropType<TriggerType>;
        default: string;
    };
    format: {
        type: PropType<"hex" | "rgb" | "hsb">;
        default: string;
    };
    formatOptions: {
        type: PropType<("hex" | "rgb" | "hsb")[]>;
        default: any;
    };
    allowClear: {
        type: PropType<boolean>;
        default: boolean;
    };
    presets: {
        type: PropType<PresetsItem[]>;
        default: any;
    };
    arrow: {
        type: PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean;
    };
    styles: {
        type: PropType<{
            popup?: CSSProperties;
            popupOverlayInner?: StyleSheet;
        }>;
        default: () => {};
    };
    rootClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    onOpenChange: {
        type: PropType<(open: boolean) => void>;
        default: () => void;
    };
    onFormatChange: {
        type: PropType<(format: ColorFormat) => void>;
        default: () => void;
    };
    onChange: {
        type: PropType<(value: Color, hex: string) => void>;
        default: () => void;
    };
    getPopupContainer: {
        type: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        default: any;
    };
    autoAdjustOverflow: {
        type: PropType<boolean | import("../tooltip").AdjustOverflow>;
        default: boolean;
    };
    onChangeComplete: {
        type: PropType<(value: Color) => void>;
        default: () => void;
    };
    showText: {
        type: PropType<boolean | ((color: Color) => VueNode)>;
        default: boolean;
    };
    size: import("vue-types").VueTypeDef<string>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    panelRender: {
        type: PropType<PanelRender>;
        default: any;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    value: {
        type: PropType<string | Color>;
        default: any;
    };
    defaultValue: {
        type: PropType<string | Color>;
        default: string;
    };
    open: import("vue-types").VueTypeValidableDef<boolean>;
    disabled: import("vue-types").VueTypeValidableDef<boolean>;
    placement: {
        type: PropType<TriggerPlacement>;
        default: string;
    };
    trigger: {
        type: PropType<TriggerType>;
        default: string;
    };
    format: {
        type: PropType<"hex" | "rgb" | "hsb">;
        default: string;
    };
    formatOptions: {
        type: PropType<("hex" | "rgb" | "hsb")[]>;
        default: any;
    };
    allowClear: {
        type: PropType<boolean>;
        default: boolean;
    };
    presets: {
        type: PropType<PresetsItem[]>;
        default: any;
    };
    arrow: {
        type: PropType<boolean | {
            pointAtCenter: boolean;
        }>;
        default: boolean;
    };
    styles: {
        type: PropType<{
            popup?: CSSProperties;
            popupOverlayInner?: StyleSheet;
        }>;
        default: () => {};
    };
    rootClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    onOpenChange: {
        type: PropType<(open: boolean) => void>;
        default: () => void;
    };
    onFormatChange: {
        type: PropType<(format: ColorFormat) => void>;
        default: () => void;
    };
    onChange: {
        type: PropType<(value: Color, hex: string) => void>;
        default: () => void;
    };
    getPopupContainer: {
        type: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        default: any;
    };
    autoAdjustOverflow: {
        type: PropType<boolean | import("../tooltip").AdjustOverflow>;
        default: boolean;
    };
    onChangeComplete: {
        type: PropType<(value: Color) => void>;
        default: () => void;
    };
    showText: {
        type: PropType<boolean | ((color: Color) => VueNode)>;
        default: boolean;
    };
    size: import("vue-types").VueTypeDef<string>;
    destroyTooltipOnHide: import("vue-types").VueTypeValidableDef<boolean>;
    panelRender: {
        type: PropType<PanelRender>;
        default: any;
    };
}>>, {
    onChange: (value: Color, hex: string) => void;
    value: string | Color;
    defaultValue: string | Color;
    getPopupContainer: (triggerNode: HTMLElement) => HTMLElement;
    trigger: TriggerType;
    format: "hex" | "rgb" | "hsb";
    allowClear: boolean;
    panelRender: PanelRender;
    onOpenChange: (open: boolean) => void;
    placement: TriggerPlacement;
    arrow: boolean | {
        pointAtCenter: boolean;
    };
    autoAdjustOverflow: boolean;
    onChangeComplete: (value: Color) => void;
    formatOptions: ("hex" | "rgb" | "hsb")[];
    presets: PresetsItem[];
    styles: {};
    rootClassName: string;
    onFormatChange: (format: ColorFormat) => void;
    showText: boolean | ((color: Color) => VueNode);
}>;
export default ColorPicker;
