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 CreateSupportCopilotConversationType: {
    readonly SupportCopilot: "support_copilot";
};
export type CreateSupportCopilotConversationType = ClosedEnum<typeof CreateSupportCopilotConversationType>;
export declare const CreateSupportCopilotConversationVisibility: {
    readonly Private: "private";
    readonly Public: "public";
};
export type CreateSupportCopilotConversationVisibility = ClosedEnum<typeof CreateSupportCopilotConversationVisibility>;
export declare const CreateSupportCopilotConversationType1: {
    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 CreateSupportCopilotConversationType1 = ClosedEnum<typeof CreateSupportCopilotConversationType1>;
export type CreateSupportCopilotConversationMessagesType = CreateSupportCopilotConversationType1 | string;
export type CreateSupportCopilotConversationLinks = {
    label?: string | null | undefined;
    url: string;
    title?: string | null | undefined;
    description?: string | null | undefined;
    type?: CreateSupportCopilotConversationType1 | string | null | undefined;
    breadcrumbs?: Array<string> | null | undefined;
};
export type CreateSupportCopilotConversationMessages = {
    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<CreateSupportCopilotConversationLinks> | 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 CreateSupportCopilotConversation = {
    id?: string | undefined;
    externalId?: string | null | undefined;
    externalUrl?: string | null | undefined;
    type: CreateSupportCopilotConversationType;
    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?: CreateSupportCopilotConversationVisibility | null | undefined;
    messages: Array<CreateSupportCopilotConversationMessages>;
};
/** @internal */
export declare const CreateSupportCopilotConversationType$inboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationType>;
/** @internal */
export declare const CreateSupportCopilotConversationType$outboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationType$ {
    /** @deprecated use `CreateSupportCopilotConversationType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly SupportCopilot: "support_copilot";
    }>;
    /** @deprecated use `CreateSupportCopilotConversationType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly SupportCopilot: "support_copilot";
    }>;
}
/** @internal */
export declare const CreateSupportCopilotConversationVisibility$inboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationVisibility>;
/** @internal */
export declare const CreateSupportCopilotConversationVisibility$outboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationVisibility>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationVisibility$ {
    /** @deprecated use `CreateSupportCopilotConversationVisibility$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Private: "private";
        readonly Public: "public";
    }>;
    /** @deprecated use `CreateSupportCopilotConversationVisibility$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Private: "private";
        readonly Public: "public";
    }>;
}
/** @internal */
export declare const CreateSupportCopilotConversationType1$inboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationType1>;
/** @internal */
export declare const CreateSupportCopilotConversationType1$outboundSchema: z.ZodNativeEnum<typeof CreateSupportCopilotConversationType1>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationType1$ {
    /** @deprecated use `CreateSupportCopilotConversationType1$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 `CreateSupportCopilotConversationType1$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 CreateSupportCopilotConversationMessagesType$inboundSchema: z.ZodType<CreateSupportCopilotConversationMessagesType, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportCopilotConversationMessagesType$Outbound = string | string;
/** @internal */
export declare const CreateSupportCopilotConversationMessagesType$outboundSchema: z.ZodType<CreateSupportCopilotConversationMessagesType$Outbound, z.ZodTypeDef, CreateSupportCopilotConversationMessagesType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationMessagesType$ {
    /** @deprecated use `CreateSupportCopilotConversationMessagesType$inboundSchema` instead. */
    const inboundSchema: z.ZodType<string, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportCopilotConversationMessagesType$outboundSchema` instead. */
    const outboundSchema: z.ZodType<string, z.ZodTypeDef, string>;
    /** @deprecated use `CreateSupportCopilotConversationMessagesType$Outbound` instead. */
    type Outbound = CreateSupportCopilotConversationMessagesType$Outbound;
}
export declare function createSupportCopilotConversationMessagesTypeToJSON(createSupportCopilotConversationMessagesType: CreateSupportCopilotConversationMessagesType): string;
export declare function createSupportCopilotConversationMessagesTypeFromJSON(jsonString: string): SafeParseResult<CreateSupportCopilotConversationMessagesType, SDKValidationError>;
/** @internal */
export declare const CreateSupportCopilotConversationLinks$inboundSchema: z.ZodType<CreateSupportCopilotConversationLinks, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportCopilotConversationLinks$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 CreateSupportCopilotConversationLinks$outboundSchema: z.ZodType<CreateSupportCopilotConversationLinks$Outbound, z.ZodTypeDef, CreateSupportCopilotConversationLinks>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationLinks$ {
    /** @deprecated use `CreateSupportCopilotConversationLinks$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportCopilotConversationLinks, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportCopilotConversationLinks$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportCopilotConversationLinks$Outbound, z.ZodTypeDef, CreateSupportCopilotConversationLinks>;
    /** @deprecated use `CreateSupportCopilotConversationLinks$Outbound` instead. */
    type Outbound = CreateSupportCopilotConversationLinks$Outbound;
}
export declare function createSupportCopilotConversationLinksToJSON(createSupportCopilotConversationLinks: CreateSupportCopilotConversationLinks): string;
export declare function createSupportCopilotConversationLinksFromJSON(jsonString: string): SafeParseResult<CreateSupportCopilotConversationLinks, SDKValidationError>;
/** @internal */
export declare const CreateSupportCopilotConversationMessages$inboundSchema: z.ZodType<CreateSupportCopilotConversationMessages, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportCopilotConversationMessages$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<CreateSupportCopilotConversationLinks$Outbound> | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: {
        [k: string]: any;
    } | null | undefined;
};
/** @internal */
export declare const CreateSupportCopilotConversationMessages$outboundSchema: z.ZodType<CreateSupportCopilotConversationMessages$Outbound, z.ZodTypeDef, CreateSupportCopilotConversationMessages>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversationMessages$ {
    /** @deprecated use `CreateSupportCopilotConversationMessages$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportCopilotConversationMessages, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportCopilotConversationMessages$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportCopilotConversationMessages$Outbound, z.ZodTypeDef, CreateSupportCopilotConversationMessages>;
    /** @deprecated use `CreateSupportCopilotConversationMessages$Outbound` instead. */
    type Outbound = CreateSupportCopilotConversationMessages$Outbound;
}
export declare function createSupportCopilotConversationMessagesToJSON(createSupportCopilotConversationMessages: CreateSupportCopilotConversationMessages): string;
export declare function createSupportCopilotConversationMessagesFromJSON(jsonString: string): SafeParseResult<CreateSupportCopilotConversationMessages, SDKValidationError>;
/** @internal */
export declare const CreateSupportCopilotConversation$inboundSchema: z.ZodType<CreateSupportCopilotConversation, z.ZodTypeDef, unknown>;
/** @internal */
export type CreateSupportCopilotConversation$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<CreateSupportCopilotConversationMessages$Outbound>;
};
/** @internal */
export declare const CreateSupportCopilotConversation$outboundSchema: z.ZodType<CreateSupportCopilotConversation$Outbound, z.ZodTypeDef, CreateSupportCopilotConversation>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace CreateSupportCopilotConversation$ {
    /** @deprecated use `CreateSupportCopilotConversation$inboundSchema` instead. */
    const inboundSchema: z.ZodType<CreateSupportCopilotConversation, z.ZodTypeDef, unknown>;
    /** @deprecated use `CreateSupportCopilotConversation$outboundSchema` instead. */
    const outboundSchema: z.ZodType<CreateSupportCopilotConversation$Outbound, z.ZodTypeDef, CreateSupportCopilotConversation>;
    /** @deprecated use `CreateSupportCopilotConversation$Outbound` instead. */
    type Outbound = CreateSupportCopilotConversation$Outbound;
}
export declare function createSupportCopilotConversationToJSON(createSupportCopilotConversation: CreateSupportCopilotConversation): string;
export declare function createSupportCopilotConversationFromJSON(jsonString: string): SafeParseResult<CreateSupportCopilotConversation, SDKValidationError>;
//# sourceMappingURL=createsupportcopilotconversation.d.ts.map