export = Lock;
type release = (releaseCallback?: () => void) => () => void;
type exec = (release: release) => void;
interface lock {
(key: string | string[], exec: exec): void;
isLocked(): boolean;
}
declare function Lock(): lock;