import { CSSProperties, VNode } from 'vue'; export interface Props { contentClass?: string; contentStyle?: CSSProperties; size?: number; trigger?: 'hover' | 'none'; autoHide?: boolean; delay?: number; xScrollable?: boolean; yScrollable?: boolean; xPlacement?: 'top' | 'bottom'; yPlacement?: 'left' | 'right'; } export interface ScrollbarSlots { default?: () => VNode[]; } export type ScrollDirection = 'left' | 'right' | 'top' | 'bottom'; export interface ScrollbarScrollData { scrollTop: number; scrollLeft: number; scrollWidth: number; scrollHeight: number; clientWidth: number; clientHeight: number; } export interface ScrollbarExpose { scrollTo(options: ScrollToOptions): void; scrollTo(left: number, top: number): void; scrollBy(options: ScrollToOptions): void; scrollBy(left: number, top: number): void; getScrollData(): ScrollbarScrollData; scrollElement: HTMLElement | null; } declare function scrollTo(options: ScrollToOptions): void; declare function scrollTo(left: number, top: number): void; declare function scrollBy(options: ScrollToOptions): void; declare function scrollBy(left: number, top: number): void; declare function getScrollData(): ScrollbarScrollData; declare function __VLS_template(): { attrs: Partial<{}>; slots: Readonly & ScrollbarSlots; refs: { containerRef: HTMLDivElement; contentRef: HTMLDivElement; verticalRailRef: HTMLDivElement; horizontalRailRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { scroll: (e: Event, direction: ScrollDirection) => any; scrollend: (e: Event, direction: ScrollDirection) => any; }, string, import('vue').PublicProps, Readonly & Readonly<{ onScroll?: ((e: Event, direction: ScrollDirection) => any) | undefined; onScrollend?: ((e: Event, direction: ScrollDirection) => any) | undefined; }>, { size: number; contentClass: string; contentStyle: CSSProperties; trigger: "hover" | "none"; autoHide: boolean; delay: number; xScrollable: boolean; yScrollable: boolean; xPlacement: "top" | "bottom"; yPlacement: "left" | "right"; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { containerRef: HTMLDivElement; contentRef: HTMLDivElement; verticalRailRef: HTMLDivElement; horizontalRailRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };