import '../icon/icon'; export type ChatMessageSender = 'assistant' | 'system' | 'user'; export type ChatMessageStatus = 'error' | 'sending' | 'sent'; /** Events emitted by the chat-message component */ export type OreChatMessageEvents = { /** Fired when the retry action is activated on a `status="error"` message */ retry: { originalEvent?: Event; }; }; /** Chat message component properties */ export type OreChatMessageProps = { /** Error detail shown beneath the bubble; only visible when `status="error"` */ error?: string; /** Display name shown above the bubble (falls back to a generic label per `sender`) */ name?: string; /** Who sent the message — controls alignment and bubble styling */ sender?: ChatMessageSender; /** Delivery status for outgoing messages — shows an inline indicator and, for `"error"`, a retry action */ status?: ChatMessageStatus; /** Append a blinking cursor after the content, for a message still streaming in */ streaming?: boolean; /** ISO 8601 timestamp; rendered as a localized short time in a semantic `