///
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;