export declare const DEFAULT_PERMIT_SEMAPHORE_MAX_QUEUE_SIZE = 10000; export interface PermitSemaphoreOptions { /** Maximum number of queued acquirers. */ maxQueueSize?: number; } /** * FIFO semaphore for callers that acquire and release permits explicitly. * * A zero-permit semaphore is supported for admission tests and externally * released gates. Constructor and timeout inputs are validated so runtimes * cannot silently clamp invalid timers into hot loops. */ export declare class PermitSemaphore { private permits; private readonly maxPermits; private readonly maxQueueSize; private readonly waitQueue; constructor(permits: number, options?: PermitSemaphoreOptions); tryAcquire(timeoutMs?: number, options?: { signal?: AbortSignal; }): Promise; release(): void; get available(): number; get waiting(): number; get capacity(): number; get queueCapacity(): number; } //# sourceMappingURL=permit-semaphore.d.ts.map