import { CustomLogger } from '../types/functions.js';
import { Item, Base } from '../types/types.js';
import { MemoryCache } from './MemoryCache.js';
export interface Deferment {
defer(params: {
id: string;
}): [Promise, boolean];
undefer(item: Item, requestItem: (id: string) => void): void;
dispose(): void;
}
export declare class MemoryOnlyDeferment implements Deferment {
private items;
constructor(items: Map);
defer(params: {
id: string;
}): [Promise, boolean];
undefer(): void;
dispose(): void;
}
export declare class DefermentManager implements Deferment {
private outstanding;
private logger;
private disposed;
private cache;
constructor(logger: CustomLogger, cache?: MemoryCache);
defer(params: {
id: string;
}): [Promise, boolean];
undefer(item: Item, requestItem: (id: string) => void): void;
dispose(): void;
}
//# sourceMappingURL=defermentManager.d.ts.map