import type { Arrayable } from 'hongluan-ui/es/utils';
import type { ExtractPropTypes } from 'vue';
import type { SliderMarkerProps } from './marker';
import type Slider from './slider.vue';
declare type SliderMarks = Record<number, string | SliderMarkerProps['mark']>;
export interface SliderInitData {
    firstValue: number;
    secondValue: number;
    oldValue?: Arrayable<number>;
    dragging: boolean;
    sliderSize: number;
}
export declare const sliderProps: {
    readonly ariaLabel: StringConstructor;
    readonly type: StringConstructor;
    readonly modelValue: import("hongluan-ui/es/utils").EpPropFinalized<import("vue").PropType<Arrayable<number>>, unknown, unknown, 0, boolean>;
    readonly id: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly min: import("hongluan-ui/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
    readonly max: import("hongluan-ui/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 100, boolean>;
    readonly step: import("hongluan-ui/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly showStops: BooleanConstructor;
    readonly showTooltip: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly formatTooltip: {
        readonly type: import("vue").PropType<(val: number) => number | string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly disabled: BooleanConstructor;
    readonly range: BooleanConstructor;
    readonly vertical: BooleanConstructor;
    readonly height: StringConstructor;
    readonly debounce: import("hongluan-ui/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 300, boolean>;
    readonly label: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly rangeStartLabel: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly rangeEndLabel: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly formatValueText: {
        readonly type: import("vue").PropType<(val: number) => string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly tooltipClass: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly marks: {
        readonly type: import("vue").PropType<SliderMarks>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    readonly placement: import("hongluan-ui/es/utils").EpPropFinalized<StringConstructor, import("@popperjs/core").Placement, unknown, "top", boolean>;
    readonly validateEvent: import("hongluan-ui/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
};
export declare type SliderProps = ExtractPropTypes<typeof sliderProps>;
export declare const sliderEmits: {
    "update:modelValue": (value: Arrayable<number>) => boolean;
    input: (value: Arrayable<number>) => boolean;
    change: (value: Arrayable<number>) => boolean;
};
export declare type SliderEmits = typeof sliderEmits;
export declare type SliderInstance = InstanceType<typeof Slider>;
export {};
