export declare const VsScrollbar: import("vuesax-alpha/es/utils").SFCWithInstall<import("vue").DefineComponent<{
    readonly height: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    readonly maxHeight: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    readonly native: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly wrapStyle: import("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
    readonly viewClass: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
    readonly viewStyle: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
    readonly noresize: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly tag: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
    readonly always: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly minSize: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
    readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
}, {
    COMPONENT_NAME: string;
    props: import("@vue/shared").LooseRequired<{
        readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly height: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
        readonly maxHeight: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
        readonly native: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly wrapStyle: import("vue").StyleValue;
        readonly wrapClass: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
        readonly viewClass: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
        readonly viewStyle: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
        readonly tag: string;
        readonly minSize: number;
        readonly thickness: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
        readonly noresize?: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
        readonly onScroll?: ((args_0: import("./src/scrollbar").ScrollEmitParams) => any) | undefined;
    } & {}>;
    emit: (event: "scroll", args_0: import("./src/scrollbar").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("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
            readonly thickness?: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
            readonly ratioY: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
            readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
        }>>, {
            props: import("@vue/shared").LooseRequired<{
                readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
                readonly thickness: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                    readonly vertical?: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly thickness: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly ratioY: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }>> & import("vue").ShallowUnwrapRef<{
        props: import("@vue/shared").LooseRequired<{
            readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly thickness: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                readonly vertical?: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly ratioY: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }, {
        props: import("@vue/shared").LooseRequired<{
            readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
            readonly thickness: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown> | undefined;
                readonly vertical?: import("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly ratioY: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 1, boolean>;
        readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
    }>>, {
        readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
        readonly thickness: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
        readonly ratioX: number;
        readonly ratioY: number;
    }, {}>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    scroll: ({ scrollTop, scrollLeft }: import("./src/scrollbar").ScrollEmitParams) => boolean;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    readonly height: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    readonly maxHeight: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, "", boolean>;
    readonly native: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
    readonly wrapStyle: import("vuesax-alpha/es/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("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
    readonly viewClass: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor], unknown, unknown, "", boolean>;
    readonly viewStyle: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown, "", boolean>;
    readonly noresize: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly tag: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, "div", boolean>;
    readonly always: import("vuesax-alpha/es/utils").VsPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
    readonly minSize: import("vuesax-alpha/es/utils").VsPropFinalized<NumberConstructor, unknown, unknown, 20, boolean>;
    readonly thickness: import("vuesax-alpha/es/utils").VsPropFinalized<readonly [NumberConstructor, StringConstructor], unknown, unknown, 6, boolean>;
}>> & {
    onScroll?: ((args_0: import("./src/scrollbar").ScrollEmitParams) => any) | undefined;
}, {
    readonly always: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
    readonly height: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
    readonly maxHeight: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, NumberConstructor], unknown, unknown>;
    readonly native: import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>;
    readonly wrapStyle: import("vue").StyleValue;
    readonly wrapClass: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
    readonly viewClass: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor], unknown, unknown>;
    readonly viewStyle: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [StringConstructor, ArrayConstructor, ObjectConstructor], unknown, unknown>;
    readonly tag: string;
    readonly minSize: number;
    readonly thickness: import("vuesax-alpha/es/utils").VsPropMergeType<readonly [NumberConstructor, StringConstructor], unknown, unknown>;
}, {}>> & Record<string, any>;
export default VsScrollbar;
export * from './src/util';
export * from './src/scrollbar';
export * from './src/thumb';
