import { CommitID, StreamID } from '@ceramicnetwork/streamid';
import { DiagnosticsLogger } from '@ceramicnetwork/common';
import { TaskQueueLike } from '../ancillary/task-queue.js';
export declare class ExecutionQueue {
    private readonly name;
    private readonly concurrencyLimit;
    private readonly logger;
    private readonly tasks;
    private readonly semaphore;
    constructor(name: string, concurrencyLimit: number, logger: DiagnosticsLogger);
    forStream(streamId: StreamID | CommitID): TaskQueueLike;
    onIdle(): Promise<void>;
    pause(): void;
    close(): Promise<void>;
}
//# sourceMappingURL=execution-queue.d.ts.map