export type SideEffectFn = (...args: any[]) => void; export type Options = { isImmediate?: boolean; maxWait?: number; }; export declare const sleep: (ms: number) => Promise; export declare const splitByWhitespace: (str: string) => string[]; export interface DebouncedFunction { (this: ThisParameterType, ...args: Parameters): void; cancel: () => void; } export declare const once: (fn: (this: T, ...arg: A) => R) => (this: T, ...arg: A) => R | undefined; export declare function debounce(func: F, waitMilliseconds?: number, options?: Options): DebouncedFunction;