import * as vue_demi from 'vue-demi'; import { ShallowRef, PropType, VNode, Directive } from 'vue-demi'; import * as smooth_scrollbar_interfaces from 'smooth-scrollbar/interfaces'; import { ScrollbarOptions as ScrollbarOptions$1 } from 'smooth-scrollbar/interfaces'; import SmoothScrollbar from 'smooth-scrollbar'; type ScrollbarOptions = Partial; interface MountedEmitPayload { target: TargetRefOrShallowRef; scrollbar: SmoothScrollbar; } type MaybeRefOrShallowRef = ShallowRef; type TargetRefOrShallowRef = MaybeRefOrShallowRef; declare const Scrollbar: { new (...args: any[]): { $: vue_demi.ComponentInternalInstance; $data: {}; $props: Partial<{ as: string; }> & Omit; default: string; required: false; }; scrollbarOptions: { type: PropType>; required: false; }; }>> & { onMounted?: ((payload: MountedEmitPayload) => any) | undefined; } & vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps, "as">; $attrs: { [x: string]: unknown; }; $refs: { [x: string]: unknown; }; $slots: Readonly<{ [name: string]: vue_demi.Slot | undefined; }>; $root: vue_demi.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue_demi.ComponentOptionsBase, {}> | null; $parent: vue_demi.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue_demi.ComponentOptionsBase, {}> | null; $emit: (event: "mounted", payload: MountedEmitPayload) => void; $el: any; $options: vue_demi.ComponentOptionsBase; default: string; required: false; }; scrollbarOptions: { type: PropType>; required: false; }; }>> & { onMounted?: ((payload: MountedEmitPayload) => any) | undefined; }, () => VNode, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, { mounted: (payload: MountedEmitPayload) => true; }, string, { as: string; }, {}, 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: vue_demi.DebuggerEvent) => void) | ((e: vue_demi.DebuggerEvent) => void)[]) | undefined; renderTriggered?: (((e: vue_demi.DebuggerEvent) => void) | ((e: vue_demi.DebuggerEvent) => void)[]) | undefined; errorCaptured?: (((err: unknown, instance: vue_demi.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue_demi.ComponentOptionsBase, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue_demi.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue_demi.ComponentOptionsBase, {}> | null, info: string) => boolean | void)[]) | undefined; }; $forceUpdate: () => void; $nextTick: typeof vue_demi.nextTick; $watch any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue_demi.WatchOptions | undefined): vue_demi.WatchStopHandle; } & Readonly; default: string; required: false; }; scrollbarOptions: { type: PropType>; required: false; }; }>> & { onMounted?: ((payload: MountedEmitPayload) => any) | undefined; } & vue_demi.ShallowUnwrapRef<() => VNode> & {} & vue_demi.ComponentCustomProperties & {}; __isFragment?: undefined; __isTeleport?: undefined; __isSuspense?: undefined; } & vue_demi.ComponentOptionsBase; default: string; required: false; }; scrollbarOptions: { type: PropType>; required: false; }; }>> & { onMounted?: ((payload: MountedEmitPayload) => any) | undefined; }, () => VNode, unknown, {}, {}, vue_demi.ComponentOptionsMixin, vue_demi.ComponentOptionsMixin, { mounted: (payload: MountedEmitPayload) => true; }, string, { as: string; }, {}, string> & vue_demi.VNodeProps & vue_demi.AllowedComponentProps & vue_demi.ComponentCustomProps & (new () => { scrollbar: SmoothScrollbar; $slots: { default: () => VNode[]; }; }); /** * Create `smooth-scrollbar` with composable and watch for `target` changes */ declare function useScrollbar(target: TargetRefOrShallowRef, options?: ScrollbarOptions): vue_demi.ShallowRef; /** * Inject `smooth-scrollbar` instance from context */ declare function useScrollbarInject(): ShallowRef; /** * Vue directive for `smooth-scrollbar` */ declare const vScrollbar: Directive; export { MountedEmitPayload, Scrollbar, ScrollbarOptions, useScrollbar, useScrollbarInject, vScrollbar };