import * as z from "zod/v3";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import { RawResponse } from "./rawresponse.js";
import { TicketingComponent } from "./ticketingcomponent.js";
import { TicketingContent } from "./ticketingcontent.js";
import { TicketingProject } from "./ticketingproject.js";
/**
 * Organization associated with the ticket
 */
export type TicketingTicketResultOrganization = {
    /**
     * 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 TicketingTicketResult4 = {};
/**
 * The source value of the ticket priority.
 */
export type TicketingTicketResultSourceValue = string | number | boolean | TicketingTicketResult4 | Array<any>;
/**
 * The priority of the ticket.
 */
export declare enum TicketingTicketResultValue {
    Lowest = "lowest",
    Low = "low",
    Medium = "medium",
    High = "high",
    Highest = "highest",
    UnmappedValue = "unmapped_value"
}
/**
 * The priority of the ticket.
 */
export type TicketingTicketResultValueOpen = OpenEnum<typeof TicketingTicketResultValue>;
/**
 * Priority of the ticket
 */
export type TicketingTicketResultPriority = {
    /**
     * The id of the ticket priority.
     */
    id?: string | null | undefined;
    /**
     * The source value of the ticket priority.
     */
    sourceValue?: string | number | boolean | TicketingTicketResult4 | Array<any> | null | undefined;
    /**
     * The priority of the ticket.
     */
    value?: TicketingTicketResultValueOpen | null | undefined;
};
export type TicketingTicketResultSchemas4 = {};
/**
 * The source value of this status type
 */
export type TicketingTicketResultSchemasSourceValue = string | number | boolean | TicketingTicketResultSchemas4 | Array<any>;
/**
 * The type of this status
 */
export declare enum TicketingTicketResultSchemasValue {
    ToDo = "to-do",
    InProgress = "in-progress",
    Closed = "closed",
    UnmappedValue = "unmapped_value"
}
/**
 * The type of this status
 */
export type TicketingTicketResultSchemasValueOpen = OpenEnum<typeof TicketingTicketResultSchemasValue>;
/**
 * The type of this status
 */
export type TicketingTicketResultSchemasType = {
    /**
     * The source value of this status type
     */
    sourceValue?: string | number | boolean | TicketingTicketResultSchemas4 | Array<any> | null | undefined;
    /**
     * The type of this status
     */
    value?: TicketingTicketResultSchemasValueOpen | null | undefined;
};
/**
 * Current status of the ticket
 */
export type TicketingTicketResultStatus = {
    /**
     * 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?: TicketingTicketResultSchemasType | null | undefined;
};
/**
 * The type of the ticket
 */
export type TicketingTicketResultType = {
    /**
     * The id of the ticket type.
     */
    id?: string | null | undefined;
    /**
     * The name of the ticket type.
     */
    name?: string | null | undefined;
    /**
     * The project the ticket type belongs to.
     */
    projectId?: string | null | undefined;
};
export type TicketingTicketResultData = {
    /**
     * Agents assigned to the ticket
     */
    assignees?: Array<string> | null | undefined;
    /**
     * The date the ticket was closed
     */
    closedAt?: Date | null | undefined;
    /**
     * Components associated with the ticket
     */
    components?: Array<TicketingComponent> | 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?: TicketingTicketResultOrganization | null | undefined;
    /**
     * ID of the parent ticket if this is a sub-ticket
     */
    parentId?: string | null | undefined;
    /**
     * Priority of the ticket
     */
    priority?: TicketingTicketResultPriority | null | undefined;
    /**
     * Projects the ticket belongs to
     */
    projects?: Array<TicketingProject> | 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?: TicketingTicketResultStatus | 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?: TicketingTicketResultType | 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;
};
export type TicketingTicketResult = {
    data?: TicketingTicketResultData | null | undefined;
    raw?: Array<RawResponse> | null | undefined;
};
/** @internal */
export declare const TicketingTicketResultOrganization$inboundSchema: z.ZodType<TicketingTicketResultOrganization, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultOrganizationFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultOrganization, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResult4$inboundSchema: z.ZodType<TicketingTicketResult4, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResult4FromJSON(jsonString: string): SafeParseResult<TicketingTicketResult4, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultSourceValue$inboundSchema: z.ZodType<TicketingTicketResultSourceValue, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultValue$inboundSchema: z.ZodType<TicketingTicketResultValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingTicketResultPriority$inboundSchema: z.ZodType<TicketingTicketResultPriority, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultPriorityFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultPriority, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultSchemas4$inboundSchema: z.ZodType<TicketingTicketResultSchemas4, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultSchemas4FromJSON(jsonString: string): SafeParseResult<TicketingTicketResultSchemas4, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultSchemasSourceValue$inboundSchema: z.ZodType<TicketingTicketResultSchemasSourceValue, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultSchemasSourceValueFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultSchemasSourceValue, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultSchemasValue$inboundSchema: z.ZodType<TicketingTicketResultSchemasValueOpen, z.ZodTypeDef, unknown>;
/** @internal */
export declare const TicketingTicketResultSchemasType$inboundSchema: z.ZodType<TicketingTicketResultSchemasType, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultSchemasTypeFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultSchemasType, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultStatus$inboundSchema: z.ZodType<TicketingTicketResultStatus, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultStatusFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultStatus, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultType$inboundSchema: z.ZodType<TicketingTicketResultType, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultTypeFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultType, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResultData$inboundSchema: z.ZodType<TicketingTicketResultData, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultDataFromJSON(jsonString: string): SafeParseResult<TicketingTicketResultData, SDKValidationError>;
/** @internal */
export declare const TicketingTicketResult$inboundSchema: z.ZodType<TicketingTicketResult, z.ZodTypeDef, unknown>;
export declare function ticketingTicketResultFromJSON(jsonString: string): SafeParseResult<TicketingTicketResult, SDKValidationError>;
//# sourceMappingURL=ticketingticketresult.d.ts.map