/** One topic in the hierarchy. Owns the shared `LyraTopic` shape for the whole component, the same * way `word-cloud-layout.ts` owns `WordCloudWord`. */ export interface LyraTopic{id:string;label:string;children?:readonly LyraTopic[];} /** A topic after radial layout — original id/label plus computed geometry. */ export interface PlacedTopic{id:string;label:string;depth:number;x:number;y:number; /** Radians, measured clockwise from 12 o'clock (0) in LTR -- used both to draw a parent-child * connector's control point and, in tests, to verify arc subdivision independent of the * bounding-box-shifted x/y. */ angle:number;parentId:string|null;hasChildren:boolean; /** Always `false` for a leaf (`hasChildren: false`). */ expanded:boolean;}export interface MindMapLayoutOptions{ /** Radius step per depth ring, in px. */ ringGap:number;rtl:boolean;isExpanded:(id:string,depth:number)=>boolean;}export interface MindMapLayoutResult{placed:PlacedTopic[];links:{fromId:string;toId:string;}[]; /** viewBox width/height, auto-fit to the laid-out extent with padding. */ width:number;height:number; /** The root/hub's position within the shifted (viewBox-relative) coordinate space. */ centerX:number;centerY:number;} /** * Lays out `topics` as a radial tree: root at the center, each depth ring at radius `depth * * ringGap`, each parent's children dividing its own inherited angular arc proportionally to their * visible leaf counts (a collapsed subtree counts as one leaf), sibling order running clockwise * from 12 o'clock in LTR (counter-clockwise in RTL, via `rtl`). Multiple roots hang off an * implicit `'__hub__'`-id center node labeled `hubLabel`. Pure function, no DOM access -- see * `` for the component wrapping this. */ export declare function layoutMindMap(topics:readonly LyraTopic[],hubLabel:string,opts:MindMapLayoutOptions):MindMapLayoutResult;