export type DebounceOptions = { leading?: boolean; maxWait?: number; trailing?: boolean; }; export type DebouncedFunction) => ReturnType> = { (...args: Parameters): ReturnType | undefined; cancel: () => void; flush: () => ReturnType | undefined; }; /** * Creates a debounced function that delays invoking `func` until after `wait` milliseconds * have elapsed since the last time the debounced function was invoked. * Copied and adapted from lodash@4.17.21. * * @param func The function to debounce. * @param wait The number of milliseconds to delay. * @param options The options object. * @returns Returns the new debounced function. */ export declare function debounce) => ReturnType>(func: F, wait?: number, options?: DebounceOptions): DebouncedFunction;