import type { OrchestrationPlanDocument, OrchestrationStore } from "./types.js"; export interface FileOrchestrationStoreOptions { root: string; storeId?: string; } export declare function defaultOrchestrationRoot(): string; export declare class FileOrchestrationStore implements OrchestrationStore { readonly storeId: string; private readonly root; constructor(options: FileOrchestrationStoreOptions); private file; /** * Explicit operator set for this file-backed store's plan validation. * The canonical subagent registry remains the primary authority; this * only extends it with the operator roster names loaded from * `getAgentDir()/agents/*.md`, so a roster-based plan created through the * automatic path stays readable (status/join) after the fact. A roster * that cannot be read must not break store reads: in that case the * canonical operator roles — which the roster guarantees to exist — * remain the accepted fallback. */ private operatorAgents; private read; private write; private locked; create(document: OrchestrationPlanDocument): Promise<{ error?: undefined; status: "idempotent"; document: OrchestrationPlanDocument; } | { document?: undefined; status: "conflict"; error: string; } | { error?: undefined; document?: undefined; status: "created"; }>; load(orchestrationId: string): Promise<{ document?: undefined; status: "corrupt"; diagnostic: string; } | { diagnostic?: undefined; document?: undefined; status: "missing"; } | { diagnostic?: undefined; status: "ok"; document: OrchestrationPlanDocument; }>; save(document: OrchestrationPlanDocument, options?: { expectedRevision?: number; }): Promise<{ document?: undefined; status: "stale"; expectedRevision: number; actualRevision?: undefined; } | { document?: undefined; status: "stale"; expectedRevision: number; actualRevision: number; } | { expectedRevision?: undefined; actualRevision?: undefined; status: "saved"; document: OrchestrationPlanDocument; }>; mutate(orchestrationId: string, mutation: (document: OrchestrationPlanDocument) => { kind: "write"; document: OrchestrationPlanDocument; value: T; } | { kind: "noop"; value: T; }): Promise<{ status: "ok"; value: T; } | { status: "missing"; } | { status: "corrupt"; diagnostic: string; }>; list(): Promise; withExclusive(orchestrationId: string, fn: (document: OrchestrationPlanDocument, save: (document: OrchestrationPlanDocument) => Promise) => Promise): Promise; } export declare function createFileOrchestrationStore(root?: string): FileOrchestrationStore; //# sourceMappingURL=store.d.ts.map