import { ApFieldSliderProps } from '../interface';
import { CreateComponentPublicInstanceWithMixins, ExtractPropTypes, PropType, CSSProperties, ComponentOptionsMixin, PublicProps, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DefineComponent } from 'vue';
import { RangeConfig } from '@aplus-frontend/antdv/es/ng-slider/Slider';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
import { MarkObj } from '@aplus-frontend/antdv/es/ng-slider/Marks';
import { SliderTooltipProps, SemanticName } from '@aplus-frontend/antdv/es/slider';
import { FocusEventHandler } from '@aplus-frontend/antdv/es/_util/EventInterface';
import { TooltipPlacement } from '@aplus-frontend/antdv/es/tooltip';
import { AriaValueFormat } from '@aplus-frontend/antdv/es/ng-slider/interface';
type ApFieldSliderSlots = {
    default?: any;
    mark?: (option: {
        point: number;
        label: any;
    }) => any;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<ApFieldSliderSlots> & ApFieldSliderSlots;
    refs: {
        sliderRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
            range: {
                type: PropType<boolean | RangeConfig>;
                default: boolean | RangeConfig;
            };
            value: PropType<number | number[]>;
            defaultValue: PropType<number | number[]>;
            onChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
            'onUpdate:value': PropType<((value: number) => void) | ((value: number[]) => void)>;
            onAfterChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
            onChangeComplete: PropType<((value: number) => void) | ((value: number[]) => void)>;
            handleStyle: PropType< CSSProperties | CSSProperties[]>;
            trackStyle: PropType< CSSProperties | CSSProperties[]>;
            prefixCls: StringConstructor;
            reverse: BooleanConstructor;
            min: NumberConstructor;
            max: NumberConstructor;
            step: NumberConstructor;
            marks: PropType<Record<string | number, VueNode | MarkObj>>;
            dots: BooleanConstructor;
            included: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: BooleanConstructor;
            keyboard: {
                type: BooleanConstructor;
                default: boolean;
            };
            vertical: BooleanConstructor;
            className: StringConstructor;
            rootClassName: StringConstructor;
            id: StringConstructor;
            style: PropType<CSSProperties>;
            tooltip: {
                type: PropType<SliderTooltipProps>;
            };
            autoFocus: BooleanConstructor;
            styles: PropType<Partial<Record< SemanticName, CSSProperties>>>;
            classNames: PropType<Partial<Record< SemanticName, string>>>;
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            tooltipPrefixCls: StringConstructor;
            tipFormatter: PropType<(value?: number) => VueNode>;
            tooltipVisible: {
                type: BooleanConstructor;
                default: any;
            };
            getTooltipPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            tooltipPlacement: PropType<TooltipPlacement>;
            tabIndex: PropType<number | number[]>;
            ariaLabelForHandle: PropType<string | string[]>;
            ariaLabelledByForHandle: PropType<string | string[]>;
            ariaRequired: {
                type: BooleanConstructor;
                default: any;
            };
            ariaValueTextFormatterForHandle: PropType< AriaValueFormat | AriaValueFormat[]>;
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
            vertical: boolean;
            dots: boolean;
            reverse: boolean;
            range: boolean | RangeConfig;
            disabled: boolean;
            keyboard: boolean;
            ariaRequired: boolean;
            included: boolean;
            autoFocus: boolean;
            tooltipVisible: boolean;
        }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly< ExtractPropTypes<{
            range: {
                type: PropType<boolean | RangeConfig>;
                default: boolean | RangeConfig;
            };
            value: PropType<number | number[]>;
            defaultValue: PropType<number | number[]>;
            onChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
            'onUpdate:value': PropType<((value: number) => void) | ((value: number[]) => void)>;
            onAfterChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
            onChangeComplete: PropType<((value: number) => void) | ((value: number[]) => void)>;
            handleStyle: PropType< CSSProperties | CSSProperties[]>;
            trackStyle: PropType< CSSProperties | CSSProperties[]>;
            prefixCls: StringConstructor;
            reverse: BooleanConstructor;
            min: NumberConstructor;
            max: NumberConstructor;
            step: NumberConstructor;
            marks: PropType<Record<string | number, VueNode | MarkObj>>;
            dots: BooleanConstructor;
            included: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: BooleanConstructor;
            keyboard: {
                type: BooleanConstructor;
                default: boolean;
            };
            vertical: BooleanConstructor;
            className: StringConstructor;
            rootClassName: StringConstructor;
            id: StringConstructor;
            style: PropType<CSSProperties>;
            tooltip: {
                type: PropType<SliderTooltipProps>;
            };
            autoFocus: BooleanConstructor;
            styles: PropType<Partial<Record< SemanticName, CSSProperties>>>;
            classNames: PropType<Partial<Record< SemanticName, string>>>;
            onFocus: PropType<FocusEventHandler>;
            onBlur: PropType<FocusEventHandler>;
            tooltipPrefixCls: StringConstructor;
            tipFormatter: PropType<(value?: number) => VueNode>;
            tooltipVisible: {
                type: BooleanConstructor;
                default: any;
            };
            getTooltipPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
            tooltipPlacement: PropType<TooltipPlacement>;
            tabIndex: PropType<number | number[]>;
            ariaLabelForHandle: PropType<string | string[]>;
            ariaLabelledByForHandle: PropType<string | string[]>;
            ariaRequired: {
                type: BooleanConstructor;
                default: any;
            };
            ariaValueTextFormatterForHandle: PropType< AriaValueFormat | AriaValueFormat[]>;
        }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
            vertical: boolean;
            dots: boolean;
            reverse: boolean;
            range: boolean | RangeConfig;
            disabled: boolean;
            keyboard: boolean;
            ariaRequired: boolean;
            included: boolean;
            autoFocus: boolean;
            tooltipVisible: boolean;
        }> | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFieldSliderProps, {
    blur: () => void;
    focus: () => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, PublicProps, Readonly<ApFieldSliderProps> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {
    step: number;
    disabled: boolean;
    emptyText: string;
    min: number;
    max: number;
    included: boolean;
    tooltipVisible: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    sliderRef: CreateComponentPublicInstanceWithMixins<Readonly< ExtractPropTypes<{
        range: {
            type: PropType<boolean | RangeConfig>;
            default: boolean | RangeConfig;
        };
        value: PropType<number | number[]>;
        defaultValue: PropType<number | number[]>;
        onChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
        'onUpdate:value': PropType<((value: number) => void) | ((value: number[]) => void)>;
        onAfterChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
        onChangeComplete: PropType<((value: number) => void) | ((value: number[]) => void)>;
        handleStyle: PropType< CSSProperties | CSSProperties[]>;
        trackStyle: PropType< CSSProperties | CSSProperties[]>;
        prefixCls: StringConstructor;
        reverse: BooleanConstructor;
        min: NumberConstructor;
        max: NumberConstructor;
        step: NumberConstructor;
        marks: PropType<Record<string | number, VueNode | MarkObj>>;
        dots: BooleanConstructor;
        included: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: BooleanConstructor;
        keyboard: {
            type: BooleanConstructor;
            default: boolean;
        };
        vertical: BooleanConstructor;
        className: StringConstructor;
        rootClassName: StringConstructor;
        id: StringConstructor;
        style: PropType<CSSProperties>;
        tooltip: {
            type: PropType<SliderTooltipProps>;
        };
        autoFocus: BooleanConstructor;
        styles: PropType<Partial<Record< SemanticName, CSSProperties>>>;
        classNames: PropType<Partial<Record< SemanticName, string>>>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        tooltipPrefixCls: StringConstructor;
        tipFormatter: PropType<(value?: number) => VueNode>;
        tooltipVisible: {
            type: BooleanConstructor;
            default: any;
        };
        getTooltipPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        tooltipPlacement: PropType<TooltipPlacement>;
        tabIndex: PropType<number | number[]>;
        ariaLabelForHandle: PropType<string | string[]>;
        ariaLabelledByForHandle: PropType<string | string[]>;
        ariaRequired: {
            type: BooleanConstructor;
            default: any;
        };
        ariaValueTextFormatterForHandle: PropType< AriaValueFormat | AriaValueFormat[]>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        vertical: boolean;
        dots: boolean;
        reverse: boolean;
        range: boolean | RangeConfig;
        disabled: boolean;
        keyboard: boolean;
        ariaRequired: boolean;
        included: boolean;
        autoFocus: boolean;
        tooltipVisible: boolean;
    }, true, {}, {}, GlobalComponents, GlobalDirectives, string, {}, any, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        range: {
            type: PropType<boolean | RangeConfig>;
            default: boolean | RangeConfig;
        };
        value: PropType<number | number[]>;
        defaultValue: PropType<number | number[]>;
        onChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
        'onUpdate:value': PropType<((value: number) => void) | ((value: number[]) => void)>;
        onAfterChange: PropType<((value: number) => void) | ((value: number[]) => void)>;
        onChangeComplete: PropType<((value: number) => void) | ((value: number[]) => void)>;
        handleStyle: PropType< CSSProperties | CSSProperties[]>;
        trackStyle: PropType< CSSProperties | CSSProperties[]>;
        prefixCls: StringConstructor;
        reverse: BooleanConstructor;
        min: NumberConstructor;
        max: NumberConstructor;
        step: NumberConstructor;
        marks: PropType<Record<string | number, VueNode | MarkObj>>;
        dots: BooleanConstructor;
        included: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: BooleanConstructor;
        keyboard: {
            type: BooleanConstructor;
            default: boolean;
        };
        vertical: BooleanConstructor;
        className: StringConstructor;
        rootClassName: StringConstructor;
        id: StringConstructor;
        style: PropType<CSSProperties>;
        tooltip: {
            type: PropType<SliderTooltipProps>;
        };
        autoFocus: BooleanConstructor;
        styles: PropType<Partial<Record< SemanticName, CSSProperties>>>;
        classNames: PropType<Partial<Record< SemanticName, string>>>;
        onFocus: PropType<FocusEventHandler>;
        onBlur: PropType<FocusEventHandler>;
        tooltipPrefixCls: StringConstructor;
        tipFormatter: PropType<(value?: number) => VueNode>;
        tooltipVisible: {
            type: BooleanConstructor;
            default: any;
        };
        getTooltipPopupContainer: PropType<(triggerNode: HTMLElement) => HTMLElement>;
        tooltipPlacement: PropType<TooltipPlacement>;
        tabIndex: PropType<number | number[]>;
        ariaLabelForHandle: PropType<string | string[]>;
        ariaLabelledByForHandle: PropType<string | string[]>;
        ariaRequired: {
            type: BooleanConstructor;
            default: any;
        };
        ariaValueTextFormatterForHandle: PropType< AriaValueFormat | AriaValueFormat[]>;
    }>> & Readonly<{}>, () => VueNode, {}, {}, {}, {
        vertical: boolean;
        dots: boolean;
        reverse: boolean;
        range: boolean | RangeConfig;
        disabled: boolean;
        keyboard: boolean;
        ariaRequired: boolean;
        included: boolean;
        autoFocus: boolean;
        tooltipVisible: boolean;
    }> | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
