/** * UI enhancement for fixed headers. * Hides header when scrolling down * Shows header when scrolling up * @constructor * @param {DOMElement} elem the header element * @param {Object} options options for the widget */ export default class Headroom { /** * Default options * @type {Object} */ static options: { tolerance: { up: number; down: number; }; offset: number; scroller: Window & typeof globalThis; classes: { frozen: string; pinned: string; unpinned: string; top: string; notTop: string; bottom: string; notBottom: string; initial: string; }; }; private classes; private elem; private tolerance; private offset; private initialised; private frozen; private scrollTracker; private scroller; private onPin?; private onUnpin?; private onTop?; private onNotTop?; private onBottom?; private onNotBottom?; constructor(elem: HTMLElement, options: any); /** * Start listening to scrolling * @public */ init(): this; /** * Destroy the widget, clearing up after itself * @public */ destroy(): void; /** * Unpin the element * @public */ unpin(): void; /** * Pin the element * @public */ pin(): void; /** * Freezes the current state of the widget * @public */ freeze(): void; /** * Re-enables the default behaviour of the widget * @public */ unfreeze(): void; top(): void; notTop(): void; bottom(): void; notBottom(): void; shouldUnpin(details: any): any; shouldPin(details: any): any; addClass(className: string): void; removeClass(className: string): void; hasClass(className: string): any; update(details: any): void; }