export interface WorkflowNamespace { readonly id: string; readonly projectKey: string; readonly cwd: string; readonly storageRoot?: string; } export interface WorkflowLease { readonly active: boolean; release(): Promise; } export interface WorkflowLeaseProvider { acquire(namespace: Readonly): Promise; isHeld(namespace: Readonly): Promise; }