import { type SessionDisplayStatus } from "../../../timeline-model.js"; import type { LineageNode, SessionSummary } from "@opengeni/sdk"; import { type ReactNode } from "react"; import { type StatusTone } from "../../../ui/status-dot.js"; /** * The loud trailing word for a row a manager must act on. A child waiting on a * human also says for HOW LONG ("Needs you ยท 10h", from the server's * `requiresActionSince`), so a parked child is visible at a glance and the row * links straight to where the human answers. Null for calm rows. */ export declare function subagentAttentionHint(session: Pick, paused: boolean, now?: Date): { word: string; waitingFor: string; title?: string | undefined; } | null; /** Map a session lifecycle status onto the six-tone status language. */ export declare function sessionStatusTone(status: SessionDisplayStatus): StatusTone; /** The lineage tree, shared verbatim by the chip popover and the dock tab. */ export declare function SubagentTree({ workspaceId, nodes, onNavigate, }: { workspaceId: string; nodes: LineageNode[]; onNavigate?: (() => void) | undefined; }): import("react").JSX.Element; /** The quiet section label both homes wear above the tree. */ export declare function SubagentsLabel({ count }: { count: number; }): import("react").JSX.Element; export declare function SessionAncestryBreadcrumb({ workspaceId, parentSessionId, ancestors, loading, error, }: { workspaceId: string; /** Known from the current session even before the lineage request settles. */ parentSessionId: string | null; /** Root-to-direct-parent order. */ ancestors: SessionSummary[]; loading?: boolean | undefined; error?: Error | null | undefined; }): ReactNode;