export declare class WorkflowPublicationLifecycleLock {
    private readonly stateByWorkflowId;
    isLocked(workflowId: string): boolean;
    getLockedWorkflowIds(): string[];
    runExclusive<T>(workflowId: string, fn: () => Promise<T>): Promise<T>;
    runExclusiveOrTimeout(workflowId: string, fn: () => Promise<void>, timeoutMs: number): Promise<{
        timedOut: boolean;
    }>;
    private getOrCreateState;
    private acquire;
    private release;
    private acquireWithTimeout;
}
