/**
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         ticket_state_id: "123",
 *         open: true,
 *         snoozed_until: 1673609604,
 *         admin_id: 991268011,
 *         assignee_id: "123"
 *     }
 *
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         ticket_state_id: "123",
 *         admin_id: 991268011,
 *         assignee_id: "123"
 *     }
 *
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         ticket_state_id: "123",
 *         admin_id: 991268011,
 *         assignee_id: "123"
 *     }
 *
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_state_id: "123"
 *     }
 */
export interface UpdateTicketRequest {
    /** The unique identifier for the ticket which is given by Intercom */
    ticket_id: string;
    /** The attributes set on the ticket. */
    ticket_attributes?: Record<string, unknown>;
    /** The ID of the ticket state associated with the ticket type. */
    ticket_state_id?: string;
    /** The ID of the company that the ticket is associated with. The unique identifier for the company which is given by Intercom. Set to nil to remove company. */
    company_id?: string;
    /** Specify if a ticket is open. Set to false to close a ticket. Closing a ticket will also unsnooze it. */
    open?: boolean;
    /** Specify whether the ticket is visible to users. */
    is_shared?: boolean;
    /** The time you want the ticket to reopen. */
    snoozed_until?: number;
    /** The ID of the admin performing ticket update. Needed for workflows execution and attributing actions to specific admins. */
    admin_id?: number;
    /** The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it. */
    assignee_id?: string;
}
