import { FixtureExport } from './fixtureApi.js'; import { ComponentDefinition } from './fixtureApiConsumer.js'; import { FixturePath } from './FixturePath.js'; /** * A node in the fixture tree. * Can be a folder (with children), variants (with children, horizontal layout), or a component leaf. */ export interface FixtureNode { readonly id: FixturePath; /** Display name */ readonly name: string; /** Node type: folder for groups, variants for horizontal variant display, component for leaves */ readonly type: 'folder' | 'variants' | 'component'; /** Children (for folders and variants) */ readonly children?: readonly FixtureNode[]; /** Component definition (only for component nodes) */ readonly component?: ComponentDefinition; /** Labels for categorization and filtering */ readonly labels: readonly string[]; /** Source fixture file path — present on skeleton nodes (component is undefined) for on-demand loading */ readonly sourceFile?: string; } /** * Creates a fixture tree from a map of fixture exports. * Entries with `undefined` value are rendered as skeleton nodes (loaded on demand). */ export declare function createFixtureTree(fixtures: Map): FixtureNode; /** * Resolves all lazy fixture module loaders in parallel and returns a map of loaded exports. * Used by modes that need the full fixture tree upfront (headless, embedded). */ export declare function resolveFixtureModules(modules: Record Promise<{ default?: unknown; }>>): Promise>; /** * Finds a node in the tree by path. */ export declare function findNodeByPath(root: FixtureNode, path: string[]): FixtureNode | undefined; /** * Collects all component nodes from a subtree. */ export declare function collectComponents(node: FixtureNode): ComponentDefinition[]; //# sourceMappingURL=FixtureNode.d.ts.map