import { DeferredBase } from './deferredBase.js';
import { Base, Item } from '../types/types.js';
import { DefermentManagerOptions } from '../operations/options.js';
export declare class DefermentManager {
    private options;
    private deferments;
    private timer?;
    private logger;
    private currentSize;
    private disposed;
    private totalDefermentRequests;
    constructor(options: DefermentManagerOptions);
    private now;
    isDeferred(id: string): boolean;
    get(id: string): DeferredBase | undefined;
    defer(params: {
        id: string;
    }): Promise<Base>;
    private trackDefermentRequest;
    undefer(item: Item): void;
    private resetGlobalTimer;
    dispose(): void;
    private clearDeferments;
    private cleanDeferments;
    compareMaybeBasesBySize(a: Item | undefined, b: Item | undefined): number;
    compareMaybe(a: number | undefined, b: number | undefined): number;
}
//# sourceMappingURL=defermentManager.d.ts.map