import type { InjectionKey, PropType, Ref } from 'vue';
import type { AggregationColor } from './color';
import type { ModeOptions } from './hooks/useModeColor';
import type { ColorFormatType, ColorPickerProps, ModeType, PresetsItem } from './interface';
export declare const panelPickerContextProps: () => {
    prefixCls: StringConstructor;
    allowClear: BooleanConstructor;
    disabled: BooleanConstructor;
    disabledAlpha: BooleanConstructor;
    mode: PropType<ModeType>;
    onModeChange: PropType<(mode: ModeType) => void>;
    modeOptions: PropType<ModeOptions>;
    value: PropType<AggregationColor>;
    onChange: PropType<(value?: AggregationColor, pickColor?: boolean) => void>;
    onChangeComplete: PropType<(value: AggregationColor) => void>;
    format: PropType<ColorFormatType>;
    onFormatChange: PropType<(format?: ColorFormatType) => void>;
    activeIndex: NumberConstructor;
    onActive: PropType<(index: number) => void>;
    gradientDragging: BooleanConstructor;
    onGradientDragging: PropType<(dragging: boolean) => void>;
    onClear: PropType<() => void>;
    disabledFormat: BooleanConstructor;
};
export interface PanelPickerContextProps {
    prefixCls: Ref<string>;
    allowClear?: Ref<boolean>;
    disabled?: Ref<boolean>;
    disabledAlpha?: Ref<boolean>;
    mode: Ref<ModeType>;
    onModeChange: (mode: ModeType) => void;
    modeOptions: Ref<ModeOptions>;
    value: Ref<AggregationColor>;
    onChange: (value?: AggregationColor, pickColor?: boolean) => void;
    onChangeComplete: ColorPickerProps['onChangeComplete'];
    format?: Ref<ColorFormatType>;
    onFormatChange?: ColorPickerProps['onFormatChange'];
    /** The gradient Slider active handle */
    activeIndex: Ref<number>;
    /** The gradient Slider handle active changed */
    onActive: (index: number) => void;
    /** Is gradient Slider dragging */
    gradientDragging: Ref<boolean>;
    /** The gradient Slider dragging changed */
    onGradientDragging: (dragging: boolean) => void;
    onClear?: () => void;
    disabledFormat?: Ref<boolean>;
}
export declare const panelPresetsContextProps: () => {
    prefixCls: StringConstructor;
    presets: PropType<PresetsItem[]>;
    disabled: BooleanConstructor;
    value: PropType<AggregationColor>;
    onChange: PropType<(value: AggregationColor) => void>;
};
export interface PanelPresetsContextProps {
    prefixCls: Ref<string>;
    presets?: Ref<PresetsItem[]>;
    disabled?: Ref<boolean>;
    value: Ref<AggregationColor>;
    onChange?: (value: AggregationColor) => void;
}
export declare const PanelPickerContextKey: InjectionKey<PanelPickerContextProps>;
export declare function useProvidePanelPicker(state: PanelPickerContextProps): void;
export declare function useInjectPanelPicker(): PanelPickerContextProps;
export declare const PanelPresetsContextKey: InjectionKey<PanelPresetsContextProps>;
export declare function useProvidePanelPresets(state: PanelPresetsContextProps): void;
export declare function useInjectPanelPresets(): PanelPresetsContextProps;
