export type GraphKind = "state-machine" | "dag"; export type SideEffectClass = "none" | "read" | "write" | "external" | "irreversible"; export interface GraphNodeDefinition { id: string; handler: string; terminal?: boolean; inputContracts: string[]; outputContracts: string[]; sideEffect: SideEffectClass; timeoutMs: number; retryBudget: number; } export interface GraphEdgeDefinition { from: string; to: string; event: string; guard?: string; boundedBy?: string; } export interface GraphDefinition { schemaVersion: 1; id: string; version: string; kind: GraphKind; entry: string; nodes: GraphNodeDefinition[]; edges: GraphEdgeDefinition[]; } export interface CompiledGraph { definition: Readonly; nodesById: ReadonlyMap>; outgoingByNode: ReadonlyMap[]>; topologicalOrder?: readonly string[]; } export declare function compileGraph(definition: GraphDefinition): CompiledGraph; export declare function renderGraphMermaid(graph: CompiledGraph): string;