import { DownloadContext } from '../../context';
import { ILocker } from '../../utilities';

export declare class DatabaseLocker implements ILocker {
    private db;
    constructor(context: DownloadContext);
    private lock;
    private unlock;
    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>>;
}
