declare const _default: import("vue").DefineComponent<{
    readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly width: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly height: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly ratioX: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly ratioY: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
}, {
    props: import("@vue/shared").LooseRequired<{
        readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
        readonly ratioX: number;
        readonly ratioY: number;
        readonly height?: string | undefined;
        readonly width?: string | undefined;
    } & {}>;
    moveX: import("vue").Ref<number>;
    moveY: import("vue").Ref<number>;
    handleScroll: (wrap: HTMLDivElement) => void;
    Thumb: import("vue").DefineComponent<{
        readonly vertical: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly size: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly move: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly ratio: {
            readonly type: import("vue").PropType<number>;
            readonly required: true;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly always: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
    }, {
        COMPONENT_NAME: string;
        props: import("@vue/shared").LooseRequired<{
            readonly ratio: number;
            readonly size?: string | undefined;
            readonly move?: number | undefined;
            readonly always?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly vertical?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
        } & {}>;
        scrollbar: import("../../..").ScrollbarContext;
        ns: {
            namespace: import("vue").ComputedRef<string>;
            b: (blockSuffix?: string) => string;
            e: (element?: string | undefined) => string;
            m: (modifier?: string | undefined) => string;
            be: (blockSuffix?: string | undefined, element?: string | undefined) => string;
            em: (element?: string | undefined, modifier?: string | undefined) => string;
            bm: (blockSuffix?: string | undefined, modifier?: string | undefined) => string;
            bem: (blockSuffix?: string | undefined, element?: string | undefined, modifier?: string | undefined) => string;
            is: {
                (name: string, state: boolean | undefined): string;
                (name: string): string;
            };
            cssVar: (object: Record<string, string>) => Record<string, string>;
            cssVarName: (name: string) => string;
            cssVarBlock: (object: Record<string, string>) => Record<string, string>;
            cssVarBlockName: (name: string) => string;
        };
        instance: import("vue").Ref<HTMLDivElement | undefined>;
        thumb: import("vue").Ref<HTMLDivElement | undefined>;
        thumbState: import("vue").Ref<{
            X?: number | undefined;
            Y?: number | undefined;
        }>;
        visible: import("vue").Ref<boolean>;
        cursorDown: boolean;
        cursorLeave: boolean;
        originalOnSelectStart: ((this: GlobalEventHandlers, ev: Event) => any) | null;
        bar: import("vue").ComputedRef<{
            readonly offset: "offsetHeight";
            readonly scroll: "scrollTop";
            readonly scrollSize: "scrollHeight";
            readonly size: "height";
            readonly key: "vertical";
            readonly axis: "Y";
            readonly client: "clientY";
            readonly direction: "top";
        } | {
            readonly offset: "offsetWidth";
            readonly scroll: "scrollLeft";
            readonly scrollSize: "scrollWidth";
            readonly size: "width";
            readonly key: "horizontal";
            readonly axis: "X";
            readonly client: "clientX";
            readonly direction: "left";
        }>;
        thumbStyle: import("vue").ComputedRef<import("vue").CSSProperties>;
        offsetRatio: import("vue").ComputedRef<number>;
        clickThumbHandler: (e: MouseEvent) => void;
        clickTrackHandler: (e: MouseEvent) => void;
        startDrag: (e: MouseEvent) => void;
        mouseMoveDocumentHandler: (e: MouseEvent) => void;
        mouseUpDocumentHandler: () => void;
        mouseMoveScrollbarHandler: () => void;
        mouseLeaveScrollbarHandler: () => void;
        restoreOnselectstart: () => void;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        readonly vertical: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly size: {
            readonly type: import("vue").PropType<string>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly move: {
            readonly type: import("vue").PropType<number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly ratio: {
            readonly type: import("vue").PropType<number>;
            readonly required: true;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly always: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
    }>>, {}, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly width: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly height: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly ratioX: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly ratioY: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
    readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
}>>, {
    readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
    readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
    readonly ratioX: number;
    readonly ratioY: number;
}, {}>;
export default _default;
