import { Module, TModuleOnCallbacksProps } from '../../base'; import { TRequiredProps } from '../../internal/requiredProps'; import { IScrollbarCallbacksMap, IScrollbarMutableProps, IScrollbarStaticProps } from './types'; export * from './types'; type TC = IScrollbarCallbacksMap; type TS = IScrollbarStaticProps; type TM = IScrollbarMutableProps; /** * A custom scrollbar component. Supports both `window` and `HTMLElement` containers. * * [Documentation](https://vevetjs.com/docs/Scrollbar) * * @group Components */ export declare class Scrollbar extends Module { /** Get default static properties */ _getStatic(): TRequiredProps; /** Get default mutable properties */ _getMutable(): TRequiredProps; /** * Scrollbar outer element. */ private _outer; /** * Scrollbar track element (the container of the thumb). */ private _track; /** * Scrollbar thumb element (draggable handle). */ private _thumb; /** Save scroll value on swipe start */ private _valueOnSwipeStart; /** Previous scroll value */ private _prevScrollValue; /** Timeout for scroll action */ private _addInActionTimeout?; /** Timeout for scroll action */ private _removeInActionTimeout?; /** Detects if the container is RTL */ private _isRtl; constructor(props?: TS & TM & TModuleOnCallbacksProps, onCallbacks?: TModuleOnCallbacksProps); get prefix(): string; /** * Scrollbar outer element */ get outer(): HTMLElement; /** * The element to which the scrollbar is applied. */ get container(): Window | HTMLElement | import("..").Snap; /** * Scrollbar track element (the container of the thumb). */ get track(): HTMLElement; /** * Scrollbar thumb element (draggable handle). */ get thumb(): HTMLElement; /** Scroll axis */ get axis(): "x" | "y"; /** * The element where the scrollbar is appended. * If `parent` is not set, it defaults to `container` or `document.body` (if applied to `window`). */ get parent(): HTMLElement; /** * The actual scrollable element. * Returns `document.documentElement` for `window`, otherwise the `container` itself. */ get scrollElement(): HTMLElement | import("..").Snap; /** * Returns the total scroll width/height of the content. */ get scrollSize(): number; /** * Returns the total scrollable distance. */ get scrollableSize(): number; /** * Returns scrollTop or scrollLeft of the scrollable element. */ get scrollValue(): number; /** Returns the current track size. */ get trackSize(): number; /** Returns the current thumb size. */ get thumbSize(): number; /** Handles property mutations */ protected _handleProps(props: Partial): void; /** Create elements */ private _create; /** Create outer element */ private _createOuter; /** Create track element */ private _createTrack; /** Create thumb element */ private _createThumb; /** Set resize events */ private _setResize; /** Set scroll events */ private _setOnscroll; /** Set swipe events */ private _setSwipe; /** Handles swipe start */ private _handleSwipeStart; /** Handle swipe move */ private _handleSwipeMove; /** Handle swipe end */ private _handleSwipeEnd; /** Handle swipe touchmove */ private _handleSwipeTouchMove; /** Handle swipe mousemove */ private _handleSwipeMouseMove; /** Resize the scrollbar. */ resize(): void; /** Render the scrollbar. */ private _render; /** Handle scroll update */ private _onScroll; /** Handle swipe move */ private _onSwipeMove; /** * Destroys the component and cleans up resources. */ protected _destroy(): void; } //# sourceMappingURL=index.d.ts.map