import type * as Merge from "../../../../api/index";
import * as core from "../../../../core";
import * as serializers from "../../../index";
import { Permission } from "./Permission";
import { RemoteData } from "./RemoteData";
import { RemoteField } from "./RemoteField";
import { TicketAccessLevel } from "./TicketAccessLevel";
import { TicketAccount } from "./TicketAccount";
import { TicketAssignedTeamsItem } from "./TicketAssignedTeamsItem";
import { TicketAssigneesItem } from "./TicketAssigneesItem";
import { TicketCollectionsItem } from "./TicketCollectionsItem";
import { TicketContact } from "./TicketContact";
import { TicketCreator } from "./TicketCreator";
import { TicketPriority } from "./TicketPriority";
import { TicketStatus } from "./TicketStatus";
export declare const Ticket: core.serialization.ObjectSchema<serializers.ticketing.Ticket.Raw, Merge.ticketing.Ticket>;
export declare namespace Ticket {
    interface Raw {
        id?: string | null;
        remote_id?: string | null;
        created_at?: string | null;
        modified_at?: string | null;
        name?: string | null;
        assignees?: (TicketAssigneesItem.Raw | null | undefined)[] | null;
        assigned_teams?: (TicketAssignedTeamsItem.Raw | null | undefined)[] | null;
        creator?: TicketCreator.Raw | null;
        due_date?: string | null;
        status?: TicketStatus.Raw | null;
        description?: string | null;
        collections?: (TicketCollectionsItem.Raw | null | undefined)[] | null;
        ticket_type?: string | null;
        account?: TicketAccount.Raw | null;
        contact?: TicketContact.Raw | null;
        parent_ticket?: serializers.ticketing.TicketParentTicket.Raw | null;
        attachments?: (serializers.ticketing.TicketAttachmentsItem.Raw | null | undefined)[] | null;
        access_level?: TicketAccessLevel.Raw | null;
        permissions?: Permission.Raw[] | null;
        tags?: (string | null | undefined)[] | null;
        roles?: (string | null | undefined)[] | null;
        ticket_url?: string | null;
        priority?: TicketPriority.Raw | null;
        remote_created_at?: string | null;
        remote_updated_at?: string | null;
        completed_at?: string | null;
        remote_was_deleted?: boolean | null;
        field_mappings?: Record<string, unknown> | null;
        remote_data?: RemoteData.Raw[] | null;
        remote_fields?: RemoteField.Raw[] | null;
    }
}
