import "../_dnt.polyfills.js"; export declare class AsyncMemo { running: Map>; run(key: K, run: () => Promise): Promise; } export declare class TimedMemo extends AsyncMemo { readonly ttl: number; readonly signal: AbortSignal; done: Map; timers: Set; constructor(ttl: number, signal: AbortSignal); run(key: K, run: () => Promise, ttl?: number): Promise; } export declare class PermanentMemo extends AsyncMemo { done: Map; run(key: K, run: () => Promise): Promise; } export declare class WeakMemo extends AsyncMemo { done: Map>; finReg: FinalizationRegistry; run(key: K, run: () => Promise): Promise; }