import * as z from "zod";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { TicketingContent, TicketingContent$Outbound } from "./ticketingcontent.js";
/**
 * Organization associated with the ticket
 */
export type Organization = {
    /**
     * The domain of the organization
     */
    domain?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * The name of the organization
     */
    name?: string | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
};
export type TicketingReadTicket4 = {};
/**
 * The source value of the ticket priority.
 */
export type TicketingReadTicketSourceValue = TicketingReadTicket4 | string | number | boolean | Array<any>;
/**
 * The priority of the ticket.
 */
export declare enum TicketingReadTicketValue {
    Lowest = "lowest",
    Low = "low",
    Medium = "medium",
    High = "high",
    Highest = "highest",
    UnmappedValue = "unmapped_value"
}
/**
 * The priority of the ticket.
 */
export type TicketingReadTicketValueOpen = OpenEnum<typeof TicketingReadTicketValue>;
/**
 * Priority of the ticket
 */
export type Priority = {
    /**
     * The id of the ticket priority.
     */
    id?: string | null | undefined;
    /**
     * The source value of the ticket priority.
     */
    sourceValue?: TicketingReadTicket4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The priority of the ticket.
     */
    value?: TicketingReadTicketValueOpen | null | undefined;
};
export type TicketingReadTicketSchemas4 = {};
/**
 * The source value of this status type
 */
export type TicketingReadTicketSchemasSourceValue = TicketingReadTicketSchemas4 | string | number | boolean | Array<any>;
/**
 * The type of this status
 */
export declare enum TicketingReadTicketSchemasValue {
    ToDo = "to-do",
    InProgress = "in-progress",
    Closed = "closed",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of this status
 */
export type TicketingReadTicketSchemasValueOpen = OpenEnum<typeof TicketingReadTicketSchemasValue>;
/**
 * The type of this status
 */
export type TicketingReadTicketSchemasType = {
    /**
     * The source value of this status type
     */
    sourceValue?: TicketingReadTicketSchemas4 | string | number | boolean | Array<any> | null | undefined;
    /**
     * The type of this status
     */
    value?: TicketingReadTicketSchemasValueOpen | null | undefined;
};
/**
 * Current status of the ticket
 */
export type TicketingReadTicketStatus = {
    /**
     * The id of the ticket status.
     */
    id?: string | null | undefined;
    /**
     * The name of the ticket status.
     */
    name?: string | null | undefined;
    /**
     * The type of this status
     */
    type?: TicketingReadTicketSchemasType | null | undefined;
};
/**
 * The type of the ticket
 */
export type TicketingReadTicketType = {
    /**
     * The collection the ticket type belongs to.
     */
    collectionId?: string | null | undefined;
    /**
     * The id of the ticket type.
     */
    id?: string | null | undefined;
    /**
     * The name of the ticket type.
     */
    name?: string | null | undefined;
};
export type TicketingReadTicket = {
    /**
     * Agents assigned to the ticket
     */
    assignees?: Array<string> | null | undefined;
    /**
     * The date the ticket was closed
     */
    closedAt?: Date | null | undefined;
    /**
     * Collections the ticket belongs to
     */
    collections?: Array<string> | null | undefined;
    /**
     * Array of content associated with the ticket
     */
    content?: Array<TicketingContent> | null | undefined;
    /**
     * The timestamp when the record was created
     */
    createdAt?: Date | null | undefined;
    /**
     * The creator of the ticket
     */
    creatorId?: string | null | undefined;
    /**
     * Unique identifier
     */
    id?: string | null | undefined;
    /**
     * Organization associated with the ticket
     */
    organization?: Organization | null | undefined;
    /**
     * ID of the parent ticket if this is a sub-ticket
     */
    parentId?: string | null | undefined;
    /**
     * Priority of the ticket
     */
    priority?: Priority | null | undefined;
    /**
     * Provider's unique identifier
     */
    remoteId?: string | null | undefined;
    /**
     * Users who reported the ticket
     */
    reporters?: Array<string> | null | undefined;
    /**
     * Current status of the ticket
     */
    status?: TicketingReadTicketStatus | null | undefined;
    /**
     * The tags of the ticket
     */
    tags?: Array<string> | null | undefined;
    /**
     * The unique ticket number or reference ID
     */
    ticketNumber?: string | null | undefined;
    /**
     * URL to view the ticket in the source system
     */
    ticketUrl?: string | null | undefined;
    /**
     * The title or subject of the ticket
     */
    title?: string | null | undefined;
    /**
     * The type of the ticket
     */
    type?: TicketingReadTicketType | null | undefined;
    /**
     * Custom Unified Fields configured in your StackOne project
     */
    unifiedCustomFields?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * The timestamp when the record was last updated
     */
    updatedAt?: Date | null | undefined;
};
/** @internal */
export declare const Organization$inboundSchema: z.ZodType<Organization, z.ZodTypeDef, unknown>;
/** @internal */
export type Organization$Outbound = {
    domain?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
    remote_id?: string | null | undefined;
};
/** @internal */
export declare const Organization$outboundSchema: z.ZodType<Organization$Outbound, z.ZodTypeDef, Organization>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Organization$ {
    /** @deprecated use `Organization$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Organization, z.ZodTypeDef, unknown>;
    /** @deprecated use `Organization$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Organization$Outbound, z.ZodTypeDef, Organization>;
    /** @deprecated use `Organization$Outbound` instead. */
    type Outbound = Organization$Outbound;
}
export declare function organizationToJSON(organization: Organization): string;
export declare function organizationFromJSON(jsonString: string): SafeParseResult<Organization, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicket4$inboundSchema: z.ZodType<TicketingReadTicket4, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicket4$Outbound = {};
/** @internal */
export declare const TicketingReadTicket4$outboundSchema: z.ZodType<TicketingReadTicket4$Outbound, z.ZodTypeDef, TicketingReadTicket4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicket4$ {
    /** @deprecated use `TicketingReadTicket4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicket4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicket4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicket4$Outbound, z.ZodTypeDef, TicketingReadTicket4>;
    /** @deprecated use `TicketingReadTicket4$Outbound` instead. */
    type Outbound = TicketingReadTicket4$Outbound;
}
export declare function ticketingReadTicket4ToJSON(ticketingReadTicket4: TicketingReadTicket4): string;
export declare function ticketingReadTicket4FromJSON(jsonString: string): SafeParseResult<TicketingReadTicket4, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketSourceValue$inboundSchema: z.ZodType<TicketingReadTicketSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketSourceValue$Outbound = TicketingReadTicket4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TicketingReadTicketSourceValue$outboundSchema: z.ZodType<TicketingReadTicketSourceValue$Outbound, z.ZodTypeDef, TicketingReadTicketSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketSourceValue$ {
    /** @deprecated use `TicketingReadTicketSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketSourceValue$Outbound, z.ZodTypeDef, TicketingReadTicketSourceValue>;
    /** @deprecated use `TicketingReadTicketSourceValue$Outbound` instead. */
    type Outbound = TicketingReadTicketSourceValue$Outbound;
}
export declare function ticketingReadTicketSourceValueToJSON(ticketingReadTicketSourceValue: TicketingReadTicketSourceValue): string;
export declare function ticketingReadTicketSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingReadTicketSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketValue$inboundSchema: z.ZodType<TicketingReadTicketValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingReadTicketValue$outboundSchema: z.ZodType<TicketingReadTicketValueOpen, z.ZodTypeDef, TicketingReadTicketValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketValue$ {
    /** @deprecated use `TicketingReadTicketValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketValueOpen, z.ZodTypeDef, TicketingReadTicketValueOpen>;
}
/** @internal */
export declare const Priority$inboundSchema: z.ZodType<Priority, z.ZodTypeDef, unknown>;
/** @internal */
export type Priority$Outbound = {
    id?: string | null | undefined;
    source_value?: TicketingReadTicket4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const Priority$outboundSchema: z.ZodType<Priority$Outbound, z.ZodTypeDef, Priority>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Priority$ {
    /** @deprecated use `Priority$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Priority, z.ZodTypeDef, unknown>;
    /** @deprecated use `Priority$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Priority$Outbound, z.ZodTypeDef, Priority>;
    /** @deprecated use `Priority$Outbound` instead. */
    type Outbound = Priority$Outbound;
}
export declare function priorityToJSON(priority: Priority): string;
export declare function priorityFromJSON(jsonString: string): SafeParseResult<Priority, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketSchemas4$inboundSchema: z.ZodType<TicketingReadTicketSchemas4, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketSchemas4$Outbound = {};
/** @internal */
export declare const TicketingReadTicketSchemas4$outboundSchema: z.ZodType<TicketingReadTicketSchemas4$Outbound, z.ZodTypeDef, TicketingReadTicketSchemas4>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketSchemas4$ {
    /** @deprecated use `TicketingReadTicketSchemas4$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketSchemas4, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketSchemas4$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketSchemas4$Outbound, z.ZodTypeDef, TicketingReadTicketSchemas4>;
    /** @deprecated use `TicketingReadTicketSchemas4$Outbound` instead. */
    type Outbound = TicketingReadTicketSchemas4$Outbound;
}
export declare function ticketingReadTicketSchemas4ToJSON(ticketingReadTicketSchemas4: TicketingReadTicketSchemas4): string;
export declare function ticketingReadTicketSchemas4FromJSON(jsonString: string): SafeParseResult<TicketingReadTicketSchemas4, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketSchemasSourceValue$inboundSchema: z.ZodType<TicketingReadTicketSchemasSourceValue, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketSchemasSourceValue$Outbound = TicketingReadTicketSchemas4$Outbound | string | number | boolean | Array<any>;
/** @internal */
export declare const TicketingReadTicketSchemasSourceValue$outboundSchema: z.ZodType<TicketingReadTicketSchemasSourceValue$Outbound, z.ZodTypeDef, TicketingReadTicketSchemasSourceValue>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketSchemasSourceValue$ {
    /** @deprecated use `TicketingReadTicketSchemasSourceValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketSchemasSourceValue, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketSchemasSourceValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketSchemasSourceValue$Outbound, z.ZodTypeDef, TicketingReadTicketSchemasSourceValue>;
    /** @deprecated use `TicketingReadTicketSchemasSourceValue$Outbound` instead. */
    type Outbound = TicketingReadTicketSchemasSourceValue$Outbound;
}
export declare function ticketingReadTicketSchemasSourceValueToJSON(ticketingReadTicketSchemasSourceValue: TicketingReadTicketSchemasSourceValue): string;
export declare function ticketingReadTicketSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingReadTicketSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketSchemasValue$inboundSchema: z.ZodType<TicketingReadTicketSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingReadTicketSchemasValue$outboundSchema: z.ZodType<TicketingReadTicketSchemasValueOpen, z.ZodTypeDef, TicketingReadTicketSchemasValueOpen>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketSchemasValue$ {
    /** @deprecated use `TicketingReadTicketSchemasValue$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketSchemasValueOpen, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketSchemasValue$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketSchemasValueOpen, z.ZodTypeDef, TicketingReadTicketSchemasValueOpen>;
}
/** @internal */
export declare const TicketingReadTicketSchemasType$inboundSchema: z.ZodType<TicketingReadTicketSchemasType, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketSchemasType$Outbound = {
    source_value?: TicketingReadTicketSchemas4$Outbound | string | number | boolean | Array<any> | null | undefined;
    value?: string | null | undefined;
};
/** @internal */
export declare const TicketingReadTicketSchemasType$outboundSchema: z.ZodType<TicketingReadTicketSchemasType$Outbound, z.ZodTypeDef, TicketingReadTicketSchemasType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketSchemasType$ {
    /** @deprecated use `TicketingReadTicketSchemasType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketSchemasType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketSchemasType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketSchemasType$Outbound, z.ZodTypeDef, TicketingReadTicketSchemasType>;
    /** @deprecated use `TicketingReadTicketSchemasType$Outbound` instead. */
    type Outbound = TicketingReadTicketSchemasType$Outbound;
}
export declare function ticketingReadTicketSchemasTypeToJSON(ticketingReadTicketSchemasType: TicketingReadTicketSchemasType): string;
export declare function ticketingReadTicketSchemasTypeFromJSON(jsonString: string): SafeParseResult<TicketingReadTicketSchemasType, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketStatus$inboundSchema: z.ZodType<TicketingReadTicketStatus, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketStatus$Outbound = {
    id?: string | null | undefined;
    name?: string | null | undefined;
    type?: TicketingReadTicketSchemasType$Outbound | null | undefined;
};
/** @internal */
export declare const TicketingReadTicketStatus$outboundSchema: z.ZodType<TicketingReadTicketStatus$Outbound, z.ZodTypeDef, TicketingReadTicketStatus>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketStatus$ {
    /** @deprecated use `TicketingReadTicketStatus$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketStatus, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketStatus$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketStatus$Outbound, z.ZodTypeDef, TicketingReadTicketStatus>;
    /** @deprecated use `TicketingReadTicketStatus$Outbound` instead. */
    type Outbound = TicketingReadTicketStatus$Outbound;
}
export declare function ticketingReadTicketStatusToJSON(ticketingReadTicketStatus: TicketingReadTicketStatus): string;
export declare function ticketingReadTicketStatusFromJSON(jsonString: string): SafeParseResult<TicketingReadTicketStatus, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicketType$inboundSchema: z.ZodType<TicketingReadTicketType, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicketType$Outbound = {
    collection_id?: string | null | undefined;
    id?: string | null | undefined;
    name?: string | null | undefined;
};
/** @internal */
export declare const TicketingReadTicketType$outboundSchema: z.ZodType<TicketingReadTicketType$Outbound, z.ZodTypeDef, TicketingReadTicketType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicketType$ {
    /** @deprecated use `TicketingReadTicketType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicketType, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicketType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicketType$Outbound, z.ZodTypeDef, TicketingReadTicketType>;
    /** @deprecated use `TicketingReadTicketType$Outbound` instead. */
    type Outbound = TicketingReadTicketType$Outbound;
}
export declare function ticketingReadTicketTypeToJSON(ticketingReadTicketType: TicketingReadTicketType): string;
export declare function ticketingReadTicketTypeFromJSON(jsonString: string): SafeParseResult<TicketingReadTicketType, SDKValidationError>;
/** @internal */
export declare const TicketingReadTicket$inboundSchema: z.ZodType<TicketingReadTicket, z.ZodTypeDef, unknown>;
/** @internal */
export type TicketingReadTicket$Outbound = {
    assignees?: Array<string> | null | undefined;
    closed_at?: string | null | undefined;
    collections?: Array<string> | null | undefined;
    content?: Array<TicketingContent$Outbound> | null | undefined;
    created_at?: string | null | undefined;
    creator_id?: string | null | undefined;
    id?: string | null | undefined;
    organization?: Organization$Outbound | null | undefined;
    parent_id?: string | null | undefined;
    priority?: Priority$Outbound | null | undefined;
    remote_id?: string | null | undefined;
    reporters?: Array<string> | null | undefined;
    status?: TicketingReadTicketStatus$Outbound | null | undefined;
    tags?: Array<string> | null | undefined;
    ticket_number?: string | null | undefined;
    ticket_url?: string | null | undefined;
    title?: string | null | undefined;
    type?: TicketingReadTicketType$Outbound | null | undefined;
    unified_custom_fields?: {
        [k: string]: any;
    } | null | undefined;
    updated_at?: string | null | undefined;
};
/** @internal */
export declare const TicketingReadTicket$outboundSchema: z.ZodType<TicketingReadTicket$Outbound, z.ZodTypeDef, TicketingReadTicket>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TicketingReadTicket$ {
    /** @deprecated use `TicketingReadTicket$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TicketingReadTicket, z.ZodTypeDef, unknown>;
    /** @deprecated use `TicketingReadTicket$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TicketingReadTicket$Outbound, z.ZodTypeDef, TicketingReadTicket>;
    /** @deprecated use `TicketingReadTicket$Outbound` instead. */
    type Outbound = TicketingReadTicket$Outbound;
}
export declare function ticketingReadTicketToJSON(ticketingReadTicket: TicketingReadTicket): string;
export declare function ticketingReadTicketFromJSON(jsonString: string): SafeParseResult<TicketingReadTicket, SDKValidationError>;
//# sourceMappingURL=ticketingreadticket.d.ts.map