import type { Message, MessagePart } from '../../types/api'; import type { ThreadRow } from './threadRowModel'; import type { CompactActivityEntry } from './compactActivity'; interface AssistantHeaderRowProps { sessionId?: string; message: Message; onBranchCreated?: (sessionId: string) => void; } export declare const AssistantHeaderRow: import("react").NamedExoticComponent; export declare const AssistantContextRow: import("react").NamedExoticComponent<{ context: Extract["context"]; showLine: boolean; compact: boolean; }>; type AssistantItemRow = Extract; /** * A persisted part that is intentionally not shown here: its payload is * rendered by the live status row or the todo panel, or it is empty. The part * still owns this row, so the part → row mapping stays 1:1 and the row's height * never collapses to zero. */ export declare const SuppressedPartRow: import("react").NamedExoticComponent<{ partId: string; }>; interface AssistantItemRowProps { messageId: string; /** Exactly one persisted (or ephemeral) part per row — never a group. */ part: MessagePart; variant: AssistantItemRow['variant']; showLine: boolean; isFirstPart: boolean; /** True while this tool call has no result yet and shows its live box. */ isLiveToolCall: boolean; isLastMessage: boolean; canRetry: boolean; sessionId?: string; compact: boolean; onNavigateToSession?: (sessionId: string) => void; onRetryMessage?: (messageId: string) => void; onCompact?: () => void; } /** One message part, rendered with its existing renderer. */ export declare const AssistantItemRow: import("react").NamedExoticComponent; interface AssistantCompactGroupRowProps { /** One keyed entry per part of the run; identity is stable per part. */ entries: CompactActivityEntry[]; titleOverride?: string; collapsed: boolean; showLine: boolean; } /** * A contiguous run of compact exploratory activity, rendered as the single * bordered activity box the compact thread has always used: a height-capped, * auto-scrolling log while the run is live, collapsing to a one-line summary * once it is done. */ export declare const AssistantCompactGroupRow: import("react").NamedExoticComponent; interface AssistantApprovalsRowProps { sessionId?: string; messageId: string; } /** "Approve all" banner; only mounts while a turn is waiting on approvals. */ export declare const AssistantApprovalsRow: import("react").NamedExoticComponent; interface AssistantStatusRowProps { messageId: string; variant: 'tool' | 'progress' | 'loading'; part: MessagePart | null; showLine: boolean; isFirstPart: boolean; compact: boolean; } /** Live status line (tool call / progress update / generic loading copy). */ export declare const AssistantStatusRow: import("react").NamedExoticComponent; export declare const AssistantErrorRow: import("react").NamedExoticComponent<{ error: string; }>; interface AssistantFooterRowProps { sessionId?: string; message: Message; onBranchCreated?: (sessionId: string) => void; } interface AssistantShowWorkRowProps { messageId: string; expanded: boolean; compact: boolean; } /** Horizontal-rule toggle that reveals an older turn's tool work. */ export declare const AssistantShowWorkRow: import("react").NamedExoticComponent; /** Hover-revealed branch/copy actions that close out an assistant turn. */ export declare const AssistantFooterRow: import("react").NamedExoticComponent; export {}; //# sourceMappingURL=ThreadRows.d.ts.map