import { ScrollBarProps, ScrollBarDirection, InternalScrollBarProps } from './interface';
import { DefineComponent, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, CreateComponentPublicInstanceWithMixins, Ref, ShallowRef, GlobalComponents, GlobalDirectives } from 'vue';
declare function handleBarScroll(percent: number): void;
declare const _default: DefineComponent<ScrollBarProps, {
    currentScroll: ComputedRef<number | undefined>;
    scroll: typeof handleBarScroll;
    visible: ComputedRef<boolean>;
    rootElement: ComputedRef<HTMLElement | undefined>;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ScrollBarProps> & Readonly<{}>, {
    disabled: boolean;
    direction: ScrollBarDirection;
    extraSize: number;
    trackSpeed: number;
    barLength: number;
    showTrack: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    barRef: CreateComponentPublicInstanceWithMixins<Readonly< InternalScrollBarProps> & Readonly<{}>, {
        currentScroll: Ref<number, number>;
        container: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        bar: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        track: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        scroll: (percent: number) => void;
    }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, PublicProps, {
        scroll: number;
        disabled: boolean;
        direction: ScrollBarDirection;
        trackSpeed: number;
        barLength: number;
        showTrack: boolean;
    }, false, {}, {}, GlobalComponents, GlobalDirectives, string, {
        container: HTMLDivElement;
        track: HTMLDivElement;
        bar: HTMLDivElement;
    }, HTMLDivElement, ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< InternalScrollBarProps> & Readonly<{}>, {
        currentScroll: Ref<number, number>;
        container: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        bar: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        track: ShallowRef<HTMLElement | undefined, HTMLElement | undefined>;
        scroll: (percent: number) => void;
    }, {}, {}, {}, {
        scroll: number;
        disabled: boolean;
        direction: ScrollBarDirection;
        trackSpeed: number;
        barLength: number;
        showTrack: boolean;
    }> | null;
}, any>;
export default _default;
