/** * @category Base */ export type ItemType = 'content' | 'product'; /** * @category Base */ export type MessageRole = 'system' | 'user' | 'assistant'; /** * @category Base */ export interface ItemVariant { attributes: Record>; color?: { name?: string; hex?: string; imageUrl?: string; }; description?: string; id: string; imageUrl?: string; price?: number; queryMatch: boolean; rating?: number; salePrice?: number; sku?: string; title?: string; url?: string; } /** * @category Base */ export interface Variants { items: Array; selectedItem?: ItemVariant; } /** * @category Base */ export interface Item { attributes?: Record>; description?: string; id: string; imageUrl?: string; price?: number; rating?: number; salePrice?: number; selectedVariant?: ItemVariant; sku?: string; title: string; url: string; variants?: Array; visible?: boolean; brand?: string | Array; } /** * @category Base */ export interface MessageItem { role: MessageRole; content: string; } /** * @category Base */ export interface MessageItemList extends Array { }