import type { ReactNode } from 'react'; import type { SxProps, Theme } from '@mui/material/styles'; export interface ThemedChatAccordionStep { id: string; label: ReactNode; /** Shows the DS-owned progress indicator while `isStreaming` is true. */ isActive?: boolean; } export interface ThemedChatAccordionProps { /** Header text of the collapsed accordion (e.g. "Reasoning"). */ title: ReactNode; /** Completed and in-flight steps for a single assistant turn. */ steps: readonly ThemedChatAccordionStep[]; /** * When true the steps render inline as a flat list (active step shows a * spinner); when false they fold into a collapsed accordion. Conditionally * mounting the accordion means its uncontrolled expansion naturally starts * from `defaultExpanded` once streaming ends. */ isStreaming?: boolean; /** * Renders per-step todo/checklist status icons in the streaming view: * done steps show `check_circle`, the active step shows the spinner, and * pending steps show `radio_button_unchecked`. */ stepStatusIcons?: boolean; defaultExpanded?: boolean; /** Controlled expansion. Omit to keep the product rule: collapsed when done. */ expanded?: boolean; onChange?: (expanded: boolean) => void; sx?: SxProps; } /** * Chat "Reasoning" block for an assistant turn. While streaming it shows tool * steps inline; once streaming completes the same steps fold into a collapsed * accordion labelled `title`. Content construction (labels, Markdown, italics) * stays host-owned via `label: ReactNode`; the DS owns row layout and the * streaming spinner. * * @example * */ export declare const ThemedChatAccordion: import("react").ForwardRefExoticComponent>; //# sourceMappingURL=ThemedChatAccordion.d.ts.map