import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export declare const SupportTicketMessageType: {
    readonly SupportTicket: "support_ticket";
};
export type SupportTicketMessageType = ClosedEnum<typeof SupportTicketMessageType>;
export declare const Type1: {
    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 Type1 = ClosedEnum<typeof Type1>;
export type SupportTicketMessageLinksType = Type1 | string;
export type SupportTicketMessageLinks = {
    label?: string | null | undefined;
    url: string;
    title?: string | null | undefined;
    description?: string | null | undefined;
    type?: Type1 | string | null | undefined;
    breadcrumbs?: Array<string> | null | undefined;
};
/**
 * The unique identifier for the user. This value is sent by the inkeep widget.
 */
export type SupportTicketMessageId = string | number;
/**
 * The unique identifier for the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
 */
export type SupportTicketMessageUserId = string | number;
/**
 * A customizable collection of custom properties or attributes. Some properties have first class support for the Inkeep Portal or Widget and are noted in the description.
 */
export type SupportTicketMessageUserProperties = {
    /**
     * The unique identifier for the user. This value is sent by the inkeep widget.
     */
    id?: string | number | null | undefined;
    /**
     * The type of identification for the user. This value is sent by the inkeep widget.
     */
    identificationType?: string | null | undefined;
    /**
     * The unique identifier for the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    userId?: string | number | null | undefined;
    /**
     * The name of the support agent assigned to the user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    supportAgentName?: string | null | undefined;
    /**
     * The type of user. This value is sent by the Inkeep Support Agent Copilot. This value is used to create the graphs on the Inkeep Portal.
     */
    userType?: string | null | undefined;
    additionalProperties?: {
        [k: string]: any;
    } | undefined;
};
export type SupportTicketMessage = {
    id: string;
    type: SupportTicketMessageType;
    externalId: string | null;
    externalUrl: string | null;
    conversationId: string;
    createdAt: string;
    updatedAt: string;
    role: string;
    content: string | null;
    name?: string | null | undefined;
    links?: Array<SupportTicketMessageLinks> | null | undefined;
    /**
     * A customizable collection of custom properties or attributes.
     */
    properties?: {
        [k: string]: any;
    } | null | undefined;
    /**
     * A customizable collection of custom properties or attributes. Some properties have first class support for the Inkeep Portal or Widget and are noted in the description.
     */
    userProperties?: SupportTicketMessageUserProperties | null | undefined;
};
/** @internal */
export declare const SupportTicketMessageType$inboundSchema: z.ZodNativeEnum<typeof SupportTicketMessageType>;
/** @internal */
export declare const SupportTicketMessageType$outboundSchema: z.ZodNativeEnum<typeof SupportTicketMessageType>;
/** @internal */
export declare const Type1$inboundSchema: z.ZodNativeEnum<typeof Type1>;
/** @internal */
export declare const Type1$outboundSchema: z.ZodNativeEnum<typeof Type1>;
/** @internal */
export declare const SupportTicketMessageLinksType$inboundSchema: z.ZodType<SupportTicketMessageLinksType, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessageLinksType$Outbound = string | string;
/** @internal */
export declare const SupportTicketMessageLinksType$outboundSchema: z.ZodType<SupportTicketMessageLinksType$Outbound, z.ZodTypeDef, SupportTicketMessageLinksType>;
export declare function supportTicketMessageLinksTypeToJSON(supportTicketMessageLinksType: SupportTicketMessageLinksType): string;
export declare function supportTicketMessageLinksTypeFromJSON(jsonString: string): SafeParseResult<SupportTicketMessageLinksType, SDKValidationError>;
/** @internal */
export declare const SupportTicketMessageLinks$inboundSchema: z.ZodType<SupportTicketMessageLinks, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessageLinks$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 SupportTicketMessageLinks$outboundSchema: z.ZodType<SupportTicketMessageLinks$Outbound, z.ZodTypeDef, SupportTicketMessageLinks>;
export declare function supportTicketMessageLinksToJSON(supportTicketMessageLinks: SupportTicketMessageLinks): string;
export declare function supportTicketMessageLinksFromJSON(jsonString: string): SafeParseResult<SupportTicketMessageLinks, SDKValidationError>;
/** @internal */
export declare const SupportTicketMessageId$inboundSchema: z.ZodType<SupportTicketMessageId, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessageId$Outbound = string | number;
/** @internal */
export declare const SupportTicketMessageId$outboundSchema: z.ZodType<SupportTicketMessageId$Outbound, z.ZodTypeDef, SupportTicketMessageId>;
export declare function supportTicketMessageIdToJSON(supportTicketMessageId: SupportTicketMessageId): string;
export declare function supportTicketMessageIdFromJSON(jsonString: string): SafeParseResult<SupportTicketMessageId, SDKValidationError>;
/** @internal */
export declare const SupportTicketMessageUserId$inboundSchema: z.ZodType<SupportTicketMessageUserId, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessageUserId$Outbound = string | number;
/** @internal */
export declare const SupportTicketMessageUserId$outboundSchema: z.ZodType<SupportTicketMessageUserId$Outbound, z.ZodTypeDef, SupportTicketMessageUserId>;
export declare function supportTicketMessageUserIdToJSON(supportTicketMessageUserId: SupportTicketMessageUserId): string;
export declare function supportTicketMessageUserIdFromJSON(jsonString: string): SafeParseResult<SupportTicketMessageUserId, SDKValidationError>;
/** @internal */
export declare const SupportTicketMessageUserProperties$inboundSchema: z.ZodType<SupportTicketMessageUserProperties, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessageUserProperties$Outbound = {
    id?: string | number | null | undefined;
    identificationType?: string | null | undefined;
    userId?: string | number | null | undefined;
    supportAgentName?: string | null | undefined;
    userType?: string | null | undefined;
    [additionalProperties: string]: unknown;
};
/** @internal */
export declare const SupportTicketMessageUserProperties$outboundSchema: z.ZodType<SupportTicketMessageUserProperties$Outbound, z.ZodTypeDef, SupportTicketMessageUserProperties>;
export declare function supportTicketMessageUserPropertiesToJSON(supportTicketMessageUserProperties: SupportTicketMessageUserProperties): string;
export declare function supportTicketMessageUserPropertiesFromJSON(jsonString: string): SafeParseResult<SupportTicketMessageUserProperties, SDKValidationError>;
/** @internal */
export declare const SupportTicketMessage$inboundSchema: z.ZodType<SupportTicketMessage, z.ZodTypeDef, unknown>;
/** @internal */
export type SupportTicketMessage$Outbound = {
    id: string;
    type: string;
    externalId: string | null;
    externalUrl: string | null;
    conversationId: string;
    createdAt: string;
    updatedAt: string;
    role: string;
    content: string | null;
    name?: string | null | undefined;
    links?: Array<SupportTicketMessageLinks$Outbound> | null | undefined;
    properties?: {
        [k: string]: any;
    } | null | undefined;
    userProperties?: SupportTicketMessageUserProperties$Outbound | null | undefined;
};
/** @internal */
export declare const SupportTicketMessage$outboundSchema: z.ZodType<SupportTicketMessage$Outbound, z.ZodTypeDef, SupportTicketMessage>;
export declare function supportTicketMessageToJSON(supportTicketMessage: SupportTicketMessage): string;
export declare function supportTicketMessageFromJSON(jsonString: string): SafeParseResult<SupportTicketMessage, SDKValidationError>;
//# sourceMappingURL=supportticketmessage.d.ts.map