import { AcquireOptions, LockLostCallback, LockOptions } from './types'; export declare abstract class Lock { protected abstract _kind: string; protected abstract _key: string; protected _identifier: string; protected _acquireOptions: AcquireOptions; protected _refreshTimeInterval: number; protected _refreshInterval?: ReturnType; protected _refreshing: boolean; protected _acquired: boolean; protected _acquiredExternally: boolean; protected _onLockLost: LockLostCallback; protected abstract _refresh(): Promise; protected abstract _acquire(abortSignal?: AbortSignal): Promise; protected abstract _release(): Promise; constructor({ lockTimeout, acquireTimeout, acquireAttemptsLimit, retryInterval, refreshInterval, onLockLost, externallyAcquiredIdentifier, identifierSuffix, identifier, acquiredExternally }?: LockOptions); get identifier(): string; get isAcquired(): boolean; private getIdentifier; private _startRefresh; stopRefresh(): void; private _processRefresh; acquire(abortSignal?: AbortSignal): Promise; tryAcquire(abortSignal?: AbortSignal): Promise; release(): Promise; }