export type RequestRelease = () => Promise | void export interface Locker { newLock(id: string): Lock } export interface Lock { lock(cancelReq: RequestRelease): Promise unlock(): Promise }