/**
 * AVL Preview Converter
 *
 * Extracts render-ui pattern configs from OrbitalSchema transitions
 * and builds React Flow graphs for the two FlowCanvas levels:
 *   - Overview: one node per orbital (INIT transition UI)
 *   - Expanded: one node per UI state within an orbital
 *
 * Key feature: detects interactive elements (buttons, links) inside
 * patterns that fire events. These become per-element source handles
 * so edges connect from the specific trigger element to the target screen.
 *
 * Uses @almadar/core types for schema-level constructs.
 */
import type { Node, Edge } from '@xyflow/react';
import type { OrbitalSchema } from '@almadar/core';
import type { PreviewNodeData, EventEdgeData } from './avl-preview-types';
/**
 * Build a React Flow graph for the overview level.
 * Each orbital gets one node showing its INIT transition's UI.
 */
export declare function schemaToOverviewGraph(schema: OrbitalSchema, mockData?: Record<string, unknown[]>, behaviorMeta?: Record<string, {
    layer: string;
}>, layoutHint?: 'pipeline' | 'grid', orbitalStatus?: Record<string, PreviewNodeData['status']>): {
    nodes: Node<PreviewNodeData>[];
    edges: Edge<EventEdgeData>[];
};
/**
 * Build a React Flow graph for the L2 (expanded) level.
 *
 * Organism-authored traits (no `sourceBehavior` metadata) emit one
 * transition card per render-ui-bearing transition (the historical
 * behavior). Imported traits (cloned by the inline phase from `uses[]`)
 * collapse into one grouped card per `sourceBehavior.alias`, so the user
 * sees `Stats`, `Graphs`, `Layout`, etc. as single cards rather than 9
 * anonymous `INIT` peers (STUDIO-1). Drill into a grouped card to reach
 * L3 (`orbitalAliasToExpandedGraph`).
 */
export declare function orbitalToExpandedGraph(schema: OrbitalSchema, orbitalName: string, mockData?: Record<string, unknown[]>): {
    nodes: Node<PreviewNodeData>[];
    edges: Edge<EventEdgeData>[];
};
/**
 * Build a React Flow graph for the L3 (`behavior-expanded`) level: drill
 * into one imported-behavior alias on an orbital and show ITS render-ui
 * transitions as individual cards. Same converter logic as
 * `orbitalToExpandedGraph` but scoped to traits where
 * `sourceBehavior.alias === alias`. STUDIO-1.
 */
export declare function orbitalAliasToExpandedGraph(schema: OrbitalSchema, orbitalName: string, alias: string, mockData?: Record<string, unknown[]>): {
    nodes: Node<PreviewNodeData>[];
    edges: Edge<EventEdgeData>[];
};
/**
 * Build a React Flow graph for the `trait-expanded` level: one node per
 * trait of `orbitalName`, with intra-orbital `emits → listens` edges
 * between trait cards (an emit on trait A connects to a listen for the
 * same event on trait B in the same orbital).
 *
 * Used by the cosmic tab at L3 (after the user drills into an orbital
 * from the L1 grid). The canvas tab does not call this today; the new
 * level is opt-in via `initialLevel="trait-expanded"`.
 *
 * Layout: grid (`ceil(sqrt(N))` cols). Nodes are `type: 'traitCard'`
 * with `data.kind === 'trait-card'` so `FlowCanvas`'s NODE_TYPES routes
 * them to `TraitCardNode`.
 */
export declare function orbitalToTraitGraph(schema: OrbitalSchema, orbitalName: string, _mockData?: Record<string, unknown[]>): {
    nodes: Node<PreviewNodeData>[];
    edges: Edge<EventEdgeData>[];
};
