import { type ButtonHTMLAttributes } from 'react'; export interface ChatTicketItemData { id: string; title: string; ticketNumber: string; /** Accepts any known ticket status format (ACTIVE, active, ACTION_REQUIRED, etc.) */ status: string; /** Optional badge label override. If set, the badge text reads this * (e.g. HubSpot's `pipeline_stage_label` — "New" / "Closed" / * "Waiting on contact" / "Waiting on version release") while the * variant + check icon still come from the canonical `status`. * When omitted, the canonical status's default label is used * ("Resolved" for closed, "Active" for open, etc.). */ statusLabel?: string; /** Lifecycle (custom-status) kind — drives canonical-vs-color styling. */ statusKind?: string; /** Lifecycle (custom-status) hex color, used when the kind isn't canonical. */ statusColor?: string; category?: string; timeAgo?: string; /** Explicit secondary line under the title. When set, it replaces the * default `ticketNumber • category • timeAgo` composition verbatim, so * the host decides how the reference reads - the Fae client passes * `Ticket Number: 165 • 6m ago` (reference labelled but visually * secondary). An empty string hides the line. */ subtitle?: string; /** The ticket has activity the customer has not opened yet * (Figma fae-chat 1-5592): the secondary line and the chevron switch to * the brand yellow, and the line reads the unread notice unless * `subtitle` overrides it. The host clears it once the ticket is * opened, and the reference line comes back. */ unread?: boolean; /** When set, renders a "Linked work" chip with a wrench icon next to * the status tag — tells the customer at a glance that an internal * delivery task is in flight for this ticket, even before they * expand the row. The label is the linked task's status (e.g. * "Waiting on version release") so the chip carries the actual * progress signal, not just a generic marker. */ linkedTaskLabel?: string; } export interface ChatTicketItemProps extends Omit, 'onClick'> { /** Optional while `isLoading` — the skeleton placeholder needs no data. */ ticket?: ChatTicketItemData; onClick?: (ticketId: string) => void; /** Render a non-interactive skeleton placeholder sized to a real row. */ isLoading?: boolean; } declare const ChatTicketItem: import("react").ForwardRefExoticComponent>; export { ChatTicketItem }; //# sourceMappingURL=chat-ticket-item.d.ts.map