export type TOnWindowResizeArgs = Parameters; export type TOnWindowResizeReturn = ReturnType; /** * Runs a callback on window resize. If `delay` is provided, the callback is debounced. * * @param {(e: Event) => void} cb Resize callback * @param {number} [delay=300] Debounce delay in ms; falsy to call immediately * @param {boolean} [isAutoInit=true] Attach immediately * @returns {{ * handler: (e: Event) => void; * addListener: () => void; * removeListener: () => void; * }} * @throws {TypeError} onWindowResize: cb must be a function * @throws {TypeError} onWindowResize: delay must be a non-negative finite number * @throws {TypeError} onWindowResize: isAutoInit must be a boolean * * @example * onWindowResize(() => console.log("resized")); * @example * // Recalculate a responsive grid after resize with a 200 ms debounce * const resize = onWindowResize(() => updateGridColumns(window.innerWidth), 200); * resize.removeListener(); */ export declare const onWindowResize: (cb: (e: Event) => void, delay?: number | undefined, isAutoInit?: boolean | undefined) => { handler: (e: Event) => void; addListener: () => void; removeListener: () => void; };