import type { Component } from "@caupulican/pi-tui"; import { type TitleBadgeStatus } from "../../modes/interactive/components/tool-title.ts"; import type { Theme } from "../../modes/interactive/theme/theme.ts"; import type { GoalEvidenceRef, Requirement } from "../goals/goal-state.ts"; import type { TaskStep } from "../tasks/task-state.ts"; export type OrchestrationRowStatus = "pending" | "queued" | "running" | "in_progress" | "completed" | "succeeded" | "partial" | "blocked" | "failed" | "timeout" | "budget_exhausted" | "cancelled" | "canceled" | "reviewed" | "info"; export interface OrchestrationPanelRow { status: OrchestrationRowStatus; label: string; section?: string; meta?: readonly string[]; details?: readonly string[]; } export interface OrchestrationPanelNotice { status: "info" | "success" | "warning" | "error"; text: string; } export interface OrchestrationPanelModel { label: string; action?: string; status?: TitleBadgeStatus; summary?: readonly string[]; rows?: readonly OrchestrationPanelRow[]; notices?: readonly OrchestrationPanelNotice[]; emptyText?: string; hiddenRowCount?: number; /** Full context shown beneath the title. Detailed inspector surfaces wrap this instead of truncating it. */ description?: string; /** Preserve complete row/detail text across wrapped lines. Compact tool surfaces keep the legacy one-line form. */ wrapRows?: boolean; } export declare function goalRequirementPanelRow(requirement: Requirement): OrchestrationPanelRow; export declare function goalEvidencePanelRow(evidence: GoalEvidenceRef): OrchestrationPanelRow; export declare function taskStepPanelRow(step: TaskStep): OrchestrationPanelRow; export declare function renderOrchestrationPanelLines(theme: Theme, model: OrchestrationPanelModel, width: number, expanded?: boolean): string[]; export declare class OrchestrationPanelComponent implements Component { private cachedWidth?; private cachedLines?; private readonly theme; private readonly model; private readonly expanded; constructor(theme: Theme, model: OrchestrationPanelModel, expanded?: boolean); render(width: number): string[]; invalidate(): void; } export declare function renderOrchestrationToolResult(theme: Theme, model: OrchestrationPanelModel, options: { isPartial: boolean; collapse: boolean; expanded: boolean; }): Component; export declare function emptyOrchestrationCall(): Component; //# sourceMappingURL=orchestration-panel.d.ts.map