import { DefineComponent, ExtractPropTypes, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { VueTypeValidableDef, VueTypeDef } from 'vue-types';
export default function createSlider(Component: any): DefineComponent<ExtractPropTypes<{
    id: StringConstructor;
    min: NumberConstructor;
    max: NumberConstructor;
    step: NumberConstructor;
    marks: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    included: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    handle: FunctionConstructor;
    dots: {
        type: BooleanConstructor;
        default: undefined;
    };
    vertical: {
        type: BooleanConstructor;
        default: undefined;
    };
    reverse: {
        type: BooleanConstructor;
        default: undefined;
    };
    minimumTrackStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    maximumTrackStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    handleStyle: VueTypeDef<{
        [key: string]: any;
    } | {
        [key: string]: any;
    }[]>;
    trackStyle: VueTypeDef<{
        [key: string]: any;
    } | {
        [key: string]: any;
    }[]>;
    railStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    dotStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    activeDotStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    draggableTrack: {
        type: BooleanConstructor;
        default: undefined;
    };
}>, {}, {}, {}, {
    defaultHandle({ index, directives, className, style, ...restProps }: {
        [x: string]: any;
        index: any;
        directives: any;
        className: any;
        style: any;
    }): import("vue/jsx-runtime").JSX.Element | null;
    onDown(e: any, position: any): void;
    onMouseDown(e: any): void;
    onTouchStart(e: any): void;
    onFocus(e: any): void;
    onBlur(e: any): void;
    onMouseUp(): void;
    onMouseMove(e: any): void;
    onTouchMove(e: any): void;
    onKeyDown(e: any): void;
    onClickMarkLabel(e: any, value: any): void;
    getSliderStart(): any;
    getSliderLength(): any;
    addDocumentTouchEvents(): void;
    addDocumentMouseEvents(): void;
    removeDocumentEvents(): void;
    focus(): void;
    blur(): void;
    calcValue(offset: any): number;
    calcValueByPos(position: any): any;
    calcOffset(value: any): number;
    saveSlider(slider: any): void;
    saveHandle(index: any, handle: any): void;
}, any, ComponentOptionsMixin, ("change" | "blur" | "focus")[], "change" | "blur" | "focus", PublicProps, Readonly< ExtractPropTypes<{
    id: StringConstructor;
    min: NumberConstructor;
    max: NumberConstructor;
    step: NumberConstructor;
    marks: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    included: {
        type: BooleanConstructor;
        default: undefined;
    };
    prefixCls: StringConstructor;
    disabled: {
        type: BooleanConstructor;
        default: undefined;
    };
    handle: FunctionConstructor;
    dots: {
        type: BooleanConstructor;
        default: undefined;
    };
    vertical: {
        type: BooleanConstructor;
        default: undefined;
    };
    reverse: {
        type: BooleanConstructor;
        default: undefined;
    };
    minimumTrackStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    maximumTrackStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    handleStyle: VueTypeDef<{
        [key: string]: any;
    } | {
        [key: string]: any;
    }[]>;
    trackStyle: VueTypeDef<{
        [key: string]: any;
    } | {
        [key: string]: any;
    }[]>;
    railStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    dotStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    activeDotStyle: VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    autofocus: {
        type: BooleanConstructor;
        default: undefined;
    };
    draggableTrack: {
        type: BooleanConstructor;
        default: undefined;
    };
}>> & Readonly<{
    onFocus?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    onChange?: ((...args: any[]) => any) | undefined;
}>, {
    reverse: boolean;
    vertical: boolean;
    disabled: boolean;
    autofocus: boolean;
    dots: boolean;
    included: boolean;
    marks: {
        [key: string]: any;
    };
    dotStyle: {
        [key: string]: any;
    };
    activeDotStyle: {
        [key: string]: any;
    };
    railStyle: {
        [key: string]: any;
    };
    minimumTrackStyle: {
        [key: string]: any;
    };
    maximumTrackStyle: {
        [key: string]: any;
    };
    draggableTrack: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
