ISharedLockAdapter: {
    acquireReader(settings: SharedLockAcquireSettings): Promise<boolean>;
    acquireWriter(
        key: string,
        lockId: string,
        ttl: null | TimeSpan,
    ): Promise<boolean>;
    forceRelease(key: string): Promise<boolean>;
    forceReleaseAllReaders(key: string): Promise<boolean>;
    forceReleaseWriter(key: string): Promise<boolean>;
    getState(key: string): Promise<null | ISharedLockAdapterState>;
    refreshReader(key: string, slotId: string, ttl: TimeSpan): Promise<boolean>;
    refreshWriter(key: string, lockId: string, ttl: TimeSpan): Promise<boolean>;
    releaseReader(key: string, slotId: string): Promise<boolean>;
    releaseWriter(key: string, lockId: string): Promise<boolean>;
}

The ISharedLockAdapter contract defines a way for managing locks independent of the underlying technology. This contract is not meant to be used directly, instead you should use ISharedLockProvider contract.

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

Type declaration