import { CSSProperties, StyleValue, DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { ScrollbarDirection, ScrollbarProps, ScrollbarScrollPayload } from './scrollbar.js';
declare function handleScroll(): void;
declare function update(): void;
declare function scrollTo(x: number, y?: number): void;
declare function scrollTo(options: ScrollToOptions): void;
declare function setScrollTop(value: number): void;
declare function setScrollLeft(value: number): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
    };
    refs: {
        scrollbarRef: HTMLDivElement;
        wrapRef: HTMLDivElement;
        viewRef: unknown;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ScrollbarProps, {
    wrapRef: Ref<HTMLDivElement | null, HTMLDivElement | null>;
    update: typeof update;
    scrollTo: typeof scrollTo;
    setScrollTop: typeof setScrollTop;
    setScrollLeft: typeof setScrollLeft;
    handleScroll: typeof handleScroll;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    scroll: (payload: ScrollbarScrollPayload) => any;
    endReached: (direction: ScrollbarDirection) => any;
}, string, PublicProps, Readonly<ScrollbarProps> & Readonly<{
    onScroll?: ((payload: ScrollbarScrollPayload) => any) | undefined;
    onEndReached?: ((direction: ScrollbarDirection) => any) | undefined;
}>, {
    id: string;
    height: number | string;
    tag: string;
    role: string;
    maxHeight: number | string;
    always: boolean;
    tabindex: number | string;
    ariaLabel: string;
    distance: number;
    native: boolean;
    wrapStyle: string | false | CSSProperties | StyleValue[] | null;
    wrapClass: string | string[];
    viewClass: string | string[];
    viewStyle: string | false | CSSProperties | StyleValue[] | null;
    noresize: boolean;
    minSize: number;
    ariaOrientation: "horizontal" | "vertical" | "undefined";
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    scrollbarRef: HTMLDivElement;
    wrapRef: HTMLDivElement;
    viewRef: unknown;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
