/**
 * This file was auto-generated by Fern from our API Definition.
 */
/**
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         state: "in_progress",
 *         open: true,
 *         snoozed_until: 1673609604,
 *         assignment: {
 *             admin_id: "991267883",
 *             assignee_id: "991267885"
 *         }
 *     }
 *
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         state: "in_progress",
 *         assignment: {
 *             admin_id: "123",
 *             assignee_id: "991267893"
 *         }
 *     }
 *
 * @example
 *     {
 *         ticket_id: "ticket_id",
 *         ticket_attributes: {
 *             "_default_title_": "example",
 *             "_default_description_": "there is a problem"
 *         },
 *         state: "in_progress",
 *         assignment: {
 *             admin_id: "991267899",
 *             assignee_id: "456"
 *         }
 *     }
 */
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 state of the ticket. */
    state?: UpdateTicketRequest.State;
    /** 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;
    assignment?: UpdateTicketRequest.Assignment;
}
export declare namespace UpdateTicketRequest {
    /**
     * The state of the ticket.
     */
    type State = "in_progress" | "waiting_on_customer" | "resolved";
    const State: {
        readonly InProgress: "in_progress";
        readonly WaitingOnCustomer: "waiting_on_customer";
        readonly Resolved: "resolved";
    };
    interface Assignment {
        /** The ID of the admin performing the action. */
        admin_id?: string;
        /** The ID of the admin or team to which the ticket is assigned. Set this 0 to unassign it. */
        assignee_id?: string;
    }
}
