import type { WorkerVerificationResult } from './verifier.js'; export interface MergeQueueRecord { mergeId: string; workerId: string; projectRoot: string; state: 'waiting' | 'ready' | 'conflict' | 'merged' | 'rejected'; parentRevision: string; candidateRevision: string; graderReceipts: string[]; simulationHash?: string; } export interface MergeQueueStore { enqueueWorkflowMerge(input: { workerId: string; projectRoot: string; baseRevision: string; parentRevision: string; candidateRevision: string; graderReceipts: string[]; simulationHash?: string; }): MergeQueueRecord | Promise; transitionWorkflowMerge(projectRoot: string, mergeId: string, target: MergeQueueRecord['state'], update?: { parentRevision?: string; simulationHash?: string; mergeCommit?: string; reason?: string; }): MergeQueueRecord | Promise; } export declare class SerializedWorkerMergeQueue { private readonly store; private readonly lifecycle; constructor(store: MergeQueueStore, lifecycle?: { onMerged?: (input: { workerId: string; mergeCommit: string; }) => void | Promise; scheduleCleanup?: (input: { workerId: string; mergeCommit: string; }) => void | Promise; }); enqueueAndMerge(input: { workerId: string; projectRoot: string; baseRevision: string; verification: WorkerVerificationResult; message: string; }): Promise<{ state: 'merged' | 'conflict'; mergeCommit?: string; reason?: string; }>; private serialize; } //# sourceMappingURL=merge-queue.d.ts.map