import type { AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { DOMProps } from '../../core/types/dom.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import type { StylingProps } from '../../core/types/styling-props.js'; /** * Accepted properties for `AiResponse`. * @public */ export interface AiResponseProps extends DataTestId, StylingProps, MaskingProps, DOMProps, AriaLabelingProps, BehaviorTrackingProps { /** * The content to be displayed as markdown. */ children: string; /** * Callback that is called whenever the animation state changes. */ onAnimationStateChange?: (isAnimating: boolean) => void; /** * Controls how the content is rendered and animated. * - `'static'`: Renders the entire response immediately with no animation. * - `'streaming'`: Animates content as it streams in. * - `'complete'`: Indicates streaming has finished and the full content has been passed. The component will finish animating any remaining content and turn off animation. * * @defaultValue 'streaming' */ responseState?: 'static' | 'streaming' | 'complete'; } /** * Use the `AiResponse` component to animate AI-generated content. * @public */ export declare const AiResponse: import("react").MemoExoticComponent<(props: AiResponseProps & import("react").RefAttributes) => import("react").ReactElement | null>;