type CoreDomElement = HTMLElement | SVGElement;
type CoreDomSelect = CoreDomElement | CoreDomElement[] | NodeList | Document | string | null;
type ScrollSmoothOptions = {
wrapper?: CoreDomSelect;
content?: CoreDomSelect;
generateWrapper?: boolean;
duration?: number;
touchDuration?: number;
speed?: number;
touchSpeed?: number;
};
declare class ScrollSmooth {
static _defaultOptions: ScrollSmoothOptions | undefined;
static get defaultOptions(): ScrollSmoothOptions;
static set defaultOptions(options: ScrollSmoothOptions);
static dy: number | undefined;
private options;
private sy;
private dy;
private distance;
private duration;
private speed;
private frame;
private handleLoad;
private handleScroll;
private constructor();
private static instance;
static getInstance(options: ScrollSmoothOptions): ScrollSmooth;
get content(): CoreDomElement | null;
get scrollY(): number;
private updateWrapperHeight;
setDuration(duration: number): void;
render(): void;
revert(): void;
}
declare const scrollSmooth: {
(options: ScrollSmoothOptions): ScrollSmooth;
label: string;
options(options: ScrollSmoothOptions): {
wrapper?: CoreDomSelect;
content?: CoreDomSelect;
generateWrapper?: boolean;
duration?: number;
touchDuration?: number;
speed?: number;
touchSpeed?: number;
};
};
export { scrollSmooth };