/** * Pure DOM utility functions used by ScrollToSmooth. * * These are stateless helpers with no dependency on the ScrollToSmooth class. */ export declare function querySelector(selector: string, container?: HTMLElement | Document): Element | null; export declare function querySelectorAll(selector: string, container?: HTMLElement | Document | Element): NodeListOf; /** * Check whether a selector is valid within the given container. */ export declare function validateSelector(selector: string | Node | HTMLElement, container?: HTMLElement | Document | Element): boolean; /** * Runtime check for whether a value is a DOM Node or HTMLElement. */ export declare function isNodeOrElement(obj: unknown): obj is Node; /** * Current vertical scroll position. */ export declare function getScrollingElement(): HTMLElement; export declare function getScrollPositionY(): number; /** * Current horizontal scroll position. */ export declare function getScrollPositionX(): number; /** * High-resolution timestamp. */ export declare function getTimestamp(): number; /** * Determine the base URI of an element (URL without hash). */ export declare function getBaseURI(el: Element): string; /** * Total scrollable document height. */ export declare function getDocumentHeight(): number; /** * Total scrollable document width. */ export declare function getDocumentWidth(): number; /** * Viewport height. */ export declare function getWindowHeight(): number; /** * Viewport width. */ export declare function getWindowWidth(): number; /** * Returns true when the browser supports CSS `scroll-behavior: smooth` * (i.e. native smooth scrolling via `element.scrollTo({ behavior: 'smooth' })`). */ export declare function supportsNativeSmoothScroll(): boolean;