import * as React from 'react'; export interface ReopenTicketRequestSelection { /** Trimmed; `null` when the field was left blank. */ reason: string | null; /** Present ONLY when the handoff option was shown — the tech-closed * variant omits the field entirely (mirrors `TicketReopenInput`). */ handoffToTechnician?: boolean; } export interface ReopenTicketRequestModalProps { isOpen: boolean; onClose: () => void; /** * Fae resolved the ticket (`Ticket.resolvedBy === END_USER`): reopening * resumes the AI conversation, and the checkbox lets the user route to a * technician instead. When a technician closed the ticket the option is * hidden — reopening goes to a technician regardless, and the selection * omits `handoffToTechnician`. */ showHandoffOption?: boolean; /** Confirm in-flight: buttons lock and the modal refuses to close. */ isPending?: boolean; onConfirm: (selection: ReopenTicketRequestSelection) => void; } /** * Client-side Reopen Ticket dialog (Figma openframe---fae-chat 346-10518): * the end user reopening their own resolved ticket from the closed chat. * Unlike the admin `ReopenTicketModal` there is no status/assignee pair — * the backend picks the target via `requestTicketReopen`; the user only * supplies an optional reason and (for Fae-closed tickets) the handoff * choice. Presentational — the consumer performs the reopen in `onConfirm`. */ export declare function ReopenTicketRequestModal({ isOpen, onClose, showHandoffOption, isPending, onConfirm, }: ReopenTicketRequestModalProps): React.JSX.Element; //# sourceMappingURL=reopen-ticket-request-modal.d.ts.map