/**
 * This file was auto-generated by Fern from our API Definition.
 */
import * as Merge from "../../../index";
/**
 * # The Ticket Object
 * ### Description
 * The `Ticket` object is used to represent a ticket, issue, task or case.
 * ### Usage Example
 * TODO
 */
export interface PatchedTicketRequest {
    /** The ticket's name. */
    name?: string;
    /** The individual `Users` who are assigned to this ticket. This does not include `Users` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access the ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). */
    assignees?: (string | undefined)[];
    /** The `Teams` that are assigned to this ticket. This does not include `Teams` who just have view access to this ticket. To fetch all `Users` and `Teams` that can access this ticket, use the `GET /tickets/{ticket_id}/viewers` [endpoint](https://docs.merge.dev/ticketing/tickets/#tickets_viewers_list). */
    assignedTeams?: (string | undefined)[];
    /** The user who created this ticket. */
    creator?: string;
    /** The ticket's due date. */
    dueDate?: Date;
    /**
     * The current status of the ticket.
     *
     * * `OPEN` - OPEN
     * * `CLOSED` - CLOSED
     * * `IN_PROGRESS` - IN_PROGRESS
     * * `ON_HOLD` - ON_HOLD
     */
    status?: Merge.ticketing.PatchedTicketRequestStatus;
    /** The ticket’s description. HTML version of description is mapped if supported by the third-party platform. */
    description?: string;
    /** The `Collections` that this `Ticket` is included in. */
    collections?: (string | undefined)[];
    /** The sub category of the ticket within the 3rd party system. Examples include incident, task, subtask or to-do. */
    ticketType?: string;
    /** The account associated with the ticket. */
    account?: string;
    /** The contact associated with the ticket. */
    contact?: string;
    /** The ticket's parent ticket. */
    parentTicket?: string;
    tags?: (string | undefined)[];
    roles?: (string | undefined)[];
    /** When the ticket was completed. */
    completedAt?: Date;
    /** The 3rd party url of the Ticket. */
    ticketUrl?: string;
    /**
     * The priority or urgency of the Ticket.
     *
     * * `URGENT` - URGENT
     * * `HIGH` - HIGH
     * * `NORMAL` - NORMAL
     * * `LOW` - LOW
     */
    priority?: Merge.ticketing.PatchedTicketRequestPriority;
    integrationParams?: Record<string, unknown>;
    linkedAccountParams?: Record<string, unknown>;
    remoteFields?: Merge.ticketing.RemoteFieldRequest[];
}
