import type { ScrollEmitParams } from 'vuesax-alpha/es/components/scrollbar';
declare const _default: import("vue").DefineComponent<{}, {
    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;
    };
    scrollbarRef: import("vue").Ref<({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            readonly always?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly height?: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
            readonly maxHeight?: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown> | undefined;
            readonly native?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly wrapStyle?: import("vue").StyleValue | undefined;
            readonly wrapClass?: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown> | undefined;
            readonly viewClass?: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown> | undefined;
            readonly viewStyle?: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown> | undefined;
            readonly tag?: string | undefined;
            readonly minSize?: number | undefined;
            readonly thickness?: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown> | undefined;
            key?: string | number | symbol | undefined;
            style?: unknown;
            readonly noresize?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
            ref?: import("vue").VNodeRef | undefined;
            ref_for?: boolean | undefined;
            ref_key?: string | undefined;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[] | undefined;
            class?: unknown;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
        $emit: (event: "scroll", args_0: ScrollEmitParams) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            readonly height: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
            readonly maxHeight: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
            readonly native: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
            readonly wrapStyle: import("../../../utils").VsPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, "", boolean>;
            readonly wrapClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
            readonly viewClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
            readonly viewStyle: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
            readonly noresize: {
                readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
                readonly required: false;
                readonly validator: ((val: unknown) => boolean) | undefined;
                __vsPropKey: true;
            };
            readonly tag: import("../../../utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
            readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
            readonly minSize: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
            readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
        }>> & {
            onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
        }, {
            COMPONENT_NAME: string;
            props: import("@vue/shared").LooseRequired<{
                readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                readonly height: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
                readonly maxHeight: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
                readonly native: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                readonly wrapStyle: import("vue").StyleValue;
                readonly wrapClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
                readonly viewClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
                readonly viewStyle: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
                readonly tag: string;
                readonly minSize: number;
                readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
                readonly noresize?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                readonly onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
            } & {}>;
            emit: (event: "scroll", args_0: ScrollEmitParams) => void;
            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;
            };
            stopResizeObserver: (() => void) | undefined;
            stopResizeListener: (() => void) | undefined;
            scrollbarRef: import("vue").Ref<HTMLDivElement | undefined>;
            wrapRef: import("vue").Ref<HTMLDivElement | undefined>;
            resizeRef: import("vue").Ref<HTMLElement | undefined>;
            sizeWidth: import("vue").Ref<string>;
            sizeHeight: import("vue").Ref<string>;
            barRef: import("vue").Ref<({
                $: import("vue").ComponentInternalInstance;
                $data: {};
                $props: {
                    readonly always?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                    readonly thickness?: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown> | undefined;
                    readonly ratioX?: number | undefined;
                    readonly ratioY?: number | undefined;
                    key?: string | number | symbol | undefined;
                    style?: unknown;
                    readonly height?: string | undefined;
                    readonly width?: string | undefined;
                    ref?: import("vue").VNodeRef | undefined;
                    ref_for?: boolean | undefined;
                    ref_key?: string | undefined;
                    onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                        [key: string]: any;
                    }>) => void)[] | undefined;
                    class?: unknown;
                };
                $attrs: {
                    [x: string]: unknown;
                };
                $refs: {
                    [x: string]: unknown;
                };
                $slots: Readonly<{
                    [name: string]: import("vue").Slot<any> | undefined;
                }>;
                $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
                $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
                $emit: (event: string, ...args: any[]) => void;
                $el: any;
                $options: import("vue").ComponentOptionsBase<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>;
                }>>, {
                    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, {
                    readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                    readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
                    readonly ratioX: number;
                    readonly ratioY: number;
                }, {}, string, {}> & {
                    beforeCreate?: ((() => void) | (() => void)[]) | undefined;
                    created?: ((() => void) | (() => void)[]) | undefined;
                    beforeMount?: ((() => void) | (() => void)[]) | undefined;
                    mounted?: ((() => void) | (() => void)[]) | undefined;
                    beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
                    updated?: ((() => void) | (() => void)[]) | undefined;
                    activated?: ((() => void) | (() => void)[]) | undefined;
                    deactivated?: ((() => void) | (() => void)[]) | undefined;
                    beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
                    beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
                    destroyed?: ((() => void) | (() => void)[]) | undefined;
                    unmounted?: ((() => void) | (() => void)[]) | undefined;
                    renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                    renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                    errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
                };
                $forceUpdate: () => void;
                $nextTick: typeof import("vue").nextTick;
                $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
            } & 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>;
            }>> & import("vue").ShallowUnwrapRef<{
                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;
                    };
                }>>, {}, {}>;
            }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
            ratioY: import("vue").Ref<number>;
            ratioX: import("vue").Ref<number>;
            style: import("vue").ComputedRef<import("vue").StyleValue>;
            wrapKls: import("vue").ComputedRef<(string | unknown[] | {
                [x: string]: boolean;
            })[]>;
            resizeKls: import("vue").ComputedRef<import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>[]>;
            handleScroll: () => void;
            scrollTo: (arg1: unknown, arg2?: number | undefined) => void;
            setScrollTop: (value: number) => void;
            setScrollLeft: (value: number) => void;
            update: () => void;
            Bar: 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;
            }, {}>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            scroll: ({ scrollTop, scrollLeft }: ScrollEmitParams) => boolean;
        }, string, {
            readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly height: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly maxHeight: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly native: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly wrapStyle: import("vue").StyleValue;
            readonly wrapClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewStyle: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
            readonly tag: string;
            readonly minSize: number;
            readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
        }, {}, string, {}> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        readonly height: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly maxHeight: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly native: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly wrapStyle: import("../../../utils").VsPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, "", boolean>;
        readonly wrapClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewStyle: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
        readonly noresize: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly tag: import("../../../utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
        readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly minSize: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
        readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }>> & {
        onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<{
        COMPONENT_NAME: string;
        props: import("@vue/shared").LooseRequired<{
            readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly height: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly maxHeight: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly native: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly wrapStyle: import("vue").StyleValue;
            readonly wrapClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewStyle: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
            readonly tag: string;
            readonly minSize: number;
            readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
            readonly noresize?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
        } & {}>;
        emit: (event: "scroll", args_0: ScrollEmitParams) => void;
        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;
        };
        stopResizeObserver: (() => void) | undefined;
        stopResizeListener: (() => void) | undefined;
        scrollbarRef: import("vue").Ref<HTMLDivElement | undefined>;
        wrapRef: import("vue").Ref<HTMLDivElement | undefined>;
        resizeRef: import("vue").Ref<HTMLElement | undefined>;
        sizeWidth: import("vue").Ref<string>;
        sizeHeight: import("vue").Ref<string>;
        barRef: import("vue").Ref<({
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: {
                readonly always?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                readonly thickness?: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown> | undefined;
                readonly ratioX?: number | undefined;
                readonly ratioY?: number | undefined;
                key?: string | number | symbol | undefined;
                style?: unknown;
                readonly height?: string | undefined;
                readonly width?: string | undefined;
                ref?: import("vue").VNodeRef | undefined;
                ref_for?: boolean | undefined;
                ref_key?: string | undefined;
                onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                class?: unknown;
            };
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
            $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import("vue").ComponentOptionsBase<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>;
            }>>, {
                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, {
                readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
                readonly ratioX: number;
                readonly ratioY: number;
            }, {}, string, {}> & {
                beforeCreate?: ((() => void) | (() => void)[]) | undefined;
                created?: ((() => void) | (() => void)[]) | undefined;
                beforeMount?: ((() => void) | (() => void)[]) | undefined;
                mounted?: ((() => void) | (() => void)[]) | undefined;
                beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
                updated?: ((() => void) | (() => void)[]) | undefined;
                activated?: ((() => void) | (() => void)[]) | undefined;
                deactivated?: ((() => void) | (() => void)[]) | undefined;
                beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
                beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
                destroyed?: ((() => void) | (() => void)[]) | undefined;
                unmounted?: ((() => void) | (() => void)[]) | undefined;
                renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
            };
            $forceUpdate: () => void;
            $nextTick: typeof import("vue").nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
        } & 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>;
        }>> & import("vue").ShallowUnwrapRef<{
            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;
                };
            }>>, {}, {}>;
        }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
        ratioY: import("vue").Ref<number>;
        ratioX: import("vue").Ref<number>;
        style: import("vue").ComputedRef<import("vue").StyleValue>;
        wrapKls: import("vue").ComputedRef<(string | unknown[] | {
            [x: string]: boolean;
        })[]>;
        resizeKls: import("vue").ComputedRef<import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>[]>;
        handleScroll: () => void;
        scrollTo: (arg1: unknown, arg2?: number | undefined) => void;
        setScrollTop: (value: number) => void;
        setScrollLeft: (value: number) => void;
        update: () => void;
        Bar: 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;
        }, {}>;
    }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
    scrollbar: import("vue").Ref<{
        scrollTop: number;
        scrollLeft: number;
    }>;
    handleScrollbar: ({ scrollTop, scrollLeft }: ScrollEmitParams) => void;
    handleClickNexticon: () => void;
    handleClickPrevicon: () => void;
    readonly IconArrow: import("../../../utils").SFCWithInstall<import("vue").DefineComponent<{
        readonly less: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
    }, {
        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;
        };
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        readonly less: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
    }>>, {}, {}>> & Record<string, any>;
    readonly VsScrollbar: import("../../../utils").SFCWithInstall<import("vue").DefineComponent<{
        readonly height: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly maxHeight: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly native: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly wrapStyle: import("../../../utils").VsPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, "", boolean>;
        readonly wrapClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewStyle: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
        readonly noresize: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly tag: import("../../../utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
        readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly minSize: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
        readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }, {
        COMPONENT_NAME: string;
        props: import("@vue/shared").LooseRequired<{
            readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly height: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly maxHeight: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
            readonly native: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly wrapStyle: import("vue").StyleValue;
            readonly wrapClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
            readonly viewStyle: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
            readonly tag: string;
            readonly minSize: number;
            readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
            readonly noresize?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
        } & {}>;
        emit: (event: "scroll", args_0: ScrollEmitParams) => void;
        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;
        };
        stopResizeObserver: (() => void) | undefined;
        stopResizeListener: (() => void) | undefined;
        scrollbarRef: import("vue").Ref<HTMLDivElement | undefined>;
        wrapRef: import("vue").Ref<HTMLDivElement | undefined>;
        resizeRef: import("vue").Ref<HTMLElement | undefined>;
        sizeWidth: import("vue").Ref<string>;
        sizeHeight: import("vue").Ref<string>;
        barRef: import("vue").Ref<({
            $: import("vue").ComponentInternalInstance;
            $data: {};
            $props: {
                readonly always?: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                readonly thickness?: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown> | undefined;
                readonly ratioX?: number | undefined;
                readonly ratioY?: number | undefined;
                key?: string | number | symbol | undefined;
                style?: unknown;
                readonly height?: string | undefined;
                readonly width?: string | undefined;
                ref?: import("vue").VNodeRef | undefined;
                ref_for?: boolean | undefined;
                ref_key?: string | undefined;
                onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                    [key: string]: any;
                }>) => void)[] | undefined;
                class?: unknown;
            };
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
            $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: any;
            $options: import("vue").ComponentOptionsBase<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>;
            }>>, {
                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, {
                readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
                readonly ratioX: number;
                readonly ratioY: number;
            }, {}, string, {}> & {
                beforeCreate?: ((() => void) | (() => void)[]) | undefined;
                created?: ((() => void) | (() => void)[]) | undefined;
                beforeMount?: ((() => void) | (() => void)[]) | undefined;
                mounted?: ((() => void) | (() => void)[]) | undefined;
                beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
                updated?: ((() => void) | (() => void)[]) | undefined;
                activated?: ((() => void) | (() => void)[]) | undefined;
                deactivated?: ((() => void) | (() => void)[]) | undefined;
                beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
                beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
                destroyed?: ((() => void) | (() => void)[]) | undefined;
                unmounted?: ((() => void) | (() => void)[]) | undefined;
                renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
                errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
            };
            $forceUpdate: () => void;
            $nextTick: typeof import("vue").nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
        } & 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>;
        }>> & import("vue").ShallowUnwrapRef<{
            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;
                };
            }>>, {}, {}>;
        }> & {} & import("vue").ComponentCustomProperties & {}) | undefined>;
        ratioY: import("vue").Ref<number>;
        ratioX: import("vue").Ref<number>;
        style: import("vue").ComputedRef<import("vue").StyleValue>;
        wrapKls: import("vue").ComputedRef<(string | unknown[] | {
            [x: string]: boolean;
        })[]>;
        resizeKls: import("vue").ComputedRef<import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>[]>;
        handleScroll: () => void;
        scrollTo: (arg1: unknown, arg2?: number | undefined) => void;
        setScrollTop: (value: number) => void;
        setScrollLeft: (value: number) => void;
        update: () => void;
        Bar: 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;
        }, {}>;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        scroll: ({ scrollTop, scrollLeft }: ScrollEmitParams) => boolean;
    }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
        readonly height: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly maxHeight: import("../../../utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
        readonly native: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
        readonly wrapStyle: import("../../../utils").VsPropFinalized<(new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue) | ((new (...args: any[]) => import("vue").StyleValue & {}) | (() => import("vue").StyleValue))[], unknown, unknown, "", boolean>;
        readonly wrapClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewClass: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
        readonly viewStyle: import("../../../utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
        readonly noresize: {
            readonly type: import("vue").PropType<import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __vsPropKey: true;
        };
        readonly tag: import("../../../utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
        readonly always: import("../../../utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
        readonly minSize: import("../../../utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
        readonly thickness: import("../../../utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }>> & {
        onScroll?: ((args_0: ScrollEmitParams) => any) | undefined;
    }, {
        readonly always: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly height: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
        readonly maxHeight: import("../../../utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
        readonly native: import("../../../utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly wrapStyle: import("vue").StyleValue;
        readonly wrapClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
        readonly viewClass: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
        readonly viewStyle: import("../../../utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
        readonly tag: string;
        readonly minSize: number;
        readonly thickness: import("../../../utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
    }, {}>> & Record<string, any>;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
export default _default;
