type AsyncReturnType = T extends (...args: any[]) => Promise ? R : T; export declare function memoize Promise>(fn: F, keyFn?: (...args: Parameters) => string): (...args: Parameters) => Promise>; /** * Single flight memoization. * Ensures only one instance of the function is executed at a time. * If another instance is already executing, returns the in-flight promise. */ export declare function singleFlight Promise>(fn: F, keyFn?: (...args: Parameters) => string): (...args: Parameters) => Promise>; export declare function defaultKeyFn(...args: any[]): string; export {}; //# sourceMappingURL=memoize.d.ts.map