import type { ActionDef, Expr, JsonValue, MachineDef, Primitive, ResolvedMachineDef } from "./dsl.js"; export type MachineState = Record; export type EvalEnv = Record; export interface GraphEdge { from: string; to: string; action: string; } export interface StateGraph { initial: readonly string[]; states: ReadonlyMap; edges: readonly GraphEdge[]; } export type ExecutableMachineDef = Pick & { domains: Record; }; type FiniteMachineDef = Pick; export declare const canonicalizeState: (machine: ExecutableMachineDef, state: MachineState) => string; export declare const evaluateExpr: (machine: ExecutableMachineDef, state: MachineState, env: EvalEnv, expr: Expr) => JsonValue; export declare const buildInitialState: (machine: ExecutableMachineDef) => MachineState; export declare const enabled: (machine: ExecutableMachineDef, state: MachineState, actionName: string, env: EvalEnv) => boolean; export declare const step: (machine: ExecutableMachineDef, state: MachineState, actionName: string, env: EvalEnv) => MachineState | null; export declare const enumerateBindings: (machine: ExecutableMachineDef, action: ActionDef) => EvalEnv[]; export declare const exploreGraph: (machine: FiniteMachineDef) => StateGraph; export {};