import { ComponentPropsWithoutRef, ReactNode } from 'react'; /** Feedback reflected by the toolbar; `null` shows no confirmation. */ export type AgentMessageFeedback = "positive" | "negative" | null; export type AgentMessageProps = Omit, "children" | "content" | "style"> & { /** Rendered in the response column; plain strings become the default copy source. */ content: ReactNode; /** Formatted for the current locale beneath the response. */ timestamp: Date | string | number; /** * Copy source, overriding plain-string `content`. Required to copy rich * content; without either text source, the action is omitted. */ copyText?: string; /** Enables the positive feedback action when provided. */ onLike?: () => void | Promise; /** Enables the negative feedback action when provided. */ onDislike?: () => void | Promise; /** * Controlled feedback selection. A non-null value shows confirmation. * Defaults to `null`. */ currentFeedback?: AgentMessageFeedback; };