import { nextTick } from 'vue';
import { WheelSlots } from './symbol';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<WheelSlots> & WheelSlots;
    refs: {
        wrapper: HTMLDivElement;
        prevArrow: HTMLDivElement;
        scroll: ({
            $: import('vue').ComponentInternalInstance;
            $data: {};
            $props: Partial<{}> & Omit<{
                readonly inherit?: boolean | undefined;
                readonly onScroll?: ((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[] | undefined;
                readonly onWheel?: ((payload: import('../scroll').BarScrollPayload & {
                    sign: 1 | -1;
                }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                    sign: 1 | -1;
                }) => void)[] | undefined;
                readonly mode?: "horizontal" | "vertical" | "both" | "horizontal-exact" | undefined;
                readonly disabled?: boolean | undefined;
                readonly width?: string | number | undefined;
                readonly onScrollStart?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
                readonly onScrollEnd?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
                readonly wheel?: boolean | undefined;
                readonly onResize?: ((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[] | undefined;
                readonly scrollClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
                readonly scrollStyle?: string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[] | undefined;
                readonly height?: string | number | undefined;
                readonly deltaX?: number | undefined;
                readonly deltaY?: number | undefined;
                readonly pointer?: boolean | undefined;
                readonly scrollX?: number | undefined;
                readonly scrollY?: number | undefined;
                readonly useXBar?: boolean | undefined;
                readonly useYBar?: boolean | undefined;
                readonly barFade?: number | undefined;
                readonly barClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
                readonly autoplay?: number | boolean | undefined;
                readonly playWaiting?: number | undefined;
                readonly noBuffer?: boolean | undefined;
                readonly noTransition?: boolean | undefined;
                readonly useBarTrack?: boolean | undefined;
                readonly scrollTag?: string | undefined;
                readonly onXEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
                readonly onYEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
                readonly onBarScrollStart?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
                readonly onBarScroll?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
                readonly onBarScrollEnd?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
                readonly onReady?: import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[] | undefined;
                readonly scrollAttrs?: Record<string, any> | undefined;
                readonly onBeforeScroll?: ((payload: {
                    signX: number;
                    signY: number;
                }) => boolean) | undefined;
            } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>;
            $attrs: {
                [x: string]: unknown;
            };
            $refs: {
                [x: string]: unknown;
            } & {
                wrapperEl: HTMLDivElement;
                contentEl: unknown;
                xBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                    inherit: import('vue').PropType<boolean>;
                    placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                    scroll: import('vue').PropType<number>;
                    barLength: import('vue').PropType<number>;
                    width: import('vue').PropType<number>;
                    appear: import('vue').PropType<boolean>;
                    fade: import('vue').PropType<number>;
                    barColor: import('vue').PropType<string>;
                    trackColor: import('vue').PropType<string>;
                    disabled: import('vue').PropType<boolean>;
                    wrapper: import('vue').PropType<string | HTMLElement>;
                    duration: import('vue').PropType<number>;
                    useTrack: import('vue').PropType<boolean>;
                    trackSpeed: import('vue').PropType<number>;
                    onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                }>> & Readonly<{}>, {
                    currentScroll: import('vue').Ref<number, number>;
                    container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    handleScroll: (scroll: number) => void;
                }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                    container: HTMLDivElement;
                    track: HTMLDivElement;
                    bar: HTMLDivElement;
                }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                    P: {};
                    B: {};
                    D: {};
                    C: {};
                    M: {};
                    Defaults: {};
                }, Readonly<import('vue').ExtractPropTypes<{
                    inherit: import('vue').PropType<boolean>;
                    placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                    scroll: import('vue').PropType<number>;
                    barLength: import('vue').PropType<number>;
                    width: import('vue').PropType<number>;
                    appear: import('vue').PropType<boolean>;
                    fade: import('vue').PropType<number>;
                    barColor: import('vue').PropType<string>;
                    trackColor: import('vue').PropType<string>;
                    disabled: import('vue').PropType<boolean>;
                    wrapper: import('vue').PropType<string | HTMLElement>;
                    duration: import('vue').PropType<number>;
                    useTrack: import('vue').PropType<boolean>;
                    trackSpeed: import('vue').PropType<number>;
                    onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                }>> & Readonly<{}>, {
                    currentScroll: import('vue').Ref<number, number>;
                    container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    handleScroll: (scroll: number) => void;
                }, {}, {}, {}, {}> | null;
                yBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                    inherit: import('vue').PropType<boolean>;
                    placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                    scroll: import('vue').PropType<number>;
                    barLength: import('vue').PropType<number>;
                    width: import('vue').PropType<number>;
                    appear: import('vue').PropType<boolean>;
                    fade: import('vue').PropType<number>;
                    barColor: import('vue').PropType<string>;
                    trackColor: import('vue').PropType<string>;
                    disabled: import('vue').PropType<boolean>;
                    wrapper: import('vue').PropType<string | HTMLElement>;
                    duration: import('vue').PropType<number>;
                    useTrack: import('vue').PropType<boolean>;
                    trackSpeed: import('vue').PropType<number>;
                    onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                }>> & Readonly<{}>, {
                    currentScroll: import('vue').Ref<number, number>;
                    container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    handleScroll: (scroll: number) => void;
                }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                    container: HTMLDivElement;
                    track: HTMLDivElement;
                    bar: HTMLDivElement;
                }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                    P: {};
                    B: {};
                    D: {};
                    C: {};
                    M: {};
                    Defaults: {};
                }, Readonly<import('vue').ExtractPropTypes<{
                    inherit: import('vue').PropType<boolean>;
                    placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                    scroll: import('vue').PropType<number>;
                    barLength: import('vue').PropType<number>;
                    width: import('vue').PropType<number>;
                    appear: import('vue').PropType<boolean>;
                    fade: import('vue').PropType<number>;
                    barColor: import('vue').PropType<string>;
                    trackColor: import('vue').PropType<string>;
                    disabled: import('vue').PropType<boolean>;
                    wrapper: import('vue').PropType<string | HTMLElement>;
                    duration: import('vue').PropType<number>;
                    useTrack: import('vue').PropType<boolean>;
                    trackSpeed: import('vue').PropType<number>;
                    onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                    onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                }>> & Readonly<{}>, {
                    currentScroll: import('vue').Ref<number, number>;
                    container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                    handleScroll: (scroll: number) => void;
                }, {}, {}, {}, {}> | null;
            };
            $slots: Readonly<{
                [name: string]: import('vue').Slot<any> | undefined;
            }>;
            $root: import('vue').ComponentPublicInstance | null;
            $parent: import('vue').ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: string, ...args: any[]) => void;
            $el: HTMLDivElement;
            $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
                scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
                scrollAttrs: import('vue').PropType<Record<string, any>>;
                mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
                width: import('vue').PropType<string | number>;
                height: import('vue').PropType<string | number>;
                deltaX: import('vue').PropType<number>;
                deltaY: import('vue').PropType<number>;
                disabled: import('vue').PropType<boolean>;
                pointer: import('vue').PropType<boolean>;
                wheel: import('vue').PropType<boolean>;
                scrollX: import('vue').PropType<number>;
                scrollY: import('vue').PropType<number>;
                useXBar: import('vue').PropType<boolean>;
                useYBar: import('vue').PropType<boolean>;
                barFade: import('vue').PropType<number>;
                barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
                autoplay: import('vue').PropType<number | boolean>;
                playWaiting: import('vue').PropType<number>;
                noBuffer: import('vue').PropType<boolean>;
                noTransition: import('vue').PropType<boolean>;
                onBeforeScroll: import('vue').PropType<(payload: {
                    signX: number;
                    signY: number;
                }) => boolean>;
                useBarTrack: import('vue').PropType<boolean>;
                scrollTag: import('vue').PropType<string>;
                onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
                onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
                onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
                onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
                    sign: 1 | -1;
                }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                    sign: 1 | -1;
                }) => void)[]>;
                onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
                onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
                onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
                onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
                onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
                onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
                onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
            }>> & Readonly<{}>, {
                percentX: import('vue').Ref<number, number>;
                percentY: import('vue').Ref<number, number>;
                x: import('vue').Ref<number, number>;
                y: import('vue').Ref<number, number>;
                isReady: import('vue').Ref<boolean, boolean>;
                xBarLength: import('vue').ComputedRef<number>;
                yBarLength: import('vue').ComputedRef<number>;
                enableXScroll: import('vue').ComputedRef<boolean>;
                enableYScroll: import('vue').ComputedRef<boolean>;
                wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
                yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                getXScrollLimit: () => number[];
                getYScrollLimit: () => number[];
                addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
                removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, 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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: typeof nextTick;
            $watch<T extends string | ((...args: any) => 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<{}> & Omit<Readonly<import('vue').ExtractPropTypes<{
            inherit: import('vue').PropType<boolean>;
            scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
            scrollAttrs: import('vue').PropType<Record<string, any>>;
            mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
            width: import('vue').PropType<string | number>;
            height: import('vue').PropType<string | number>;
            deltaX: import('vue').PropType<number>;
            deltaY: import('vue').PropType<number>;
            disabled: import('vue').PropType<boolean>;
            pointer: import('vue').PropType<boolean>;
            wheel: import('vue').PropType<boolean>;
            scrollX: import('vue').PropType<number>;
            scrollY: import('vue').PropType<number>;
            useXBar: import('vue').PropType<boolean>;
            useYBar: import('vue').PropType<boolean>;
            barFade: import('vue').PropType<number>;
            barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            autoplay: import('vue').PropType<number | boolean>;
            playWaiting: import('vue').PropType<number>;
            noBuffer: import('vue').PropType<boolean>;
            noTransition: import('vue').PropType<boolean>;
            onBeforeScroll: import('vue').PropType<(payload: {
                signX: number;
                signY: number;
            }) => boolean>;
            useBarTrack: import('vue').PropType<boolean>;
            scrollTag: import('vue').PropType<string>;
            onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
            onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[]>;
            onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
            onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
        }>> & Readonly<{}>, "refresh" | "content" | "scrollBy" | "scrollTo" | "wrapper" | "percentX" | "percentY" | "isReady" | "x" | "y" | "enableXScroll" | "enableYScroll" | "xBarLength" | "yBarLength" | "scrollToElement" | "ensureInView" | "xBar" | "yBar" | "getXScrollLimit" | "getYScrollLimit" | "addScrollListener" | "removeScrollListener"> & import('vue').ShallowUnwrapRef<{
            percentX: import('vue').Ref<number, number>;
            percentY: import('vue').Ref<number, number>;
            x: import('vue').Ref<number, number>;
            y: import('vue').Ref<number, number>;
            isReady: import('vue').Ref<boolean, boolean>;
            xBarLength: import('vue').ComputedRef<number>;
            yBarLength: import('vue').ComputedRef<number>;
            enableXScroll: import('vue').ComputedRef<boolean>;
            enableYScroll: import('vue').ComputedRef<boolean>;
            wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            refresh: () => Promise<void>;
            scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
            scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
            scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            getXScrollLimit: () => number[];
            getYScrollLimit: () => number[];
            addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
            removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        }> & {} & import('vue').ComponentCustomProperties & {} & {
            $slots: {
                extra?(_: {
                    getState: () => {
                        scrollX: number;
                        scrollY: number;
                        percentX: number;
                        percentY: number;
                        enableXScroll: boolean;
                        enableYScroll: boolean;
                    };
                    refresh: () => Promise<void>;
                    scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                    scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                    scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                    ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                }): any;
                default?(_: {
                    getState: () => {
                        scrollX: number;
                        scrollY: number;
                        percentX: number;
                        percentY: number;
                        enableXScroll: boolean;
                        enableYScroll: boolean;
                    };
                    refresh: () => Promise<void>;
                    scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                    scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                    scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                    ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                }): any;
            };
        }) | null;
        list: HTMLUListElement;
        nextArrow: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
    inherit: import('vue').PropType<boolean>;
    state: import('vue').PropType<"default" | "success" | "error" | "warning">;
    horizontal: import('vue').PropType<boolean>;
    value: import('vue').PropType<string | number>;
    candidate: import('vue').PropType<0 | 1 | 2 | 3>;
    arrow: import('vue').PropType<boolean>;
    pointer: import('vue').PropType<boolean>;
    options: import('vue').PropType<import('./symbol').WheelRawOption[]>;
    insertEmpty: import('vue').PropType<string | boolean>;
    disabled: import('vue').PropType<boolean>;
    loading: import('vue').PropType<boolean>;
    loadingLock: import('vue').PropType<boolean>;
    disabledItem: import('vue').PropType<(value: string | number, data: import('./symbol').WheelRawOption) => boolean>;
    noTransition: import('vue').PropType<boolean>;
    selectable: import('vue').PropType<boolean>;
    slots: import('vue').PropType<WheelSlots>;
    onChange: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onPrev: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onNext: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onItemClick: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
}>, {
    idFor: import('vue').ComputedRef<string | undefined>;
    currentActive: import('vue').Ref<number, number>;
    isInit: import('vue').Ref<boolean, boolean>;
    targetWidth: import('vue').Ref<number, number>;
    targetHeight: import('vue').Ref<number, number>;
    wrapperWidth: import('vue').Ref<number, number>;
    wrapperHeight: import('vue').Ref<number, number>;
    itemList: import('vue').ComputedRef<{
        width: number;
        height: number;
        el?: (HTMLElement | null) | undefined;
        value: number | string;
        disabled: boolean;
        meta: any;
    }[]>;
    wrapper: import('vue').Ref<HTMLElement | null | undefined, HTMLElement | null | undefined>;
    scroll: import('vue').Ref<({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{}> & Omit<{
            readonly inherit?: boolean | undefined;
            readonly onScroll?: ((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[] | undefined;
            readonly onWheel?: ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[] | undefined;
            readonly mode?: "horizontal" | "vertical" | "both" | "horizontal-exact" | undefined;
            readonly disabled?: boolean | undefined;
            readonly width?: string | number | undefined;
            readonly onScrollStart?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly onScrollEnd?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly wheel?: boolean | undefined;
            readonly onResize?: ((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[] | undefined;
            readonly scrollClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly scrollStyle?: string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[] | undefined;
            readonly height?: string | number | undefined;
            readonly deltaX?: number | undefined;
            readonly deltaY?: number | undefined;
            readonly pointer?: boolean | undefined;
            readonly scrollX?: number | undefined;
            readonly scrollY?: number | undefined;
            readonly useXBar?: boolean | undefined;
            readonly useYBar?: boolean | undefined;
            readonly barFade?: number | undefined;
            readonly barClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly autoplay?: number | boolean | undefined;
            readonly playWaiting?: number | undefined;
            readonly noBuffer?: boolean | undefined;
            readonly noTransition?: boolean | undefined;
            readonly useBarTrack?: boolean | undefined;
            readonly scrollTag?: string | undefined;
            readonly onXEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onYEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onBarScrollStart?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScroll?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScrollEnd?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onReady?: import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[] | undefined;
            readonly scrollAttrs?: Record<string, any> | undefined;
            readonly onBeforeScroll?: ((payload: {
                signX: number;
                signY: number;
            }) => boolean) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            wrapperEl: HTMLDivElement;
            contentEl: unknown;
            xBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
            yBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            inherit: import('vue').PropType<boolean>;
            scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
            scrollAttrs: import('vue').PropType<Record<string, any>>;
            mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
            width: import('vue').PropType<string | number>;
            height: import('vue').PropType<string | number>;
            deltaX: import('vue').PropType<number>;
            deltaY: import('vue').PropType<number>;
            disabled: import('vue').PropType<boolean>;
            pointer: import('vue').PropType<boolean>;
            wheel: import('vue').PropType<boolean>;
            scrollX: import('vue').PropType<number>;
            scrollY: import('vue').PropType<number>;
            useXBar: import('vue').PropType<boolean>;
            useYBar: import('vue').PropType<boolean>;
            barFade: import('vue').PropType<number>;
            barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            autoplay: import('vue').PropType<number | boolean>;
            playWaiting: import('vue').PropType<number>;
            noBuffer: import('vue').PropType<boolean>;
            noTransition: import('vue').PropType<boolean>;
            onBeforeScroll: import('vue').PropType<(payload: {
                signX: number;
                signY: number;
            }) => boolean>;
            useBarTrack: import('vue').PropType<boolean>;
            scrollTag: import('vue').PropType<string>;
            onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
            onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[]>;
            onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
            onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
        }>> & Readonly<{}>, {
            percentX: import('vue').Ref<number, number>;
            percentY: import('vue').Ref<number, number>;
            x: import('vue').Ref<number, number>;
            y: import('vue').Ref<number, number>;
            isReady: import('vue').Ref<boolean, boolean>;
            xBarLength: import('vue').ComputedRef<number>;
            yBarLength: import('vue').ComputedRef<number>;
            enableXScroll: import('vue').ComputedRef<boolean>;
            enableYScroll: import('vue').ComputedRef<boolean>;
            wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            refresh: () => Promise<void>;
            scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
            scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
            scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            getXScrollLimit: () => number[];
            getYScrollLimit: () => number[];
            addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
            removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, 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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => 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<{}> & Omit<Readonly<import('vue').ExtractPropTypes<{
        inherit: import('vue').PropType<boolean>;
        scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
        scrollAttrs: import('vue').PropType<Record<string, any>>;
        mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
        width: import('vue').PropType<string | number>;
        height: import('vue').PropType<string | number>;
        deltaX: import('vue').PropType<number>;
        deltaY: import('vue').PropType<number>;
        disabled: import('vue').PropType<boolean>;
        pointer: import('vue').PropType<boolean>;
        wheel: import('vue').PropType<boolean>;
        scrollX: import('vue').PropType<number>;
        scrollY: import('vue').PropType<number>;
        useXBar: import('vue').PropType<boolean>;
        useYBar: import('vue').PropType<boolean>;
        barFade: import('vue').PropType<number>;
        barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        autoplay: import('vue').PropType<number | boolean>;
        playWaiting: import('vue').PropType<number>;
        noBuffer: import('vue').PropType<boolean>;
        noTransition: import('vue').PropType<boolean>;
        onBeforeScroll: import('vue').PropType<(payload: {
            signX: number;
            signY: number;
        }) => boolean>;
        useBarTrack: import('vue').PropType<boolean>;
        scrollTag: import('vue').PropType<string>;
        onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
        onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void) | ((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void)[]>;
        onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
        onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    }>> & Readonly<{}>, "refresh" | "content" | "scrollBy" | "scrollTo" | "wrapper" | "percentX" | "percentY" | "isReady" | "x" | "y" | "enableXScroll" | "enableYScroll" | "xBarLength" | "yBarLength" | "scrollToElement" | "ensureInView" | "xBar" | "yBar" | "getXScrollLimit" | "getYScrollLimit" | "addScrollListener" | "removeScrollListener"> & import('vue').ShallowUnwrapRef<{
        percentX: import('vue').Ref<number, number>;
        percentY: import('vue').Ref<number, number>;
        x: import('vue').Ref<number, number>;
        y: import('vue').Ref<number, number>;
        isReady: import('vue').Ref<boolean, boolean>;
        xBarLength: import('vue').ComputedRef<number>;
        yBarLength: import('vue').ComputedRef<number>;
        enableXScroll: import('vue').ComputedRef<boolean>;
        enableYScroll: import('vue').ComputedRef<boolean>;
        wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        refresh: () => Promise<void>;
        scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
        scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
        scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        getXScrollLimit: () => number[];
        getYScrollLimit: () => number[];
        addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            extra?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
            default?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
        };
    }) | undefined, ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{}> & Omit<{
            readonly inherit?: boolean | undefined;
            readonly onScroll?: ((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[] | undefined;
            readonly onWheel?: ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[] | undefined;
            readonly mode?: "horizontal" | "vertical" | "both" | "horizontal-exact" | undefined;
            readonly disabled?: boolean | undefined;
            readonly width?: string | number | undefined;
            readonly onScrollStart?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly onScrollEnd?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly wheel?: boolean | undefined;
            readonly onResize?: ((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[] | undefined;
            readonly scrollClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly scrollStyle?: string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[] | undefined;
            readonly height?: string | number | undefined;
            readonly deltaX?: number | undefined;
            readonly deltaY?: number | undefined;
            readonly pointer?: boolean | undefined;
            readonly scrollX?: number | undefined;
            readonly scrollY?: number | undefined;
            readonly useXBar?: boolean | undefined;
            readonly useYBar?: boolean | undefined;
            readonly barFade?: number | undefined;
            readonly barClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly autoplay?: number | boolean | undefined;
            readonly playWaiting?: number | undefined;
            readonly noBuffer?: boolean | undefined;
            readonly noTransition?: boolean | undefined;
            readonly useBarTrack?: boolean | undefined;
            readonly scrollTag?: string | undefined;
            readonly onXEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onYEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onBarScrollStart?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScroll?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScrollEnd?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onReady?: import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[] | undefined;
            readonly scrollAttrs?: Record<string, any> | undefined;
            readonly onBeforeScroll?: ((payload: {
                signX: number;
                signY: number;
            }) => boolean) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            wrapperEl: HTMLDivElement;
            contentEl: unknown;
            xBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
            yBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            inherit: import('vue').PropType<boolean>;
            scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
            scrollAttrs: import('vue').PropType<Record<string, any>>;
            mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
            width: import('vue').PropType<string | number>;
            height: import('vue').PropType<string | number>;
            deltaX: import('vue').PropType<number>;
            deltaY: import('vue').PropType<number>;
            disabled: import('vue').PropType<boolean>;
            pointer: import('vue').PropType<boolean>;
            wheel: import('vue').PropType<boolean>;
            scrollX: import('vue').PropType<number>;
            scrollY: import('vue').PropType<number>;
            useXBar: import('vue').PropType<boolean>;
            useYBar: import('vue').PropType<boolean>;
            barFade: import('vue').PropType<number>;
            barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            autoplay: import('vue').PropType<number | boolean>;
            playWaiting: import('vue').PropType<number>;
            noBuffer: import('vue').PropType<boolean>;
            noTransition: import('vue').PropType<boolean>;
            onBeforeScroll: import('vue').PropType<(payload: {
                signX: number;
                signY: number;
            }) => boolean>;
            useBarTrack: import('vue').PropType<boolean>;
            scrollTag: import('vue').PropType<string>;
            onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
            onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[]>;
            onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
            onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
        }>> & Readonly<{}>, {
            percentX: import('vue').Ref<number, number>;
            percentY: import('vue').Ref<number, number>;
            x: import('vue').Ref<number, number>;
            y: import('vue').Ref<number, number>;
            isReady: import('vue').Ref<boolean, boolean>;
            xBarLength: import('vue').ComputedRef<number>;
            yBarLength: import('vue').ComputedRef<number>;
            enableXScroll: import('vue').ComputedRef<boolean>;
            enableYScroll: import('vue').ComputedRef<boolean>;
            wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            refresh: () => Promise<void>;
            scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
            scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
            scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            getXScrollLimit: () => number[];
            getYScrollLimit: () => number[];
            addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
            removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, 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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => 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<{}> & Omit<Readonly<import('vue').ExtractPropTypes<{
        inherit: import('vue').PropType<boolean>;
        scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
        scrollAttrs: import('vue').PropType<Record<string, any>>;
        mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
        width: import('vue').PropType<string | number>;
        height: import('vue').PropType<string | number>;
        deltaX: import('vue').PropType<number>;
        deltaY: import('vue').PropType<number>;
        disabled: import('vue').PropType<boolean>;
        pointer: import('vue').PropType<boolean>;
        wheel: import('vue').PropType<boolean>;
        scrollX: import('vue').PropType<number>;
        scrollY: import('vue').PropType<number>;
        useXBar: import('vue').PropType<boolean>;
        useYBar: import('vue').PropType<boolean>;
        barFade: import('vue').PropType<number>;
        barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        autoplay: import('vue').PropType<number | boolean>;
        playWaiting: import('vue').PropType<number>;
        noBuffer: import('vue').PropType<boolean>;
        noTransition: import('vue').PropType<boolean>;
        onBeforeScroll: import('vue').PropType<(payload: {
            signX: number;
            signY: number;
        }) => boolean>;
        useBarTrack: import('vue').PropType<boolean>;
        scrollTag: import('vue').PropType<string>;
        onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
        onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void) | ((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void)[]>;
        onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
        onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    }>> & Readonly<{}>, "refresh" | "content" | "scrollBy" | "scrollTo" | "wrapper" | "percentX" | "percentY" | "isReady" | "x" | "y" | "enableXScroll" | "enableYScroll" | "xBarLength" | "yBarLength" | "scrollToElement" | "ensureInView" | "xBar" | "yBar" | "getXScrollLimit" | "getYScrollLimit" | "addScrollListener" | "removeScrollListener"> & import('vue').ShallowUnwrapRef<{
        percentX: import('vue').Ref<number, number>;
        percentY: import('vue').Ref<number, number>;
        x: import('vue').Ref<number, number>;
        y: import('vue').Ref<number, number>;
        isReady: import('vue').Ref<boolean, boolean>;
        xBarLength: import('vue').ComputedRef<number>;
        yBarLength: import('vue').ComputedRef<number>;
        enableXScroll: import('vue').ComputedRef<boolean>;
        enableYScroll: import('vue').ComputedRef<boolean>;
        wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        refresh: () => Promise<void>;
        scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
        scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
        scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        getXScrollLimit: () => number[];
        getYScrollLimit: () => number[];
        addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            extra?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
            default?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
        };
    }) | undefined>;
    refreshScroll: () => void;
    focus: (options?: FocusOptions) => void | undefined;
    blur: () => void | undefined;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    "update:value": (...args: any[]) => void;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    inherit: import('vue').PropType<boolean>;
    state: import('vue').PropType<"default" | "success" | "error" | "warning">;
    horizontal: import('vue').PropType<boolean>;
    value: import('vue').PropType<string | number>;
    candidate: import('vue').PropType<0 | 1 | 2 | 3>;
    arrow: import('vue').PropType<boolean>;
    pointer: import('vue').PropType<boolean>;
    options: import('vue').PropType<import('./symbol').WheelRawOption[]>;
    insertEmpty: import('vue').PropType<string | boolean>;
    disabled: import('vue').PropType<boolean>;
    loading: import('vue').PropType<boolean>;
    loadingLock: import('vue').PropType<boolean>;
    disabledItem: import('vue').PropType<(value: string | number, data: import('./symbol').WheelRawOption) => boolean>;
    noTransition: import('vue').PropType<boolean>;
    selectable: import('vue').PropType<boolean>;
    slots: import('vue').PropType<WheelSlots>;
    onChange: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onPrev: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onNext: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
    onItemClick: import('vue').PropType<((value: string | number, data: import('./symbol').WheelRawOption) => void) | ((value: string | number, data: import('./symbol').WheelRawOption) => void)[]>;
}>> & Readonly<{
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
    wrapper: HTMLDivElement;
    prevArrow: HTMLDivElement;
    scroll: ({
        $: import('vue').ComponentInternalInstance;
        $data: {};
        $props: Partial<{}> & Omit<{
            readonly inherit?: boolean | undefined;
            readonly onScroll?: ((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[] | undefined;
            readonly onWheel?: ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[] | undefined;
            readonly mode?: "horizontal" | "vertical" | "both" | "horizontal-exact" | undefined;
            readonly disabled?: boolean | undefined;
            readonly width?: string | number | undefined;
            readonly onScrollStart?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly onScrollEnd?: ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[] | undefined;
            readonly wheel?: boolean | undefined;
            readonly onResize?: ((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[] | undefined;
            readonly scrollClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly scrollStyle?: string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[] | undefined;
            readonly height?: string | number | undefined;
            readonly deltaX?: number | undefined;
            readonly deltaY?: number | undefined;
            readonly pointer?: boolean | undefined;
            readonly scrollX?: number | undefined;
            readonly scrollY?: number | undefined;
            readonly useXBar?: boolean | undefined;
            readonly useYBar?: boolean | undefined;
            readonly barFade?: number | undefined;
            readonly barClass?: string | Record<string, any> | (string | Record<string, any>)[] | undefined;
            readonly autoplay?: number | boolean | undefined;
            readonly playWaiting?: number | undefined;
            readonly noBuffer?: boolean | undefined;
            readonly noTransition?: boolean | undefined;
            readonly useBarTrack?: boolean | undefined;
            readonly scrollTag?: string | undefined;
            readonly onXEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onYEnabledChange?: ((enabled: boolean) => void) | ((enabled: boolean) => void)[] | undefined;
            readonly onBarScrollStart?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScroll?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onBarScrollEnd?: ((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[] | undefined;
            readonly onReady?: import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[] | undefined;
            readonly scrollAttrs?: Record<string, any> | undefined;
            readonly onBeforeScroll?: ((payload: {
                signX: number;
                signY: number;
            }) => boolean) | undefined;
        } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        } & {
            wrapperEl: HTMLDivElement;
            contentEl: unknown;
            xBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
            yBar: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
                container: HTMLDivElement;
                track: HTMLDivElement;
                bar: HTMLDivElement;
            }, HTMLDivElement, import('vue').ComponentProvideOptions, {
                P: {};
                B: {};
                D: {};
                C: {};
                M: {};
                Defaults: {};
            }, Readonly<import('vue').ExtractPropTypes<{
                inherit: import('vue').PropType<boolean>;
                placement: import('vue').PropType<"bottom" | "top" | "right" | "left">;
                scroll: import('vue').PropType<number>;
                barLength: import('vue').PropType<number>;
                width: import('vue').PropType<number>;
                appear: import('vue').PropType<boolean>;
                fade: import('vue').PropType<number>;
                barColor: import('vue').PropType<string>;
                trackColor: import('vue').PropType<string>;
                disabled: import('vue').PropType<boolean>;
                wrapper: import('vue').PropType<string | HTMLElement>;
                duration: import('vue').PropType<number>;
                useTrack: import('vue').PropType<boolean>;
                trackSpeed: import('vue').PropType<number>;
                onScrollStart: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScroll: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
                onScrollEnd: import('vue').PropType<((percent: number) => void) | ((percent: number) => void)[]>;
            }>> & Readonly<{}>, {
                currentScroll: import('vue').Ref<number, number>;
                container: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                bar: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                track: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
                handleScroll: (scroll: number) => void;
            }, {}, {}, {}, {}> | null;
        };
        $slots: Readonly<{
            [name: string]: import('vue').Slot<any> | undefined;
        }>;
        $root: import('vue').ComponentPublicInstance | null;
        $parent: import('vue').ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: string, ...args: any[]) => void;
        $el: HTMLDivElement;
        $options: import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
            inherit: import('vue').PropType<boolean>;
            scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
            scrollAttrs: import('vue').PropType<Record<string, any>>;
            mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
            width: import('vue').PropType<string | number>;
            height: import('vue').PropType<string | number>;
            deltaX: import('vue').PropType<number>;
            deltaY: import('vue').PropType<number>;
            disabled: import('vue').PropType<boolean>;
            pointer: import('vue').PropType<boolean>;
            wheel: import('vue').PropType<boolean>;
            scrollX: import('vue').PropType<number>;
            scrollY: import('vue').PropType<number>;
            useXBar: import('vue').PropType<boolean>;
            useYBar: import('vue').PropType<boolean>;
            barFade: import('vue').PropType<number>;
            barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
            autoplay: import('vue').PropType<number | boolean>;
            playWaiting: import('vue').PropType<number>;
            noBuffer: import('vue').PropType<boolean>;
            noTransition: import('vue').PropType<boolean>;
            onBeforeScroll: import('vue').PropType<(payload: {
                signX: number;
                signY: number;
            }) => boolean>;
            useBarTrack: import('vue').PropType<boolean>;
            scrollTag: import('vue').PropType<string>;
            onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
            onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
            onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void) | ((payload: import('../scroll').BarScrollPayload & {
                sign: 1 | -1;
            }) => void)[]>;
            onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
            onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
            onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
            onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
        }>> & Readonly<{}>, {
            percentX: import('vue').Ref<number, number>;
            percentY: import('vue').Ref<number, number>;
            x: import('vue').Ref<number, number>;
            y: import('vue').Ref<number, number>;
            isReady: import('vue').Ref<boolean, boolean>;
            xBarLength: import('vue').ComputedRef<number>;
            yBarLength: import('vue').ComputedRef<number>;
            enableXScroll: import('vue').ComputedRef<boolean>;
            enableYScroll: import('vue').ComputedRef<boolean>;
            wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
            xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
            refresh: () => Promise<void>;
            scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
            scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
            scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            getXScrollLimit: () => number[];
            getYScrollLimit: () => number[];
            addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
            removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, 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: import('vue').ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: import('vue').ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch<T extends string | ((...args: any) => 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<{}> & Omit<Readonly<import('vue').ExtractPropTypes<{
        inherit: import('vue').PropType<boolean>;
        scrollClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        scrollStyle: import('vue').PropType<string | import('vue').CSSProperties | (string | import('vue').CSSProperties)[]>;
        scrollAttrs: import('vue').PropType<Record<string, any>>;
        mode: import('vue').PropType<"horizontal" | "vertical" | "both" | "horizontal-exact">;
        width: import('vue').PropType<string | number>;
        height: import('vue').PropType<string | number>;
        deltaX: import('vue').PropType<number>;
        deltaY: import('vue').PropType<number>;
        disabled: import('vue').PropType<boolean>;
        pointer: import('vue').PropType<boolean>;
        wheel: import('vue').PropType<boolean>;
        scrollX: import('vue').PropType<number>;
        scrollY: import('vue').PropType<number>;
        useXBar: import('vue').PropType<boolean>;
        useYBar: import('vue').PropType<boolean>;
        barFade: import('vue').PropType<number>;
        barClass: import('vue').PropType<string | Record<string, any> | (string | Record<string, any>)[]>;
        autoplay: import('vue').PropType<number | boolean>;
        playWaiting: import('vue').PropType<number>;
        noBuffer: import('vue').PropType<boolean>;
        noTransition: import('vue').PropType<boolean>;
        onBeforeScroll: import('vue').PropType<(payload: {
            signX: number;
            signY: number;
        }) => boolean>;
        useBarTrack: import('vue').PropType<boolean>;
        scrollTag: import('vue').PropType<string>;
        onResize: import('vue').PropType<((entry: ResizeObserverEntry) => void) | ((entry: ResizeObserverEntry) => void)[]>;
        onXEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onYEnabledChange: import('vue').PropType<((enabled: boolean) => void) | ((enabled: boolean) => void)[]>;
        onWheel: import('vue').PropType<((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void) | ((payload: import('../scroll').BarScrollPayload & {
            sign: 1 | -1;
        }) => void)[]>;
        onScrollStart: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onScroll: import('vue').PropType<((payload: import('../scroll').ScrollPayload) => void) | ((payload: import('../scroll').ScrollPayload) => void)[]>;
        onScrollEnd: import('vue').PropType<((payload: Omit<import('../scroll').ScrollPayload, "type">) => void) | ((payload: Omit<import('../scroll').ScrollPayload, "type">) => void)[]>;
        onBarScrollStart: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScroll: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onBarScrollEnd: import('vue').PropType<((payload: import('../scroll').BarScrollPayload) => void) | ((payload: import('../scroll').BarScrollPayload) => void)[]>;
        onReady: import('vue').PropType<import('@vexip-ui/config').AnyFunction | import('@vexip-ui/config').AnyFunction[]>;
    }>> & Readonly<{}>, "refresh" | "content" | "scrollBy" | "scrollTo" | "wrapper" | "percentX" | "percentY" | "isReady" | "x" | "y" | "enableXScroll" | "enableYScroll" | "xBarLength" | "yBarLength" | "scrollToElement" | "ensureInView" | "xBar" | "yBar" | "getXScrollLimit" | "getYScrollLimit" | "addScrollListener" | "removeScrollListener"> & import('vue').ShallowUnwrapRef<{
        percentX: import('vue').Ref<number, number>;
        percentY: import('vue').Ref<number, number>;
        x: import('vue').Ref<number, number>;
        y: import('vue').Ref<number, number>;
        isReady: import('vue').Ref<boolean, boolean>;
        xBarLength: import('vue').ComputedRef<number>;
        yBarLength: import('vue').ComputedRef<number>;
        enableXScroll: import('vue').ComputedRef<boolean>;
        enableYScroll: import('vue').ComputedRef<boolean>;
        wrapper: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        content: import('vue').Ref<HTMLElement | undefined, HTMLElement | undefined>;
        xBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        yBar: import('vue').Ref<import('..').ScrollbarExposed | undefined, import('..').ScrollbarExposed | undefined>;
        refresh: () => Promise<void>;
        scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
        scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
        scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
        getXScrollLimit: () => number[];
        getYScrollLimit: () => number[];
        addScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
        removeScrollListener: (listener: import('@vexip-ui/utils').EventHandler) => void;
    }> & {} & import('vue').ComponentCustomProperties & {} & {
        $slots: {
            extra?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
            default?(_: {
                getState: () => {
                    scrollX: number;
                    scrollY: number;
                    percentX: number;
                    percentY: number;
                    enableXScroll: boolean;
                    enableYScroll: boolean;
                };
                refresh: () => Promise<void>;
                scrollTo: (clientX: number, clientY: number, duration?: number) => Promise<void>;
                scrollBy: (deltaX: number, deltaY: number, duration?: number) => Promise<void>;
                scrollToElement: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
                ensureInView: (el: string | Element, duration?: number, offset?: number) => Promise<void>;
            }): any;
        };
    }) | null;
    list: HTMLUListElement;
    nextArrow: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
