interface DebounceSettings { leading?: boolean; maxWait?: number; trailing?: boolean; } export interface DebouncedFn any> { (...args: Parameters): ReturnType | undefined; cancel(): void; flush(): ReturnType | undefined; pending(): boolean; } export declare function debounceFn any>(func: T, wait?: number, options?: DebounceSettings): DebouncedFn; export {};