import { Ref, ComponentPublicInstance } from 'vue'; import { ScrollbarPropsT } from './types'; interface UseScrollbarOptions extends Partial> { wrapper?: Ref | HTMLElement | string; target: Ref | HTMLElement | string; } export declare function useScrollbar(options: UseScrollbarOptions): { scrollbar: { $: import('vue').ComponentInternalInstance; $data: {}; $props: Partial<{ size: "medium" | "small"; duration: number; target: string | HTMLElement | ComponentPublicInstance | null; disabledX: boolean; disabledY: boolean; showType: "auto" | "always" | "never" | "hover"; autoUpdateOnScrollSize: boolean; }> & Omit<{ readonly size: "medium" | "small"; readonly duration: number; readonly target: string | HTMLElement | ComponentPublicInstance | null; readonly disabledX: boolean; readonly disabledY: boolean; readonly showType: "auto" | "always" | "never" | "hover"; readonly autoUpdateOnScrollSize: boolean; readonly barClass?: string | { [k: string]: boolean; } | (string | { [k: string]: boolean; })[] | undefined; } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "size" | "duration" | "target" | "disabledX" | "disabledY" | "showType" | "autoUpdateOnScrollSize">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; } & { rootRef: HTMLDivElement; }; $slots: Readonly<{ [name: string]: import('vue').Slot | undefined; }>; $root: ComponentPublicInstance | null; $parent: ComponentPublicInstance | null; $host: Element | null; $emit: (event: string, ...args: any[]) => void; $el: HTMLDivElement; $options: import('vue').ComponentOptionsBase; default: null; }; disabledX: { type: BooleanConstructor; required: false; }; disabledY: { type: BooleanConstructor; }; duration: { type: NumberConstructor; default: number; }; showType: { type: import('vue').PropType<"auto" | "always" | "hover" | "never">; default: string; }; size: { type: import('vue').PropType; default: string; }; autoUpdateOnScrollSize: { type: BooleanConstructor; }; barClass: { type: import('vue').PropType>; }; }>> & Readonly<{}>, { update: () => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, { size: "medium" | "small"; duration: number; target: string | HTMLElement | ComponentPublicInstance | null; disabledX: boolean; disabledY: boolean; showType: "auto" | "always" | "never" | "hover"; autoUpdateOnScrollSize: boolean; }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & { beforeCreate?: (() => void) | (() => void)[]; created?: (() => void) | (() => void)[]; beforeMount?: (() => void) | (() => void)[]; mounted?: (() => void) | (() => void)[]; beforeUpdate?: (() => void) | (() => void)[]; updated?: (() => void) | (() => void)[]; activated?: (() => void) | (() => void)[]; deactivated?: (() => void) | (() => void)[]; beforeDestroy?: (() => void) | (() => void)[]; beforeUnmount?: (() => void) | (() => void)[]; destroyed?: (() => void) | (() => void)[]; unmounted?: (() => void) | (() => void)[]; renderTracked?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; renderTriggered?: ((e: import('vue').DebuggerEvent) => void) | ((e: import('vue').DebuggerEvent) => void)[]; errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[]; }; $forceUpdate: () => void; $nextTick: typeof import('vue').nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, import('@vue/reactivity').OnCleanup]) => any : (...args: [any, any, import('@vue/reactivity').OnCleanup]) => any, options?: import('vue').WatchOptions): import('vue').WatchStopHandle; } & Readonly<{ size: "medium" | "small"; duration: number; target: string | HTMLElement | ComponentPublicInstance | null; disabledX: boolean; disabledY: boolean; showType: "auto" | "always" | "never" | "hover"; autoUpdateOnScrollSize: boolean; }> & Omit; default: null; }; disabledX: { type: BooleanConstructor; required: false; }; disabledY: { type: BooleanConstructor; }; duration: { type: NumberConstructor; default: number; }; showType: { type: import('vue').PropType<"auto" | "always" | "hover" | "never">; default: string; }; size: { type: import('vue').PropType; default: string; }; autoUpdateOnScrollSize: { type: BooleanConstructor; }; barClass: { type: import('vue').PropType>; }; }>> & Readonly<{}>, "update" | ("size" | "duration" | "target" | "disabledX" | "disabledY" | "showType" | "autoUpdateOnScrollSize")> & import('vue').ShallowUnwrapRef<{ update: () => void; }> & {} & import('vue').ComponentCustomProperties & {} & { $slots: { thumb?(_: {}): any; thumb?(_: {}): any; track?(_: {}): any; track?(_: {}): any; }; }; unmount: () => void; }; export {};