/** * @file Runtime statechart extraction utilities * @description Extract statecharts from running machine instances using Symbol-based metadata */ import { type RuntimeTransitionMeta } from './primitives'; /** * Extract metadata from a single function if it has runtime metadata attached * * @param fn - Function to extract from * @returns Metadata object or null if no metadata */ export declare function extractFunctionMetadata(fn: any): RuntimeTransitionMeta | null; /** * Extract state node from a machine class instance * * @param stateInstance - Instance of a machine state class * @returns State node with transitions */ export declare function extractStateNode(stateInstance: any): any; /** * Generate a complete statechart from multiple state class instances * * @param states - Object mapping state names to state instances * @param config - Chart configuration * @returns XState-compatible statechart JSON * * @example * const chart = generateStatechart({ * 'LoggedOut': new LoggedOutMachine(), * 'LoggedIn': new LoggedInMachine() * }, { * id: 'auth', * initial: 'LoggedOut' * }); */ export declare function generateStatechart(states: Record, config: { id: string; initial: string; description?: string; }): any; /** * Convenience function to extract statechart from a single machine instance * Useful for simple machines with a single context but multiple transitions * * @param machineInstance - Machine instance * @param config - Chart configuration * @returns XState-compatible statechart JSON */ export declare function extractFromInstance(machineInstance: any, config: { id: string; stateName?: string; }): any; //# sourceMappingURL=runtime-extract.d.ts.map