/** * Marker library — defines the visual icon for each marker id. * * Markers are rendered as 14×14 SVG icons that sit to the LEFT of * the node text. Each entry in `MARKER_LIB` maps a category to a * list of markers, each with an id, a human-readable label, and * an inline SVG string (the inner markup of a 24×24 viewBox). * * The renderer (MindMap.vue) uses `markerSvg(id)` to look up the * icon markup; the context menu (NodeContextMenu.vue) iterates * `MARKER_LIB` to build the picker grid. */ export interface MarkerDef { /** Stable id stored on the data tree, e.g. 'priority-1'. */ id: string; /** Human-readable label shown in the picker tooltip. */ label: string; /** * Inner SVG markup for a 24×24 viewBox. The outer wrapper * is added by the renderer. Use `fill` / `stroke` attributes * directly so the icon is self-contained. */ svg: string; } export interface MarkerGroup { /** Group label shown as a section header in the picker. */ label: string; markers: MarkerDef[]; } export declare const MARKER_LIB: MarkerGroup[]; /** Look up a marker definition by id. Returns undefined if the * id is not in the library. */ export declare function markerDef(id: string): MarkerDef | undefined; /** Get the inner SVG markup for a marker id. Returns an empty * string for unknown ids so the renderer can safely inline it. */ export declare function markerSvg(id: string): string; /** Get the label for a marker id. */ export declare function markerLabel(id: string): string; /** Derive a stable color from a tag string for tag pill rendering. * Uses a simple hash → HSL so the same tag always gets the same * color, and different tags get visually distinct hues. * Returns an object with keys that are valid Vue `:style` / CSS * property names so the result can be spread directly into a * style binding. */ export declare function tagColor(tag: string): { background: string; borderColor: string; color: string; };