/** * Semaphore for Concurrency Control * * Controls maximum number of parallel processes. */ export declare class Semaphore { private maxPermits; private permits; private waiting; constructor(maxPermits: number); /** * Acquire a permit. Returns a release function. */ acquire(): Promise<() => void>; /** * Try to acquire a permit without waiting. * Returns null if no permits available. */ tryAcquire(): (() => void) | null; /** * Release a permit back to the pool. */ private release; /** * Get number of available permits. */ getAvailablePermits(): number; /** * Get maximum permits configured. */ getMaxPermits(): number; /** * Get number of waiting requests. */ getQueueLength(): number; /** * Check if any permits are available. */ hasAvailablePermits(): boolean; /** * Update the maximum number of permits. * Can be used to dynamically adjust concurrency. */ setMaxPermits(maxPermits: number): void; /** * Clear all waiting requests (e.g., during shutdown). */ clearWaiting(): void; } //# sourceMappingURL=semaphore.d.ts.map