import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { Assignee } from "./assignee.js";
import { AssigneeInput, AssigneeInput$Outbound } from "./assigneeinput.js";
import { CollectionTag } from "./collectiontag.js";
import { CollectionTagInput, CollectionTagInput$Outbound } from "./collectiontaginput.js";
import { PassThroughBody, PassThroughBody$Outbound } from "./passthroughbody.js";
/**
 * Priority of the ticket
 */
export declare const TicketPriority: {
    readonly Low: "low";
    readonly Normal: "normal";
    readonly High: "high";
    readonly Urgent: "urgent";
};
/**
 * Priority of the ticket
 */
export type TicketPriority = ClosedEnum<typeof TicketPriority>;
export type Ticket = {
    /**
     * A unique identifier for an object.
     */
    id: string;
    /**
     * The ticket's parent ID
     */
    parentId?: string | null | undefined;
    /**
     * The ticket's collection ID
     */
    collectionId?: string | null | undefined;
    /**
     * The ticket's type
     */
    type?: string | null | undefined;
    /**
     * Subject of the ticket
     */
    subject?: string | null | undefined;
    /**
     * The ticket's description. HTML version of description is mapped if supported by the third-party platform
     */
    description?: string | null | undefined;
    /**
     * 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.
     */
    status?: string | null | undefined;
    /**
     * Priority of the ticket
     */
    priority?: TicketPriority | null | undefined;
    assignees?: Array<Assignee> | undefined;
    /**
     * The date and time when the object was last updated.
     */
    updatedAt?: Date | null | undefined;
    /**
     * The date and time when the object was created.
     */
    createdAt?: Date | null | undefined;
    /**
     * The user who created the object.
     */
    createdBy?: string | null | undefined;
    /**
     * Due date of the ticket
     */
    dueDate?: Date | null | undefined;
    /**
     * When the ticket was completed
     */
    completedAt?: Date | null | undefined;
    tags?: Array<CollectionTag> | undefined;
    /**
     * When custom mappings are configured on the resource, the result is included here.
     */
    customMappings?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
     */
    passThrough?: Array<PassThroughBody> | undefined;
};
export type TicketInput = {
    /**
     * The ticket's parent ID
     */
    parentId?: string | null | undefined;
    /**
     * The ticket's type
     */
    type?: string | null | undefined;
    /**
     * Subject of the ticket
     */
    subject?: string | null | undefined;
    /**
     * The ticket's description. HTML version of description is mapped if supported by the third-party platform
     */
    description?: string | null | undefined;
    /**
     * 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.
     */
    status?: string | null | undefined;
    /**
     * Priority of the ticket
     */
    priority?: TicketPriority | null | undefined;
    assignees?: Array<AssigneeInput> | undefined;
    /**
     * Due date of the ticket
     */
    dueDate?: Date | null | undefined;
    tags?: Array<CollectionTagInput> | undefined;
    /**
     * The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
     */
    passThrough?: Array<PassThroughBody> | undefined;
};
/** @internal */
export declare const TicketPriority$inboundSchema: z.ZodNativeEnum<typeof TicketPriority>;
/** @internal */
export declare const TicketPriority$outboundSchema: z.ZodNativeEnum<typeof TicketPriority>;
/** @internal */
export declare const Ticket$inboundSchema: z.ZodType<Ticket, z.ZodTypeDef, unknown>;
export declare function ticketFromJSON(jsonString: string): SafeParseResult<Ticket, SDKValidationError>;
/** @internal */
export type TicketInput$Outbound = {
    parent_id?: string | null | undefined;
    type?: string | null | undefined;
    subject?: string | null | undefined;
    description?: string | null | undefined;
    status?: string | null | undefined;
    priority?: string | null | undefined;
    assignees?: Array<AssigneeInput$Outbound> | undefined;
    due_date?: string | null | undefined;
    tags?: Array<CollectionTagInput$Outbound> | undefined;
    pass_through?: Array<PassThroughBody$Outbound> | undefined;
};
/** @internal */
export declare const TicketInput$outboundSchema: z.ZodType<TicketInput$Outbound, z.ZodTypeDef, TicketInput>;
export declare function ticketInputToJSON(ticketInput: TicketInput): string;
//# sourceMappingURL=ticket.d.ts.map