type Options = { leading?: boolean }; export declare function debounce(func: (...a: A) => R, delay: number, options: Options): (...a: A) => Promise>; export declare function debounce(func: (...a: A) => R, delay: number): (...a: A) => Promise>; export declare function debounce(func: (...a: A) => R, options: Options): (...a: A) => Promise>; export declare function debounce(func: (...a: A) => R): (...a: A) => Promise>; export {};