/**
 * A reader-writer lock to manage concurrent access.
 * Allows multiple readers or one writer at a time.
 */
export declare class SingleWriterMultiReaderLock {
    private readers;
    private writerActive;
    private readerQueue;
    private writerQueue;
    private checkQueues;
    withReadLock<T>(fn: () => Promise<T>): Promise<T>;
    withWriteLock<T>(fn: () => Promise<T>): Promise<T>;
}
//# sourceMappingURL=SingleWriterMultiReaderLock.d.ts.map