export type MigrationInput = { schemaVersion: 1; executionId: string; exportId: string; ports: { name: string; binding: string; view: "old" | "new"; access: ("read" | "write" | "create" | "edge")[]; atomId?: string; attachedAtomId?: string; defaultValue?: unknown; states?: { objectId: string; value: unknown; }[]; edges?: MigrationEdge[]; }[]; }; export type MigrationEdge = { id: string; edgeTypeId: string; firstObjectId: string; secondObjectId: string; firstProjectionId: string; secondProjectionId: string; firstOrdinal?: number; secondOrdinal?: number; firstKeyJson?: string; secondKeyJson?: string; }; export type MigrationOutput = { schemaVersion: 1; executionId: string; writes: { port: string; objectId: string; value: unknown; }[]; creates: { port: string; logicalKey: string; objectId: string; }[]; edgeReplacements: { port: string; edges: MigrationEdge[]; }[]; }; export type MigrationContext = { enumerate(port: string): { objectId: string; value: unknown; }[]; read(port: string, objectId: string): unknown; write(port: string, objectId: string, value: unknown): void; create(port: string, logicalKey: string): string; edges(port: string): MigrationEdge[]; replaceEdges(port: string, edges: MigrationEdge[]): void; }; export declare const migrationObjectId: (executionId: string, port: string, logicalKey: string) => string; /** No ordinary RuntimeContext or network/database clients are supplied here. * Process isolation belongs to the host, not this convenience API. */ export declare const createMigrationContext: (input: MigrationInput) => { context: MigrationContext; result: () => MigrationOutput; }; /** Entrypoint for an immutable package's dedicated bin/migrate executable. * stdout is protocol-only; send diagnostics to stderr. The host independently * validates every write, helper identity, contract, and completion receipt. */ export declare const serveMigration: (exports: Record void | Promise>) => Promise; //# sourceMappingURL=migration.d.ts.map