/// import type { NarrativeRequest } from '../../../infra/api/narrative/narrative-api-types.js'; import { Themable } from '../../../infra/contexts/theme-provider/types'; export type WidgetNarrativeInteractiveProps = { text: string; isError?: boolean; isLoading?: boolean; narrativeRequest: NarrativeRequest; onCollapsedChange?: (isCollapsed: boolean) => void; constrainedHeightPx?: number; maxConstrainedHeightPx?: number; noCollapse?: boolean; }; export declare const NarrativeTopSlotRow: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme | undefined; as?: import("react").ElementType | undefined; }, import("react").DetailedHTMLProps, HTMLDivElement>, {}>; export declare const IconDiv: import("@emotion/styled").StyledComponent<{ theme?: import("@emotion/react").Theme | undefined; as?: import("react").ElementType | undefined; } & Themable, import("react").DetailedHTMLProps, HTMLDivElement>, {}>; /** Sparkle AI icon rendered next to every narrative. */ export declare function NarrativeAiIcon({ theme }: Themable): import("react/jsx-runtime").JSX.Element; /** * Chart-area narrative text with optional thumbs feedback; mirrors legacy ChartInsights without `modules/ai`. * * @internal */ export declare function WidgetNarrativeInteractive({ text, isError, isLoading, narrativeRequest, onCollapsedChange, constrainedHeightPx, maxConstrainedHeightPx, noCollapse, }: WidgetNarrativeInteractiveProps): import("react/jsx-runtime").JSX.Element;