import type { PropType } from 'vue'; import type { SafeTopScrollbarInst as InternalSafeTopScrollbarInst } from '../../_internal'; import type { ExtractPublicPropTypes } from '../../_utils'; export interface ScrollTo { (x: number, y: number): void; (options: { left?: number; top?: number; behavior?: ScrollBehavior; }): void; } export type ScrollBy = ScrollTo; export interface SafeTopScrollbarInst { scrollTo: ScrollTo; scrollBy: ScrollBy; getScrollState: () => { scrollHeight: number; scrollTop: number; clientHeight: number; }; adjustScrollTop: (heightDiff: number) => void; } export declare const safeTopScrollbarProps: { readonly trigger: PropType<"none" | "hover">; readonly xScrollable: BooleanConstructor; readonly onScroll: PropType<(e: Event) => void>; readonly size: NumberConstructor; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }; export type SafeTopScrollbarProps = ExtractPublicPropTypes; declare const SafeTopScrollbar: import("vue").DefineComponent; readonly xScrollable: BooleanConstructor; readonly onScroll: PropType<(e: Event) => void>; readonly size: NumberConstructor; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }>, { scrollbarInstRef: import("vue").Ref<{ $el: HTMLElement; containerRef: HTMLElement | null; contentRef: HTMLElement | null; containerScrollTop: number; syncUnifiedContainer: () => void; scrollTo: import("../../_internal/safe-top-scrollbar/src/SafeTopScrollbar").ScrollTo; scrollBy: import("../../_internal/safe-top-scrollbar/src/SafeTopScrollbar").ScrollBy; sync: () => void; handleMouseEnterWrapper: () => void; handleMouseLeaveWrapper: () => void; getScrollState: () => { scrollHeight: number; scrollTop: number; clientHeight: number; }; adjustScrollTop: (heightDiff: number) => void; } | null, InternalSafeTopScrollbarInst | { $el: HTMLElement; containerRef: HTMLElement | null; contentRef: HTMLElement | null; containerScrollTop: number; syncUnifiedContainer: () => void; scrollTo: import("../../_internal/safe-top-scrollbar/src/SafeTopScrollbar").ScrollTo; scrollBy: import("../../_internal/safe-top-scrollbar/src/SafeTopScrollbar").ScrollBy; sync: () => void; handleMouseEnterWrapper: () => void; handleMouseLeaveWrapper: () => void; getScrollState: () => { scrollHeight: number; scrollTop: number; clientHeight: number; }; adjustScrollTop: (heightDiff: number) => void; } | null>; scrollTo: ScrollTo; scrollBy: ScrollBy; getScrollState: () => { scrollHeight: number; scrollTop: number; clientHeight: number; }; adjustScrollTop: (heightDiff: number) => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; readonly xScrollable: BooleanConstructor; readonly onScroll: PropType<(e: Event) => void>; readonly size: NumberConstructor; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }>> & Readonly<{}>, { readonly xScrollable: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default SafeTopScrollbar;