/**
 * Small FIFO semaphore used by Smart Analysis Mode to keep nested per-scene SQL
 * pressure bounded. Legacy scene reconstruction does not opt in.
 */
export declare class SqlSemaphore {
    private readonly maxConcurrent;
    private active;
    private readonly queue;
    constructor(maxConcurrent: number);
    run<T>(fn: () => Promise<T>): Promise<T>;
    private acquire;
    private release;
}
export declare function runWithSmartTraceSqlSemaphore<T>(traceId: string, fn: () => Promise<T>): Promise<T>;
export declare function clearSmartTraceSqlSemaphoresForTests(): void;
//# sourceMappingURL=sqlSemaphore.d.ts.map