/** * Lightweight Blueprint graph simulator — follows exec wires, resolves data pins * (literals + pure nodes), and emits Print String lines. Not a full UE VM. */ import { type BlueprintDocument, type BlueprintVariable } from './nodeGraph.js'; export type BlueprintLogLevel = 'system' | 'print' | 'warn' | 'error'; export interface BlueprintLogEntry { id: string; level: BlueprintLogLevel; text: string; nodeId?: string; at: number; } export interface SimulateBlueprintOptions { /** Entry node type (default: event_begin). */ entryType?: string; signal?: AbortSignal; onLog?: (entry: BlueprintLogEntry) => void; /** Multiplier for Delay durations (1 = real seconds). */ timeScale?: number; /** Cap Delay wait in ms (default 10_000). */ maxDelayMs?: number; } export interface SimulateBlueprintResult { logs: BlueprintLogEntry[]; /** Final variable values after Sets. */ variables: BlueprintVariable[]; aborted: boolean; } /** * Run the graph from Event BeginPlay (or `entryType`). * Print String lines use level `print`; flow uses `system`. */ export declare function simulateBlueprint(doc: BlueprintDocument, opts?: SimulateBlueprintOptions): Promise;