import type { Mode, NodeMeta } from './types.js'; /** Nerd Font glyph for a node's mode in its persona badge. A base worker reads * as a single figure (nf-fa-user, U+F007); an orchestrator reads as a fan-out * hierarchy (nf-fa-sitemap, U+F0E8). */ export declare function modeIcon(mode: Mode): string; /** The minimal shape `fullName` needs — satisfied by NodeMeta and by anything * else carrying name + kind (description optional). */ export interface NamedNode { name: string; kind: string; description?: string; } /** A node's human label: its explicit handle plus the pi-generated description * of its first task, e.g. `fix-auth refactor-login-flow`. The handle is * dropped when it's just the kind default (non-informative, and the kind is * surfaced elsewhere), so a default-named node reads as its description alone * (`refactor-login-flow`). Falls back to the bare name when no description * exists yet (a node not yet named, e.g. a bare root before its first * message). Never empty. */ export declare function fullName(node: NamedNode): string; /** The node's persona label, rendered in the attach editor's bottom-right * badge. */ export declare function personaLabel(meta: Pick): string; /** The pi session display name — the editor label in the top-left. It carries * the node's human task name only; persona lives in the editor's bottom-right * badge. Recomputed from meta on every revive and pushed live when naming * generates the first task description. */ export declare function editorLabel(meta: NodeMeta): string;