import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const CreateSupportTicketConversationType: {
    readonly SupportTicket: "support_ticket";
};
export type CreateSupportTicketConversationType = ClosedEnum<typeof CreateSupportTicketConversationType>;
export declare const CreateSupportTicketConversationVisibility: {
    readonly Private: "private";
    readonly Public: "public";
};
export type CreateSupportTicketConversationVisibility = ClosedEnum<typeof CreateSupportTicketConversationVisibility>;
export declare const CreateSupportTicketConversationType1: {
    readonly Documentation: "documentation";
    readonly Site: "site";
    readonly DiscoursePost: "discourse_post";
    readonly GithubIssue: "github_issue";
    readonly GithubDiscussion: "github_discussion";
    readonly StackoverflowQuestion: "stackoverflow_question";
    readonly DiscordForumPost: "discord_forum_post";
    readonly DiscordMessage: "discord_message";
    readonly CustomQuestionAnswer: "custom_question_answer";
};
export type CreateSupportTicketConversationType1 = ClosedEnum<typeof CreateSupportTicketConversationType1>;
export type CreateSupportTicketConversationMessagesType = CreateSupportTicketConversationType1 | string;
export type CreateSupportTicketConversationLinks = {
    label?: string | null | undefined;
    url: string;
    title?: string | null | undefined;
    description?: string | null | undefined;
    type?: CreateSupportTicketConversationType1 | string | null | undefined;
    breadcrumbs?: Array<string> | null | undefined;
};
export type CreateSupportTicketConversationMessages = {
    id?: string | undefined;
    externalId?: string | null | undefined;
    externalUrl?: string | null | undefined;
    /**
     * A timestamp in ISO 8601 format with timezone information. If not provided, the current time will be used.
     */
    createdAt?: Date | null | undefined;
    /**
     * A timestamp in ISO 8601 format with timezone information. If not provided, the current time will be used.
     */
    updatedAt?: Date | null | undefined;
    role: string;
    content?: string | null | undefined;
    name?: string | null | undefined;
    links?: Array<CreateSupportTicketConversationLinks> | null | undefined;
    /**
     * A customizable collection of custom properties or attributes.
     */
    properties?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * A customizable collection of custom properties or attributes.
     */
    userProperties?: {
        [k: string]: any;
    } | null | undefined;
};
export type CreateSupportTicketConversation = {
    id?: string | undefined;
    externalId?: string | null | undefined;
    externalUrl?: string | null | undefined;
    type: CreateSupportTicketConversationType;
    supportTicketConversationId?: string | null | undefined;
    /**
     * A timestamp in ISO 8601 format with timezone information. If not provided, the current time will be used.
     */
    createdAt?: Date | null | undefined;
    /**
     * A timestamp in ISO 8601 format with timezone information. If not provided, the current time will be used.
     */
    updatedAt?: Date | null | undefined;
    projectId?: string | null | undefined;
    integrationId?: string | null | undefined;
    /**
     * A customizable collection of custom properties or attributes.
     */
    properties?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * A customizable collection of custom properties or attributes.
     */
    userProperties?: {
        [k: string]: any;
    } | null | undefined;
    tags?: Array<string> | null | undefined;
    visibility?: CreateSupportTicketConversationVisibility | null | undefined;
    messages: Array<CreateSupportTicketConversationMessages>;
};
/** @internal */
export declare const CreateSupportTicketConversationType$inboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationType>;
/** @internal */
export declare const CreateSupportTicketConversationType$outboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationType$ {
    /** @deprecated use `CreateSupportTicketConversationType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly SupportTicket: "support_ticket";
    }>;
    /** @deprecated use `CreateSupportTicketConversationType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly SupportTicket: "support_ticket";
    }>;
}
/** @internal */
export declare const CreateSupportTicketConversationVisibility$inboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationVisibility>;
/** @internal */
export declare const CreateSupportTicketConversationVisibility$outboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationVisibility>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationVisibility$ {
    /** @deprecated use `CreateSupportTicketConversationVisibility$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Private: "private";
        readonly Public: "public";
    }>;
    /** @deprecated use `CreateSupportTicketConversationVisibility$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Private: "private";
        readonly Public: "public";
    }>;
}
/** @internal */
export declare const CreateSupportTicketConversationType1$inboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationType1>;
/** @internal */
export declare const CreateSupportTicketConversationType1$outboundSchema: z.ZodNativeEnum<typeof CreateSupportTicketConversationType1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationType1$ {
    /** @deprecated use `CreateSupportTicketConversationType1$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Documentation: "documentation";
        readonly Site: "site";
        readonly DiscoursePost: "discourse_post";
        readonly GithubIssue: "github_issue";
        readonly GithubDiscussion: "github_discussion";
        readonly StackoverflowQuestion: "stackoverflow_question";
        readonly DiscordForumPost: "discord_forum_post";
        readonly DiscordMessage: "discord_message";
        readonly CustomQuestionAnswer: "custom_question_answer";
    }>;
    /** @deprecated use `CreateSupportTicketConversationType1$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Documentation: "documentation";
        readonly Site: "site";
        readonly DiscoursePost: "discourse_post";
        readonly GithubIssue: "github_issue";
        readonly GithubDiscussion: "github_discussion";
        readonly StackoverflowQuestion: "stackoverflow_question";
        readonly DiscordForumPost: "discord_forum_post";
        readonly DiscordMessage: "discord_message";
        readonly CustomQuestionAnswer: "custom_question_answer";
    }>;
}
/** @internal */
export declare const CreateSupportTicketConversationMessagesType$inboundSchema: z.ZodType<CreateSupportTicketConversationMessagesType, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportTicketConversationMessagesType$Outbound = string | string;
/** @internal */
export declare const CreateSupportTicketConversationMessagesType$outboundSchema: z.ZodType<CreateSupportTicketConversationMessagesType$Outbound, z.ZodTypeDef, CreateSupportTicketConversationMessagesType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationMessagesType$ {
    /** @deprecated use `CreateSupportTicketConversationMessagesType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<string, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportTicketConversationMessagesType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<string, z.ZodTypeDef, string>;
    /** @deprecated use `CreateSupportTicketConversationMessagesType$Outbound` instead. */
    type Outbound = CreateSupportTicketConversationMessagesType$Outbound;
}
export declare function createSupportTicketConversationMessagesTypeToJSON(createSupportTicketConversationMessagesType: CreateSupportTicketConversationMessagesType): string;
export declare function createSupportTicketConversationMessagesTypeFromJSON(jsonString: string): SafeParseResult<CreateSupportTicketConversationMessagesType, SDKValidationError>;
/** @internal */
export declare const CreateSupportTicketConversationLinks$inboundSchema: z.ZodType<CreateSupportTicketConversationLinks, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportTicketConversationLinks$Outbound = {
    label?: string | null | undefined;
    url: string;
    title?: string | null | undefined;
    description?: string | null | undefined;
    type?: string | string | null | undefined;
    breadcrumbs?: Array<string> | null | undefined;
};
/** @internal */
export declare const CreateSupportTicketConversationLinks$outboundSchema: z.ZodType<CreateSupportTicketConversationLinks$Outbound, z.ZodTypeDef, CreateSupportTicketConversationLinks>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationLinks$ {
    /** @deprecated use `CreateSupportTicketConversationLinks$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportTicketConversationLinks, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportTicketConversationLinks$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportTicketConversationLinks$Outbound, z.ZodTypeDef, CreateSupportTicketConversationLinks>;
    /** @deprecated use `CreateSupportTicketConversationLinks$Outbound` instead. */
    type Outbound = CreateSupportTicketConversationLinks$Outbound;
}
export declare function createSupportTicketConversationLinksToJSON(createSupportTicketConversationLinks: CreateSupportTicketConversationLinks): string;
export declare function createSupportTicketConversationLinksFromJSON(jsonString: string): SafeParseResult<CreateSupportTicketConversationLinks, SDKValidationError>;
/** @internal */
export declare const CreateSupportTicketConversationMessages$inboundSchema: z.ZodType<CreateSupportTicketConversationMessages, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportTicketConversationMessages$Outbound = {
    id?: string | undefined;
    externalId?: string | null | undefined;
    externalUrl?: string | null | undefined;
    createdAt?: string | null | undefined;
    updatedAt?: string | null | undefined;
    role: string;
    content?: string | null | undefined;
    name?: string | null | undefined;
    links?: Array<CreateSupportTicketConversationLinks$Outbound> | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const CreateSupportTicketConversationMessages$outboundSchema: z.ZodType<CreateSupportTicketConversationMessages$Outbound, z.ZodTypeDef, CreateSupportTicketConversationMessages>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversationMessages$ {
    /** @deprecated use `CreateSupportTicketConversationMessages$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportTicketConversationMessages, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportTicketConversationMessages$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportTicketConversationMessages$Outbound, z.ZodTypeDef, CreateSupportTicketConversationMessages>;
    /** @deprecated use `CreateSupportTicketConversationMessages$Outbound` instead. */
    type Outbound = CreateSupportTicketConversationMessages$Outbound;
}
export declare function createSupportTicketConversationMessagesToJSON(createSupportTicketConversationMessages: CreateSupportTicketConversationMessages): string;
export declare function createSupportTicketConversationMessagesFromJSON(jsonString: string): SafeParseResult<CreateSupportTicketConversationMessages, SDKValidationError>;
/** @internal */
export declare const CreateSupportTicketConversation$inboundSchema: z.ZodType<CreateSupportTicketConversation, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportTicketConversation$Outbound = {
    id?: string | undefined;
    externalId?: string | null | undefined;
    externalUrl?: string | null | undefined;
    type: string;
    supportTicketConversationId?: string | null | undefined;
    createdAt?: string | null | undefined;
    updatedAt?: string | null | undefined;
    projectId?: string | null | undefined;
    integrationId?: string | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: {
        [k: string]: any;
    } | null | undefined;
    tags?: Array<string> | null | undefined;
    visibility?: string | null | undefined;
    messages: Array<CreateSupportTicketConversationMessages$Outbound>;
};
/** @internal */
export declare const CreateSupportTicketConversation$outboundSchema: z.ZodType<CreateSupportTicketConversation$Outbound, z.ZodTypeDef, CreateSupportTicketConversation>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportTicketConversation$ {
    /** @deprecated use `CreateSupportTicketConversation$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportTicketConversation, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportTicketConversation$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportTicketConversation$Outbound, z.ZodTypeDef, CreateSupportTicketConversation>;
    /** @deprecated use `CreateSupportTicketConversation$Outbound` instead. */
    type Outbound = CreateSupportTicketConversation$Outbound;
}
export declare function createSupportTicketConversationToJSON(createSupportTicketConversation: CreateSupportTicketConversation): string;
export declare function createSupportTicketConversationFromJSON(jsonString: string): SafeParseResult<CreateSupportTicketConversation, SDKValidationError>;
//# sourceMappingURL=createsupportticketconversation.d.ts.map