import type { SynthEvent, CanonicalState, Capability } from "../types/index.js"; import { Registry } from "../capability/registry.js"; import { ExecutionGate } from "../control/execution-gate.js"; import type { GenesisCertificationReport, GenesisIntegrityProof } from "./certification.js"; export type GenesisInput = { projectName: string; systemId: string; capabilities?: Capability[]; initialWorkItems?: Array<{ id: string; name: string; status?: string; }>; initialPlans?: Array<{ id: string; name: string; }>; initialProjects?: Array<{ id: string; name: string; goal: string; }>; partitions?: number; seedEvents?: Array<{ type: string; payload: Record; }>; sourceImport?: { type: "repo" | "spec" | "snapshot"; location: string; }; }; export type GenesisResult = { eventLogSeed: SynthEvent[]; canonicalState: CanonicalState; partitionMap: Array<{ partition: number; leader: string; replicas: string[]; }>; checkpointBaseline: Array<{ partition: number; offset: number; }>; systemId: string; capabilitiesRegistered: number; certification: GenesisCertificationReport; integrityProof: GenesisIntegrityProof; }; export declare class GenesisIntake { private gate; private registry; constructor(gate: ExecutionGate, registry: Registry); initialize(input: GenesisInput): Promise; replay(events: SynthEvent[]): CanonicalState; createPartitionMap(n: number): { partition: number; leader: string; replicas: string[]; }[]; createEmptyCheckpoints(n: number): { partition: number; offset: number; }[]; }