export interface ToolUse { id: string; name: string; input?: Record; description?: string; } export interface ToolResult { id: string; output: string; isError: boolean; } export type ToolGroup = { type: 'tool_group'; toolUse: ToolUse; toolResult?: ToolResult; }; export type ReasoningStep = string | ToolGroup; /** * A turn that is still working towards its first output has no reasoning of its * own yet, so the preparing steps stand in. That makes the wait read as an agent * which has started working rather than as a loading placeholder. Any real * reasoning wins immediately — the stand-ins never compete with it. */ export declare function resolveDisplayedReasoning(reasoningData: ReasoningStep[] | null | undefined, preparingSteps?: readonly string[] | null): ReasoningStep[];