/** * Creates a debounced function that delays invoking func until after wait milliseconds * have elapsed since the last time the debounced function was invoked. * * @param fn - The function to debounce * @param wait - The number of milliseconds to delay * @param options - Options object * @returns The debounced function */ export declare function debounce any>(fn: T, wait?: number, options?: DebounceOptions): T & { cancel: () => void; flush: () => void }; /** * Creates a throttled function that only invokes func at most once per every wait milliseconds * * @param fn - The function to throttle * @param wait - The number of milliseconds to throttle * @returns The throttled function */ export declare function throttle any>(fn: T, wait?: number): T & { cancel: () => void }; /** * Delays execution of a function */ export declare function delay(ms: number): Promise; /** * Debounce and throttle utilities (perfect-debounce replacement) */ export declare interface DebounceOptions { leading?: boolean trailing?: boolean }