/**
 * Apideck
 * The Apideck OpenAPI Spec: SDK Optimized
 *
 * The version of the OpenAPI document: 10.13.0
 * Contact: support@apideck.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { Assignee } from './Assignee';
import { CollectionTag } from './CollectionTag';
import { PassThroughBody } from './PassThroughBody';
/**
 *
 * @export
 * @interface Ticket
 */
export interface Ticket {
    /**
     * A unique identifier for an object.
     * @type {string}
     * @memberof Ticket
     */
    readonly id: string;
    /**
     * The ticket's parent ID
     * @type {string}
     * @memberof Ticket
     */
    parent_id?: string | null;
    /**
     * The ticket's collection ID
     * @type {string}
     * @memberof Ticket
     */
    readonly collection_id?: string | null;
    /**
     * The ticket's type
     * @type {string}
     * @memberof Ticket
     */
    type?: string | null;
    /**
     * Subject of the ticket
     * @type {string}
     * @memberof Ticket
     */
    subject?: string | null;
    /**
     * The ticket's description. HTML version of description is mapped if supported by the third-party platform
     * @type {string}
     * @memberof Ticket
     */
    description?: string | null;
    /**
     * The current status of the ticket. Possible values include: open, in_progress, closed, or - in cases where there is no clear mapping - the original value passed through.
     * @type {string}
     * @memberof Ticket
     */
    status?: string | null;
    /**
     * Priority of the ticket
     * @type {string}
     * @memberof Ticket
     */
    priority?: TicketPriority;
    /**
     *
     * @type {Array<Assignee>}
     * @memberof Ticket
     */
    assignees?: Array<Assignee>;
    /**
     * The date and time when the object was last updated.
     * @type {Date}
     * @memberof Ticket
     */
    readonly updated_at?: Date | null;
    /**
     * The date and time when the object was created.
     * @type {Date}
     * @memberof Ticket
     */
    readonly created_at?: Date | null;
    /**
     * The user who created the object.
     * @type {string}
     * @memberof Ticket
     */
    readonly created_by?: string | null;
    /**
     * Due date of the ticket
     * @type {Date}
     * @memberof Ticket
     */
    due_date?: Date | null;
    /**
     * When the ticket was completed
     * @type {Date}
     * @memberof Ticket
     */
    readonly completed_at?: Date | null;
    /**
     *
     * @type {Array<CollectionTag>}
     * @memberof Ticket
     */
    tags?: Array<CollectionTag>;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     * @type {object}
     * @memberof Ticket
     */
    readonly custom_mappings?: object | null;
    /**
     *
     * @type {PassThroughBody}
     * @memberof Ticket
     */
    pass_through?: PassThroughBody;
}
/**
 * @export
 * @enum {string}
 */
export declare enum TicketPriority {
    low = "low",
    normal = "normal",
    high = "high",
    urgent = "urgent"
}
export declare function TicketFromJSON(json: any): Ticket;
export declare function TicketFromJSONTyped(json: any, ignoreDiscriminator: boolean): Ticket;
export declare function TicketToJSON(value?: Ticket | null): any;
