import { ExtractInternalPropTypes, ExtractPublicPropTypes } from "../../../_utils/naive/extract-public-props.js"; import "../../../_utils/index.js"; import { ScrollbarTheme, ScrollbarThemeOverrides } from "../styles/light.js"; import "../styles/index.js"; import { RtlItem } from "../../../config-provider/src/internal-interface.js"; import { CSSProperties, HTMLAttributes, PropType, Ref } from "vue"; //#region src/_internal/scrollbar/src/Scrollbar.d.ts interface ScrollTo { (x: number, y: number): void; (options: { left?: number; top?: number; behavior?: ScrollBehavior; debounce?: boolean; }): void; (options: { el: HTMLElement; behavior?: ScrollBehavior; debounce?: boolean; }): void; (options: { index: number; elSize: number; behavior?: ScrollBehavior; debounce?: boolean; }): void; (options: { position: 'top' | 'bottom'; behavior?: ScrollBehavior; debounce?: boolean; }): void; } interface ScrollBy { (x: number, y: number): void; (options: { left?: number; top?: number; behavior?: ScrollBehavior; }): void; } interface ScrollbarInstMethods { syncUnifiedContainer: () => void; scrollTo: ScrollTo; scrollBy: ScrollBy; sync: () => void; handleMouseEnterWrapper: () => void; handleMouseLeaveWrapper: () => void; } interface ScrollbarInst extends ScrollbarInstMethods { $el: HTMLElement; containerRef: HTMLElement | null; contentRef: HTMLElement | null; containerScrollTop: number; } declare const scrollbarProps: { readonly duration: { readonly type: NumberConstructor; readonly default: 0; }; readonly scrollable: { readonly type: BooleanConstructor; readonly default: true; }; readonly xScrollable: BooleanConstructor; readonly trigger: { readonly type: PropType<"none" | "hover">; readonly default: "hover"; }; readonly useUnifiedContainer: BooleanConstructor; readonly triggerDisplayManually: BooleanConstructor; readonly container: PropType<() => HTMLElement | null | undefined>; readonly content: PropType<() => HTMLElement | null | undefined>; readonly containerClass: StringConstructor; readonly containerStyle: PropType; readonly contentClass: PropType>; readonly contentStyle: PropType; readonly horizontalRailStyle: PropType; readonly verticalRailStyle: PropType; readonly onScroll: PropType<(e: Event) => void>; readonly onWheel: PropType<(e: WheelEvent) => void>; readonly onResize: PropType<(e: ResizeObserverEntry) => void>; readonly internalOnUpdateScrollLeft: PropType<(scrollLeft: number) => void>; readonly internalHoistYRail: BooleanConstructor; readonly internalExposeWidthCssVar: BooleanConstructor; readonly yPlacement: { readonly type: PropType<"left" | "right">; readonly default: "right"; }; readonly xPlacement: { readonly type: PropType<"top" | "bottom">; readonly default: "bottom"; }; readonly theme: PropType; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; }; type ScrollbarProps = ExtractPublicPropTypes; type ScrollbarInternalProps = ExtractInternalPropTypes; declare const Scrollbar: import("vue").DefineComponent; readonly default: "hover"; }; readonly useUnifiedContainer: BooleanConstructor; readonly triggerDisplayManually: BooleanConstructor; readonly container: PropType<() => HTMLElement | null | undefined>; readonly content: PropType<() => HTMLElement | null | undefined>; readonly containerClass: StringConstructor; readonly containerStyle: PropType; readonly contentClass: PropType>; readonly contentStyle: PropType; readonly horizontalRailStyle: PropType; readonly verticalRailStyle: PropType; readonly onScroll: PropType<(e: Event) => void>; readonly onWheel: PropType<(e: WheelEvent) => void>; readonly onResize: PropType<(e: ResizeObserverEntry) => void>; readonly internalOnUpdateScrollLeft: PropType<(scrollLeft: number) => void>; readonly internalHoistYRail: BooleanConstructor; readonly internalExposeWidthCssVar: BooleanConstructor; readonly yPlacement: { readonly type: PropType<"left" | "right">; readonly default: "right"; }; readonly xPlacement: { readonly type: PropType<"top" | "bottom">; readonly default: "bottom"; }; readonly theme: PropType; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; }>, { mergedClsPrefix: Ref; rtlEnabled: Ref | undefined; containerScrollTop: Ref; wrapperRef: Ref; containerRef: Ref; contentRef: Ref; yRailRef: Ref; xRailRef: Ref; needYBar: import("vue").ComputedRef; needXBar: import("vue").ComputedRef; yBarSizePx: import("vue").ComputedRef; xBarSizePx: import("vue").ComputedRef; yBarTopPx: import("vue").ComputedRef; xBarLeftPx: import("vue").ComputedRef; isShowXBar: import("vue").ComputedRef; isShowYBar: import("vue").ComputedRef; isIos: boolean; handleScroll: (e: Event) => void; handleContentResize: () => void; handleContainerResize: (e: ResizeObserverEntry) => void; handleYScrollMouseDown: (e: MouseEvent) => void; handleXScrollMouseDown: (e: MouseEvent) => void; containerWidth: Ref; cssVars: Ref | undefined; themeClass: Ref | undefined; onRender: (() => void) | undefined; syncUnifiedContainer: () => void; scrollTo: ScrollTo; scrollBy: ScrollBy; sync: () => void; handleMouseEnterWrapper: () => void; handleMouseLeaveWrapper: () => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; readonly default: "hover"; }; readonly useUnifiedContainer: BooleanConstructor; readonly triggerDisplayManually: BooleanConstructor; readonly container: PropType<() => HTMLElement | null | undefined>; readonly content: PropType<() => HTMLElement | null | undefined>; readonly containerClass: StringConstructor; readonly containerStyle: PropType; readonly contentClass: PropType>; readonly contentStyle: PropType; readonly horizontalRailStyle: PropType; readonly verticalRailStyle: PropType; readonly onScroll: PropType<(e: Event) => void>; readonly onWheel: PropType<(e: WheelEvent) => void>; readonly onResize: PropType<(e: ResizeObserverEntry) => void>; readonly internalOnUpdateScrollLeft: PropType<(scrollLeft: number) => void>; readonly internalHoistYRail: BooleanConstructor; readonly internalExposeWidthCssVar: BooleanConstructor; readonly yPlacement: { readonly type: PropType<"left" | "right">; readonly default: "right"; }; readonly xPlacement: { readonly type: PropType<"top" | "bottom">; readonly default: "bottom"; }; readonly theme: PropType; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; }>> & Readonly<{}>, { readonly duration: number; readonly scrollable: boolean; readonly xScrollable: boolean; readonly trigger: "none" | "hover"; readonly useUnifiedContainer: boolean; readonly triggerDisplayManually: boolean; readonly internalHoistYRail: boolean; readonly internalExposeWidthCssVar: boolean; readonly yPlacement: "left" | "right"; readonly xPlacement: "top" | "bottom"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; type NativeScrollbarProps = Omit; type MergedProps = Partial; declare const XScrollbar: new () => { $props: MergedProps; }; //#endregion export { ScrollBy, ScrollTo, ScrollbarInst, ScrollbarInstMethods, ScrollbarInternalProps, ScrollbarProps, XScrollbar, Scrollbar as default };