/** * A shared budget for held-open SSE connections (ADR 0032 §6). * * The live endpoints and the conditional-subscription stream (#311) are the * same kind of resource: a socket the collector keeps open, a subscriber on an * in-process bus, and a heartbeat timer. `LIVE_MAX_CONNECTIONS` is meant to * bound *that*, so they draw on one counter rather than one each — otherwise the * setting silently means "up to 2 × max", and grows every time another SSE * surface is added. */ export interface ConnectionLimiter { /** Take a slot, or `false` when the budget is exhausted. */ acquire(): boolean; /** Return a slot. Never drops below zero, so a double release is harmless. */ release(): void; /** Slots currently held (for tests). */ readonly open: number; /** The configured ceiling. */ readonly max: number; } /** Create a limiter over `max` concurrent connections. */ export declare function createConnectionLimiter(max: number): ConnectionLimiter; //# sourceMappingURL=connectionLimiter.d.ts.map