import { App } from 'vue';
import { default as OScrollbar } from './OScrollbar.vue';
import { useScrollbar } from './use-scrollebar';
import { vScrollbar } from './vScrollbar';
declare const OScroller: {
    new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
        wrapClass: {
            type: import('vue').PropType<string | any[] | object>;
        };
        disabledX: {
            type: BooleanConstructor;
            required: boolean;
        };
        disabledY: {
            type: BooleanConstructor;
        };
        duration: {
            type: NumberConstructor;
            default: number;
        };
        showType: {
            type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
            default: string;
        };
        size: {
            type: import('vue').PropType<import('./types').ScrollerSizeT>;
            default: string;
        };
        autoUpdateOnScrollSize: {
            type: BooleanConstructor;
        };
        barClass: {
            type: StringConstructor;
        };
    }>> & Readonly<{}>, {
        scrollTo: (options?: ScrollToOptions | undefined) => void;
        getContainerEl(): HTMLElement | null;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
        size: "medium" | "small";
        duration: number;
        disabledX: boolean;
        disabledY: boolean;
        showType: "auto" | "always" | "never" | "hover";
        autoUpdateOnScrollSize: boolean;
    }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
        targetRef: HTMLDivElement;
    }, HTMLDivElement, import('vue').ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import('vue').ExtractPropTypes<{
        wrapClass: {
            type: import('vue').PropType<string | any[] | object>;
        };
        disabledX: {
            type: BooleanConstructor;
            required: boolean;
        };
        disabledY: {
            type: BooleanConstructor;
        };
        duration: {
            type: NumberConstructor;
            default: number;
        };
        showType: {
            type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
            default: string;
        };
        size: {
            type: import('vue').PropType<import('./types').ScrollerSizeT>;
            default: string;
        };
        autoUpdateOnScrollSize: {
            type: BooleanConstructor;
        };
        barClass: {
            type: StringConstructor;
        };
    }>> & Readonly<{}>, {
        scrollTo: (options?: ScrollToOptions | undefined) => void;
        getContainerEl(): HTMLElement | null;
    }, {}, {}, {}, {
        size: "medium" | "small";
        duration: number;
        disabledX: boolean;
        disabledY: boolean;
        showType: "auto" | "always" | "never" | "hover";
        autoUpdateOnScrollSize: boolean;
    }>;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
    wrapClass: {
        type: import('vue').PropType<string | any[] | object>;
    };
    disabledX: {
        type: BooleanConstructor;
        required: boolean;
    };
    disabledY: {
        type: BooleanConstructor;
    };
    duration: {
        type: NumberConstructor;
        default: number;
    };
    showType: {
        type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
        default: string;
    };
    size: {
        type: import('vue').PropType<import('./types').ScrollerSizeT>;
        default: string;
    };
    autoUpdateOnScrollSize: {
        type: BooleanConstructor;
    };
    barClass: {
        type: StringConstructor;
    };
}>> & Readonly<{}>, {
    scrollTo: (options?: ScrollToOptions | undefined) => void;
    getContainerEl(): HTMLElement | null;
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
    size: "medium" | "small";
    duration: number;
    disabledX: boolean;
    disabledY: boolean;
    showType: "auto" | "always" | "never" | "hover";
    autoUpdateOnScrollSize: boolean;
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
    $slots: {
        default?(_: {}): any;
        thumb?(_: {}): any;
        track?(_: {}): any;
    };
}) & {
    OScrollbar: {
        new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('vue').ExtractPropTypes<{
            target: {
                type: import('vue').PropType<HTMLElement | import('vue').ComponentPublicInstance | string | null>;
                default: null;
            };
            disabledX: {
                type: BooleanConstructor;
                required: boolean;
            };
            disabledY: {
                type: BooleanConstructor;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            showType: {
                type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
                default: string;
            };
            size: {
                type: import('vue').PropType<import('./types').ScrollerSizeT>;
                default: string;
            };
            autoUpdateOnScrollSize: {
                type: BooleanConstructor;
            };
            barClass: {
                type: StringConstructor;
            };
        }>> & Readonly<{}>, {
            update: () => void;
        }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
            size: "medium" | "small";
            duration: number;
            target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
            disabledX: boolean;
            disabledY: boolean;
            showType: "auto" | "always" | "never" | "hover";
            autoUpdateOnScrollSize: boolean;
        }, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
            rootRef: HTMLDivElement;
        }, HTMLDivElement, import('vue').ComponentProvideOptions, {
            P: {};
            B: {};
            D: {};
            C: {};
            M: {};
            Defaults: {};
        }, Readonly<import('vue').ExtractPropTypes<{
            target: {
                type: import('vue').PropType<HTMLElement | import('vue').ComponentPublicInstance | string | null>;
                default: null;
            };
            disabledX: {
                type: BooleanConstructor;
                required: boolean;
            };
            disabledY: {
                type: BooleanConstructor;
            };
            duration: {
                type: NumberConstructor;
                default: number;
            };
            showType: {
                type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
                default: string;
            };
            size: {
                type: import('vue').PropType<import('./types').ScrollerSizeT>;
                default: string;
            };
            autoUpdateOnScrollSize: {
                type: BooleanConstructor;
            };
            barClass: {
                type: StringConstructor;
            };
        }>> & Readonly<{}>, {
            update: () => void;
        }, {}, {}, {}, {
            size: "medium" | "small";
            duration: number;
            target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
            disabledX: boolean;
            disabledY: boolean;
            showType: "auto" | "always" | "never" | "hover";
            autoUpdateOnScrollSize: boolean;
        }>;
        __isFragment?: never;
        __isTeleport?: never;
        __isSuspense?: never;
    } & import('vue').ComponentOptionsBase<Readonly<import('vue').ExtractPropTypes<{
        target: {
            type: import('vue').PropType<HTMLElement | import('vue').ComponentPublicInstance | string | null>;
            default: null;
        };
        disabledX: {
            type: BooleanConstructor;
            required: boolean;
        };
        disabledY: {
            type: BooleanConstructor;
        };
        duration: {
            type: NumberConstructor;
            default: number;
        };
        showType: {
            type: import('vue').PropType<"auto" | "always" | "hover" | "never">;
            default: string;
        };
        size: {
            type: import('vue').PropType<import('./types').ScrollerSizeT>;
            default: string;
        };
        autoUpdateOnScrollSize: {
            type: BooleanConstructor;
        };
        barClass: {
            type: StringConstructor;
        };
    }>> & Readonly<{}>, {
        update: () => void;
    }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
        size: "medium" | "small";
        duration: number;
        target: string | HTMLElement | import('vue').ComponentPublicInstance | null;
        disabledX: boolean;
        disabledY: boolean;
        showType: "auto" | "always" | "never" | "hover";
        autoUpdateOnScrollSize: boolean;
    }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
        $slots: {
            thumb?(_: {}): any;
            thumb?(_: {}): any;
            track?(_: {}): any;
            track?(_: {}): any;
        };
    });
    install(app: App): void;
};
export { OScroller, OScrollbar, useScrollbar, vScrollbar };
export * from './types';
