import type { FleetConfig } from '../config.js'; import type { RoleRecord, RoleStatus } from '../application/types.js'; export type TopologyNodeKind = 'agent' | 'watchdog' | 'loop'; export type TopologyEdgeKind = 'oversees' | 'watches' | 'targets' | 'spawned'; export interface TopologyNode { id: string; kind: TopologyNodeKind; label: string; status: string; lifetime?: string; href?: string; detail?: string; } export interface TopologyEdge { id: string; kind: TopologyEdgeKind; from: string; to: string; label: string; } export interface TopologySnapshot { nodes: TopologyNode[]; edges: TopologyEdge[]; unknownLineage: string[]; } export interface RuntimeRoleItem { role: RoleRecord; status: RoleStatus; } export declare function deriveTopology(config: FleetConfig, roles: RuntimeRoleItem[]): TopologySnapshot; export declare function readSpawnLineage(stateDir: string): RoleRecord['lineage'];