export declare type ElementIndexStruct = { element: Element; index: number; }; /** * debounce is a generic implementation of a "debounce" pattern * to prevent calls of * @param func * @param wait * @param immediate */ export declare const debounce: (func: T, wait: number, immediate?: boolean) => T; /** * * @param {HTMLElement} scrollContainerElement * @param {number} boundaryRatio * @returns {(elements: Array, event?: Event) => (ElementIndexStruct | null)} */ export declare const generateGetMiddleElementStruct: (scrollContainerElement: HTMLElement, boundaryRatio: number) => (elements: Element[], event?: Event | undefined) => ElementIndexStruct | null;