import { ILocker, ILogger } from '../../utilities';

export declare class WebLocker implements ILocker {
    readonly logger: ILogger;
    readonly cachedLockedObjects: Set<string>;
    constructor(logger: ILogger);
    getLocked(): Set<string>;
    lockAndExecute(name: string, action: () => Promise<void>): Promise<void>;
    unlockFrom(date: number): Promise<void>;
    unlockAll(): Promise<void>;
    areLocked(names: string[]): Promise<Map<string, boolean>>;
}
