import React, { CSSProperties, ReactNode } from 'react';
import TriggerField, { TriggerFieldProps } from '../trigger-field/TriggerField';
import EventManager from '../_util/EventManager';
import { FieldType } from '../data-set/enum';
import { ValidationMessages } from '../validator/Validator';
import { ViewMode } from './enum';
import { Action } from '../trigger/enum';
export interface ColorPickerProps extends TriggerFieldProps {
    mode?: ViewMode;
    preset?: boolean;
}
export default class ColorPicker extends TriggerField<ColorPickerProps> {
    static displayName: string;
    static defaultProps: {
        suffixCls: string;
        clearButton: boolean;
        mode: ViewMode;
        popupPlacement: string;
        triggerShowDelay: number;
        triggerHiddenDelay: number;
        viewMode: import("../trigger-field/enum").TriggerViewMode;
        multiple: boolean;
        border: boolean;
        valueChangeAction: import("../text-field/enum").ValueChangeAction;
        waitType: import("../core/enum").WaitType;
        readOnly: boolean;
        disabled: boolean;
        noValidate: boolean;
        trim: import("../data-set/enum").FieldTrim;
    };
    gradient: HTMLDivElement | null;
    selectPointer: HTMLDivElement | null;
    eventManager: EventManager;
    hue: HTMLDivElement | null;
    huePointer: HTMLDivElement | null;
    opacity: HTMLDivElement | null;
    opacityPointer: HTMLDivElement | null;
    footerInputRef: HTMLInputElement | null;
    HSV: {
        h: number;
        s: number;
        v: number;
        a: number;
    };
    RGBA: {
        r: number;
        g: number;
        b: number;
        a: number;
    };
    hueColor?: string;
    footerEditFlag?: boolean;
    gradientHidden?: boolean;
    gradienLeft?: number;
    gradienTop?: number;
    popupView: HTMLElement | null;
    get multiple(): boolean;
    get range(): boolean;
    get preset(): boolean;
    get defaultValidationMessages(): ValidationMessages;
    get colorPickUsed(): string[];
    saveGradientRef: (node: any) => any;
    saveSelectPointerRef: (node: any) => any;
    saveHuePointerRef: (node: any) => any;
    saveHueRef: (node: any) => any;
    saveOpacityRef: (node: any) => any;
    saveOpacityPointerRef: (node: any) => any;
    saveFooterAlphaRef: (node: any) => any;
    getOmitPropsKeys(): string[];
    getDefaultAction(): Action[];
    constructor(props: any, context: any);
    componentDidUpdate(): void;
    getValue(): any;
    getBorder(r?: number, g?: number, b?: number): boolean;
    syncValueOnBlur(value: any): void;
    getFieldType(): FieldType;
    getPrefix(): ReactNode;
    getPopupFooter(): JSX.Element;
    getGradientPopupContent(): JSX.Element;
    getPresetData(list: string[], value?: string): JSX.Element;
    getPopupContent(): JSX.Element;
    setHSV(h: any, s: any, v: any, a: any): void;
    setRGBA(r: any, g: any, b: any, a: any): void;
    setHueColor(color: string): void;
    setFooterEditFlag(footerEditFlag: boolean): void;
    setGradientHidden(gradientHidden: boolean): void;
    setColor(color: string): void;
    positionToHSV(left: any, top: any, width: any, height: any): {
        h: number;
        s: number;
        v: number;
        a: number;
    };
    rgbToHEX(r: any, g: any, b: any, a: any): string;
    hexToRGB(hex: any): {
        r: number;
        g: number;
        b: number;
        a: number;
    };
    rgbToHSV(r: any, g: any, b: any, a: any): {
        h: any;
        s: any;
        v: number;
        a: any;
    };
    hsvToRGB(h: any, s: any, v: any, a: any): any;
    setGradientPointer(x: any, y: any, pointer: any, wrap: any, isClient: boolean): {
        left: any;
        top: any;
    };
    handleGPClick(e: any): void;
    setSliderPointer(x: any, pointer: any, wrap: any, isClient: any): {
        left: any;
        wrapW: number;
    };
    handleHueClick(e: any): void;
    handleOpacityClick(e: any): void;
    handleFooterInput(e: React.ChangeEvent<HTMLInputElement>): void;
    handleGPMouseDown(): void;
    onGPMouseUp(): void;
    handleHPMouseDown(): void;
    handleOpacityMouseDown(): void;
    onHPMouseUp(): void;
    onOpacityMouseUp(): void;
    onExpandChange(e: any): void;
    handleFocus(e: any): void;
    handleFooterFocus(): void;
    setPopup(statePopup: boolean): void;
    handlePreset(color: string): void;
    handlePopupAnimateAppear(): void;
    handlePopupAnimateEnd(): void;
    getPopupStyleFromAlign(): CSSProperties | undefined;
    getTriggerIconFont(): "" | "palette";
    getWrapperClassNames(): string;
    renderLengthInfo(): ReactNode;
}
