IReaderSemaphore: {
    acquireReader(): Promise<boolean>;
    acquireReaderOrFail(): Promise<void>;
    forceReleaseAllReaders(): Promise<boolean>;
    refreshReader(ttl?: ITimeSpan): Promise<boolean>;
    refreshReaderOrFail(ttl?: ITimeSpan): Promise<void>;
    releaseReader(): Promise<boolean>;
    releaseReaderOrFail(): Promise<void>;
    runReaderOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Promise<TValue>;
}

IMPORT_PATH: "@daiso-tech/core/shared-lock/contracts"

Type declaration