import type { SandboxItem, StartupPhaseItem, WorkerItem } from "./types.js"; import { type OpenGeniText } from "../messages/runtime.js"; export declare function sandboxRowTitle(t: OpenGeniText, item: SandboxItem, displayName: (name: string) => string): string; export declare function startupPhaseTitle(t: OpenGeniText, phase: StartupPhaseItem["phase"], status: StartupPhaseItem["status"], outcome: StartupPhaseItem["outcome"]): string; export declare const STARTUP_WAIT_TITLES: (t: OpenGeniText) => Record, string>; export declare function startupDuration(durationMs: number | null): string | null; /** * A title that names an agent: the words around the name stay quiet and the * name carries the emphasis. `name` is null when no title is known, and * `text` is then the generic fallback. */ export type AgentTitleParts = { before: string; name: string | null; after: string; text: string; }; /** * `render` turns a name into the full title (a translated template with a `{name}` slot), * so each language orders the words around the name itself. */ export declare function namedAgentTitle(name: string | null | undefined, render: (name: string) => string, fallback: string): AgentTitleParts; /** The worker step title for a spawn or message, by status, naming the agent when known. */ export declare function workerRowTitleParts(t: OpenGeniText, item: Pick, name?: string | null): AgentTitleParts; /** The generic worker step title for a spawn or message, by status. */ export declare function workerRowTitle(t: OpenGeniText, item: Pick): string;