import type { CSSProperties, VNodeTypes, PropType } from 'vue';
import type { VueNode } from '../_util/type';
export declare type SliderValue = number | [number, number];
interface SliderMarks {
    [key: number]: VueNode | {
        style: CSSProperties;
        label: any;
    };
}
interface HandleGeneratorInfo {
    value?: number;
    dragging?: boolean;
    index: number;
}
interface SliderRange {
    draggableTrack?: boolean;
}
export declare type HandleGeneratorFn = (config: {
    tooltipPrefixCls?: string;
    prefixCls?: string;
    info: HandleGeneratorInfo;
}) => VNodeTypes;
declare type Value = [number, number] | number;
export declare const sliderProps: () => {
    id: StringConstructor;
    prefixCls: StringConstructor;
    tooltipPrefixCls: StringConstructor;
    range: {
        type: PropType<boolean | SliderRange>;
        default: any;
    };
    reverse: {
        type: BooleanConstructor;
        default: any;
    };
    min: NumberConstructor;
    max: NumberConstructor;
    step: {
        type: PropType<number>;
    };
    marks: {
        type: PropType<SliderMarks>;
    };
    dots: {
        type: BooleanConstructor;
        default: any;
    };
    value: {
        type: PropType<Value>;
    };
    defaultValue: {
        type: PropType<Value>;
    };
    included: {
        type: BooleanConstructor;
        default: any;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    vertical: {
        type: BooleanConstructor;
        default: any;
    };
    tipFormatter: {
        type: PropType<(value?: number) => any>;
        default: (value: number) => string;
    };
    tooltipVisible: {
        type: BooleanConstructor;
        default: any;
    };
    tooltipPlacement: {
        type: PropType<any>;
    };
    getTooltipPopupContainer: {
        type: PropType<(triggerNode: HTMLElement) => HTMLElement>;
    };
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    onChange: {
        type: PropType<(value: Value) => void>;
    };
    onAfterChange: {
        type: PropType<(value: Value) => void>;
    };
    handleStyle: {
        type: PropType<CSSProperties | CSSProperties[]>;
    };
    trackStyle: {
        type: PropType<CSSProperties | CSSProperties[]>;
    };
};
export declare type Visibles = {
    [index: number]: boolean;
};
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            reverse: boolean;
            disabled: boolean;
            range: any;
            vertical: boolean;
            autofocus: boolean;
            dots: boolean;
            included: boolean;
            tipFormatter: (value?: number) => any;
            tooltipVisible: boolean;
        }> & Omit<Readonly<{
            id?: unknown;
            prefixCls?: unknown;
            tooltipPrefixCls?: unknown;
            range?: unknown;
            reverse?: unknown;
            min?: unknown;
            max?: unknown;
            step?: unknown;
            marks?: unknown;
            dots?: unknown;
            value?: unknown;
            defaultValue?: unknown;
            included?: unknown;
            disabled?: unknown;
            vertical?: unknown;
            tipFormatter?: unknown;
            tooltipVisible?: unknown;
            tooltipPlacement?: unknown;
            getTooltipPopupContainer?: unknown;
            autofocus?: unknown;
            onChange?: unknown;
            onAfterChange?: unknown;
            handleStyle?: unknown;
            trackStyle?: unknown;
        } & {
            tipFormatter: (value?: number) => any;
        } & {
            max?: number;
            reverse?: boolean;
            disabled?: boolean;
            value?: Value;
            range?: any;
            id?: string;
            vertical?: boolean;
            step?: number;
            onChange?: (value: Value) => void;
            prefixCls?: string;
            autofocus?: boolean;
            defaultValue?: Value;
            dots?: boolean;
            min?: number;
            onAfterChange?: (value: Value) => void;
            tooltipPrefixCls?: string;
            marks?: SliderMarks;
            included?: boolean;
            tooltipVisible?: boolean;
            tooltipPlacement?: unknown;
            getTooltipPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
            handleStyle?: unknown;
            trackStyle?: unknown;
        }> & {
            onBlur?: (...args: any[]) => any;
            onChange?: (...args: any[]) => any;
            "onUpdate:value"?: (...args: any[]) => any;
            onAfterChange?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "reverse" | "disabled" | "range" | "vertical" | "autofocus" | "dots" | "included" | "tipFormatter" | "tooltipVisible">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
        $emit: (event: "blur" | "change" | "update:value" | "afterChange", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<{
            id?: unknown;
            prefixCls?: unknown;
            tooltipPrefixCls?: unknown;
            range?: unknown;
            reverse?: unknown;
            min?: unknown;
            max?: unknown;
            step?: unknown;
            marks?: unknown;
            dots?: unknown;
            value?: unknown;
            defaultValue?: unknown;
            included?: unknown;
            disabled?: unknown;
            vertical?: unknown;
            tipFormatter?: unknown;
            tooltipVisible?: unknown;
            tooltipPlacement?: unknown;
            getTooltipPopupContainer?: unknown;
            autofocus?: unknown;
            onChange?: unknown;
            onAfterChange?: unknown;
            handleStyle?: unknown;
            trackStyle?: unknown;
        } & {
            tipFormatter: (value?: number) => any;
        } & {
            max?: number;
            reverse?: boolean;
            disabled?: boolean;
            value?: Value;
            range?: any;
            id?: string;
            vertical?: boolean;
            step?: number;
            onChange?: (value: Value) => void;
            prefixCls?: string;
            autofocus?: boolean;
            defaultValue?: Value;
            dots?: boolean;
            min?: number;
            onAfterChange?: (value: Value) => void;
            tooltipPrefixCls?: string;
            marks?: SliderMarks;
            included?: boolean;
            tooltipVisible?: boolean;
            tooltipPlacement?: unknown;
            getTooltipPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
            handleStyle?: unknown;
            trackStyle?: unknown;
        }> & {
            onBlur?: (...args: any[]) => any;
            onChange?: (...args: any[]) => any;
            "onUpdate:value"?: (...args: any[]) => any;
            onAfterChange?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, {
            methods: {
                setState(state: {}, callback: any): void;
                __emit(...args: any[]): void;
            };
        }, import("vue").ComponentOptionsMixin, ("blur" | "change" | "update:value" | "afterChange")[], string, {
            reverse: boolean;
            disabled: boolean;
            range: any;
            vertical: boolean;
            autofocus: boolean;
            dots: boolean;
            included: boolean;
            tipFormatter: (value?: number) => any;
            tooltipVisible: boolean;
        }> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<{
        id?: unknown;
        prefixCls?: unknown;
        tooltipPrefixCls?: unknown;
        range?: unknown;
        reverse?: unknown;
        min?: unknown;
        max?: unknown;
        step?: unknown;
        marks?: unknown;
        dots?: unknown;
        value?: unknown;
        defaultValue?: unknown;
        included?: unknown;
        disabled?: unknown;
        vertical?: unknown;
        tipFormatter?: unknown;
        tooltipVisible?: unknown;
        tooltipPlacement?: unknown;
        getTooltipPopupContainer?: unknown;
        autofocus?: unknown;
        onChange?: unknown;
        onAfterChange?: unknown;
        handleStyle?: unknown;
        trackStyle?: unknown;
    } & {
        tipFormatter: (value?: number) => any;
    } & {
        max?: number;
        reverse?: boolean;
        disabled?: boolean;
        value?: Value;
        range?: any;
        id?: string;
        vertical?: boolean;
        step?: number;
        onChange?: (value: Value) => void;
        prefixCls?: string;
        autofocus?: boolean;
        defaultValue?: Value;
        dots?: boolean;
        min?: number;
        onAfterChange?: (value: Value) => void;
        tooltipPrefixCls?: string;
        marks?: SliderMarks;
        included?: boolean;
        tooltipVisible?: boolean;
        tooltipPlacement?: unknown;
        getTooltipPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
        handleStyle?: unknown;
        trackStyle?: unknown;
    }> & {
        onBlur?: (...args: any[]) => any;
        onChange?: (...args: any[]) => any;
        "onUpdate:value"?: (...args: any[]) => any;
        onAfterChange?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {
        [x: string]: never;
    } & {
        setState(state: {}, callback: any): void;
        __emit(...args: any[]): void;
    } & import("vue").ComponentCustomProperties;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<{
    id?: unknown;
    prefixCls?: unknown;
    tooltipPrefixCls?: unknown;
    range?: unknown;
    reverse?: unknown;
    min?: unknown;
    max?: unknown;
    step?: unknown;
    marks?: unknown;
    dots?: unknown;
    value?: unknown;
    defaultValue?: unknown;
    included?: unknown;
    disabled?: unknown;
    vertical?: unknown;
    tipFormatter?: unknown;
    tooltipVisible?: unknown;
    tooltipPlacement?: unknown;
    getTooltipPopupContainer?: unknown;
    autofocus?: unknown;
    onChange?: unknown;
    onAfterChange?: unknown;
    handleStyle?: unknown;
    trackStyle?: unknown;
} & {
    tipFormatter: (value?: number) => any;
} & {
    max?: number;
    reverse?: boolean;
    disabled?: boolean;
    value?: Value;
    range?: any;
    id?: string;
    vertical?: boolean;
    step?: number;
    onChange?: (value: Value) => void;
    prefixCls?: string;
    autofocus?: boolean;
    defaultValue?: Value;
    dots?: boolean;
    min?: number;
    onAfterChange?: (value: Value) => void;
    tooltipPrefixCls?: string;
    marks?: SliderMarks;
    included?: boolean;
    tooltipVisible?: boolean;
    tooltipPlacement?: unknown;
    getTooltipPopupContainer?: (triggerNode: HTMLElement) => HTMLElement;
    handleStyle?: unknown;
    trackStyle?: unknown;
}> & {
    onBlur?: (...args: any[]) => any;
    onChange?: (...args: any[]) => any;
    "onUpdate:value"?: (...args: any[]) => any;
    onAfterChange?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, {
    methods: {
        setState(state: {}, callback: any): void;
        __emit(...args: any[]): void;
    };
}, import("vue").ComponentOptionsMixin, ("blur" | "change" | "update:value" | "afterChange")[], "blur" | "change" | "update:value" | "afterChange", {
    reverse: boolean;
    disabled: boolean;
    range: any;
    vertical: boolean;
    autofocus: boolean;
    dots: boolean;
    included: boolean;
    tipFormatter: (value?: number) => any;
    tooltipVisible: boolean;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
export default _default;
