import { ScrollerSizeT } from './types';
type __VLS_Props = {
    /**
     * 滚动条方向 h：横向 v: 纵向
     */
    direction: 'x' | 'y';
    /**
     * 滚动bar宽度占总宽度
     */
    thumbRate?: number;
    /**
     * 滚动bar滚动位置百分比
     */
    offsetRate: number;
    /**
     * 点击track一次，滚动一屏
     */
    notStepJump?: boolean;
    /**
     * 滚动条尺寸大小
     */
    size: ScrollerSizeT;
};
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        thumb?(_: {
            direction: "x" | "y";
            dragging: boolean;
        }): any;
        track?(_: {
            direction: "x" | "y";
        }): any;
    };
    refs: {
        barRef: HTMLDivElement;
        thumbRef: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
    scroll: (ratio: number) => any;
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
    onScroll?: ((ratio: number) => any) | undefined;
}>, {
    size: ScrollerSizeT;
    direction: "x" | "y";
    offsetRate: number;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    barRef: HTMLDivElement;
    thumbRef: 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;
    };
};
