/// <reference types="bluebird" />
import * as Promise from 'bluebird';
import { PartitionSpecificProxy } from './PartitionSpecificProxy';
import { ILock } from './ILock';
export declare class LockProxy extends PartitionSpecificProxy implements ILock {
    private lockReferenceIdGenerator;
    private nextSequence();
    lock(leaseMillis?: number): Promise<void>;
    tryLock(timeoutMillis?: number, leaseMillis?: number): Promise<boolean>;
    unlock(): Promise<void>;
    forceUnlock(): Promise<void>;
    isLocked(): Promise<boolean>;
    isLockedByThisClient(): Promise<boolean>;
    getLockCount(): Promise<number>;
    getRemainingLeaseTime(): Promise<number>;
}
