import * as React from 'react'; import { type TakeOverAssigneeOption, type TakeOverStatusOption } from './take-over-ticket-modal'; export interface ReopenTicketSelection { statusId: string; assigneeId: string; /** Trimmed; `null` when the field was left blank. */ reason: string | null; } export interface ReopenTicketModalProps { isOpen: boolean; onClose: () => void; /** Highlighted ticket reference in the description, e.g. "1003: Email client synchronization issues". */ ticketRef: string; /** Allowed target statuses, in display order. Per design, the consumer * pre-selects Tech Required by default (annotation on the mock: "tech * required by default, but may be changed to custom status"). */ statusOptions: TakeOverStatusOption[]; /** Assignable users, in display order (consumer decides ordering, e.g. signed-in user first). */ assigneeOptions: TakeOverAssigneeOption[]; assigneesLoading?: boolean; /** Pre-selected status; falls back to the first status option. */ initialStatusId?: string | null; /** Pre-selected assignee (the design default restores the ticket's previous * assignee). No fallback — with none selected the CTA stays locked, same * as Take Over: both Status and Assigned are required to confirm. */ initialAssigneeId?: string | null; /** Confirm in-flight: buttons lock and the modal refuses to close. */ isPending?: boolean; onConfirm: (selection: ReopenTicketSelection) => void; } /** * Reopen Ticket dialog (Figma openframe---tickets 8456-17581): shown when a * technician reopens a Resolved/Archived ticket. Same Status + Assigned pair * as {@link TakeOverTicketModal} — both REQUIRED before the CTA unlocks — * plus an optional free-text reason. * Presentational — the consumer supplies the option lists, their ordering and * default selections, and performs the actual reopen in `onConfirm`. * * Desktop footer shows only the accent Reopen button (X closes); mobile * bottom-sheet adds a Cancel button, matching Take Over. */ export declare function ReopenTicketModal({ isOpen, onClose, ticketRef, statusOptions, assigneeOptions, assigneesLoading, initialStatusId, initialAssigneeId, isPending, onConfirm, }: ReopenTicketModalProps): React.JSX.Element; //# sourceMappingURL=reopen-ticket-modal.d.ts.map