import type { KVStore } from '../kvstore/KVStore.js';
export interface Lock {
    readonly key: string;
}
export declare class Locking {
    private store;
    constructor(store: KVStore);
    tryAcquire(key: string, ttlInMs: number, acquisitionTimeoutMs: number): Promise<Lock>;
    acquire(key: string, ttlInMs: number): Promise<Lock>;
    release(lock: Lock): Promise<void>;
}
