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 type DeploymentInvokeGlobals = {
    environment?: string | undefined;
    contactId?: string | undefined;
};
/**
 * Indicates the type of model used to generate the response
 */
export declare const DeploymentInvokeObject: {
    readonly Chat: "chat";
    readonly Completion: "completion";
    readonly Image: "image";
};
/**
 * Indicates the type of model used to generate the response
 */
export type DeploymentInvokeObject = ClosedEnum<typeof DeploymentInvokeObject>;
/**
 * The provider used to generate the response
 */
export declare const DeploymentInvokeProvider: {
    readonly Cohere: "cohere";
    readonly Openai: "openai";
    readonly Anthropic: "anthropic";
    readonly Huggingface: "huggingface";
    readonly Replicate: "replicate";
    readonly Google: "google";
    readonly GoogleAi: "google-ai";
    readonly Azure: "azure";
    readonly Aws: "aws";
    readonly Anyscale: "anyscale";
    readonly Perplexity: "perplexity";
    readonly Groq: "groq";
    readonly Fal: "fal";
    readonly Leonardoai: "leonardoai";
    readonly Nvidia: "nvidia";
    readonly Jina: "jina";
    readonly Togetherai: "togetherai";
    readonly Elevenlabs: "elevenlabs";
    readonly Litellm: "litellm";
    readonly Openailike: "openailike";
    readonly Cerebras: "cerebras";
    readonly Bytedance: "bytedance";
    readonly Mistral: "mistral";
};
/**
 * The provider used to generate the response
 */
export type DeploymentInvokeProvider = ClosedEnum<typeof DeploymentInvokeProvider>;
/**
 * Metadata of the retrieved chunk from the knowledge base
 */
export type DeploymentInvokeMetadata = {
    /**
     * Name of the file
     */
    fileName: string;
    /**
     * Page number of the chunk
     */
    pageNumber: number | null;
    /**
     * Type of the file
     */
    fileType: string;
    /**
     * Rerank scores are normalized to be in the range [0, 1]. Scores close to 1 indicate a high relevance to the query, and scores closer to 0 indicate low relevance. It is not accurate to assume a score of 0.9 means the document is 2x more relevant than a document with a score of 0.45
     */
    rerankScore?: number | undefined;
    /**
     * Search scores are normalized to be in the range [0, 1]. Search score is calculated based on `[Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity)` algorithm. Scores close to 1 indicate the document is closer to the query, and scores closer to 0 indicate the document is farther from the query.
     */
    searchScore: number;
};
export type Retrievals = {
    /**
     * Content of the retrieved chunk from the knowledge base
     */
    document: string;
    /**
     * Metadata of the retrieved chunk from the knowledge base
     */
    metadata: DeploymentInvokeMetadata;
};
export declare const DeploymentInvokeMessageDeploymentsType: {
    readonly Image: "image";
};
export type DeploymentInvokeMessageDeploymentsType = ClosedEnum<typeof DeploymentInvokeMessageDeploymentsType>;
/**
 * The role of the prompt message
 */
export declare const DeploymentInvokeMessageRole: {
    readonly System: "system";
    readonly Assistant: "assistant";
    readonly User: "user";
    readonly Exception: "exception";
    readonly Tool: "tool";
    readonly Prompt: "prompt";
    readonly Correction: "correction";
    readonly ExpectedOutput: "expected_output";
};
/**
 * The role of the prompt message
 */
export type DeploymentInvokeMessageRole = ClosedEnum<typeof DeploymentInvokeMessageRole>;
export type Message3 = {
    type: DeploymentInvokeMessageDeploymentsType;
    /**
     * The role of the prompt message
     */
    role: DeploymentInvokeMessageRole;
    url: string;
};
export declare const DeploymentInvokeMessageType: {
    readonly Content: "content";
};
export type DeploymentInvokeMessageType = ClosedEnum<typeof DeploymentInvokeMessageType>;
/**
 * The role of the prompt message
 */
export declare const MessageRole: {
    readonly System: "system";
    readonly Assistant: "assistant";
    readonly User: "user";
    readonly Exception: "exception";
    readonly Tool: "tool";
    readonly Prompt: "prompt";
    readonly Correction: "correction";
    readonly ExpectedOutput: "expected_output";
};
/**
 * The role of the prompt message
 */
export type MessageRole = ClosedEnum<typeof MessageRole>;
export type Message2 = {
    type: DeploymentInvokeMessageType;
    /**
     * The role of the prompt message
     */
    role: MessageRole;
    content: string | null;
    /**
     * Internal thought process of the model
     */
    reasoning?: string | undefined;
    /**
     * The signature holds a cryptographic token which verifies that the thinking block was generated by the model, and is verified when thinking is part of a multiturn conversation. This value should not be modified and should always be sent to the API when the reasoning is redacted. Currently only supported by `Anthropic`.
     */
    reasoningSignature?: string | undefined;
    /**
     * Occasionally the model's internal reasoning will be flagged by the safety systems of the provider. When this occurs, the provider will encrypt the reasoning. These redacted reasoning is decrypted when passed back to the API, allowing the model to continue its response without losing context.
     */
    redactedReasoning?: string | undefined;
};
export declare const MessageType: {
    readonly ToolCalls: "tool_calls";
};
export type MessageType = ClosedEnum<typeof MessageType>;
/**
 * The role of the prompt message
 */
export declare const DeploymentInvokeMessageDeploymentsRole: {
    readonly System: "system";
    readonly Assistant: "assistant";
    readonly User: "user";
    readonly Exception: "exception";
    readonly Tool: "tool";
    readonly Prompt: "prompt";
    readonly Correction: "correction";
    readonly ExpectedOutput: "expected_output";
};
/**
 * The role of the prompt message
 */
export type DeploymentInvokeMessageDeploymentsRole = ClosedEnum<typeof DeploymentInvokeMessageDeploymentsRole>;
export declare const DeploymentInvokeMessageDeploymentsResponseType: {
    readonly Function: "function";
};
export type DeploymentInvokeMessageDeploymentsResponseType = ClosedEnum<typeof DeploymentInvokeMessageDeploymentsResponseType>;
export type MessageFunction = {
    name: string;
    /**
     * JSON string arguments for the functions
     */
    arguments: string;
};
export type MessageToolCalls = {
    id?: string | undefined;
    index?: number | undefined;
    type: DeploymentInvokeMessageDeploymentsResponseType;
    function: MessageFunction;
};
export type Message1 = {
    type: MessageType;
    /**
     * The role of the prompt message
     */
    role: DeploymentInvokeMessageDeploymentsRole;
    content?: string | null | undefined;
    toolCalls: Array<MessageToolCalls>;
    /**
     * Internal thought process of the model
     */
    reasoning?: string | undefined;
    /**
     * The signature holds a cryptographic token which verifies that the thinking block was generated by the model, and is verified when thinking is part of a multiturn conversation. This value should not be modified and should always be sent to the API when the reasoning is redacted. Currently only supported by `Anthropic`.
     */
    reasoningSignature?: string | undefined;
    /**
     * Occasionally the model's internal reasoning will be flagged by the safety systems of the provider. When this occurs, the provider will encrypt the reasoning. These redacted reasoning is decrypted when passed back to the API, allowing the model to continue its response without losing context.
     */
    redactedReasoning?: string | undefined;
};
export type Message = Message1 | Message2 | Message3;
export type DeploymentInvokeChoices = {
    index: number;
    message: Message1 | Message2 | Message3;
    finishReason?: string | null | undefined;
};
/**
 * Successful operation
 */
export type DeploymentInvokeResponseBody = {
    /**
     * A unique identifier for the response. Can be used to add metrics to the transaction.
     */
    id: string;
    /**
     * A timestamp indicating when the object was created. Usually in a standardized format like ISO 8601
     */
    created: Date;
    /**
     * Indicates the type of model used to generate the response
     */
    object: DeploymentInvokeObject;
    /**
     * The model used to generate the response
     */
    model: string;
    /**
     * The provider used to generate the response
     */
    provider: DeploymentInvokeProvider;
    /**
     * Indicates if the response is the final response
     */
    isFinal: boolean;
    /**
     * Indicates integration id used to generate the response
     */
    integrationId?: string | undefined;
    /**
     * A timestamp indicating when the object was finalized. Usually in a standardized format like ISO 8601
     */
    finalized?: Date | undefined;
    /**
     * Provider backed system fingerprint.
     */
    systemFingerprint?: string | null | undefined;
    /**
     * List of documents retrieved from the knowledge base. This property is only available when the `include_retrievals` flag is set to `true` in the invoke settings. When stream is set to true, the `retrievals` property will be returned in the last streamed chunk where the property `is_final` is set to `true`.
     */
    retrievals?: Array<Retrievals> | undefined;
    /**
     * Response returned by the model provider. This functionality is only supported when streaming is not used. If streaming is used, the `provider_response` property will be set to `null`.
     */
    providerResponse?: any | undefined;
    /**
     * A list of choices generated by the model
     */
    choices: Array<DeploymentInvokeChoices>;
};
/** @internal */
export declare const DeploymentInvokeGlobals$inboundSchema: z.ZodType<DeploymentInvokeGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type DeploymentInvokeGlobals$Outbound = {
    environment?: string | undefined;
    contactId?: string | undefined;
};
/** @internal */
export declare const DeploymentInvokeGlobals$outboundSchema: z.ZodType<DeploymentInvokeGlobals$Outbound, z.ZodTypeDef, DeploymentInvokeGlobals>;
export declare function deploymentInvokeGlobalsToJSON(deploymentInvokeGlobals: DeploymentInvokeGlobals): string;
export declare function deploymentInvokeGlobalsFromJSON(jsonString: string): SafeParseResult<DeploymentInvokeGlobals, SDKValidationError>;
/** @internal */
export declare const DeploymentInvokeObject$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeObject>;
/** @internal */
export declare const DeploymentInvokeObject$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeObject>;
/** @internal */
export declare const DeploymentInvokeProvider$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeProvider>;
/** @internal */
export declare const DeploymentInvokeProvider$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeProvider>;
/** @internal */
export declare const DeploymentInvokeMetadata$inboundSchema: z.ZodType<DeploymentInvokeMetadata, z.ZodTypeDef, unknown>;
/** @internal */
export type DeploymentInvokeMetadata$Outbound = {
    file_name: string;
    page_number: number | null;
    file_type: string;
    rerank_score?: number | undefined;
    search_score: number;
};
/** @internal */
export declare const DeploymentInvokeMetadata$outboundSchema: z.ZodType<DeploymentInvokeMetadata$Outbound, z.ZodTypeDef, DeploymentInvokeMetadata>;
export declare function deploymentInvokeMetadataToJSON(deploymentInvokeMetadata: DeploymentInvokeMetadata): string;
export declare function deploymentInvokeMetadataFromJSON(jsonString: string): SafeParseResult<DeploymentInvokeMetadata, SDKValidationError>;
/** @internal */
export declare const Retrievals$inboundSchema: z.ZodType<Retrievals, z.ZodTypeDef, unknown>;
/** @internal */
export type Retrievals$Outbound = {
    document: string;
    metadata: DeploymentInvokeMetadata$Outbound;
};
/** @internal */
export declare const Retrievals$outboundSchema: z.ZodType<Retrievals$Outbound, z.ZodTypeDef, Retrievals>;
export declare function retrievalsToJSON(retrievals: Retrievals): string;
export declare function retrievalsFromJSON(jsonString: string): SafeParseResult<Retrievals, SDKValidationError>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsType$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsType>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsType$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsType>;
/** @internal */
export declare const DeploymentInvokeMessageRole$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageRole>;
/** @internal */
export declare const DeploymentInvokeMessageRole$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageRole>;
/** @internal */
export declare const Message3$inboundSchema: z.ZodType<Message3, z.ZodTypeDef, unknown>;
/** @internal */
export type Message3$Outbound = {
    type: string;
    role: string;
    url: string;
};
/** @internal */
export declare const Message3$outboundSchema: z.ZodType<Message3$Outbound, z.ZodTypeDef, Message3>;
export declare function message3ToJSON(message3: Message3): string;
export declare function message3FromJSON(jsonString: string): SafeParseResult<Message3, SDKValidationError>;
/** @internal */
export declare const DeploymentInvokeMessageType$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageType>;
/** @internal */
export declare const DeploymentInvokeMessageType$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageType>;
/** @internal */
export declare const MessageRole$inboundSchema: z.ZodNativeEnum<typeof MessageRole>;
/** @internal */
export declare const MessageRole$outboundSchema: z.ZodNativeEnum<typeof MessageRole>;
/** @internal */
export declare const Message2$inboundSchema: z.ZodType<Message2, z.ZodTypeDef, unknown>;
/** @internal */
export type Message2$Outbound = {
    type: string;
    role: string;
    content: string | null;
    reasoning?: string | undefined;
    reasoning_signature?: string | undefined;
    redacted_reasoning?: string | undefined;
};
/** @internal */
export declare const Message2$outboundSchema: z.ZodType<Message2$Outbound, z.ZodTypeDef, Message2>;
export declare function message2ToJSON(message2: Message2): string;
export declare function message2FromJSON(jsonString: string): SafeParseResult<Message2, SDKValidationError>;
/** @internal */
export declare const MessageType$inboundSchema: z.ZodNativeEnum<typeof MessageType>;
/** @internal */
export declare const MessageType$outboundSchema: z.ZodNativeEnum<typeof MessageType>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsRole$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsRole>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsRole$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsRole>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsResponseType$inboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsResponseType>;
/** @internal */
export declare const DeploymentInvokeMessageDeploymentsResponseType$outboundSchema: z.ZodNativeEnum<typeof DeploymentInvokeMessageDeploymentsResponseType>;
/** @internal */
export declare const MessageFunction$inboundSchema: z.ZodType<MessageFunction, z.ZodTypeDef, unknown>;
/** @internal */
export type MessageFunction$Outbound = {
    name: string;
    arguments: string;
};
/** @internal */
export declare const MessageFunction$outboundSchema: z.ZodType<MessageFunction$Outbound, z.ZodTypeDef, MessageFunction>;
export declare function messageFunctionToJSON(messageFunction: MessageFunction): string;
export declare function messageFunctionFromJSON(jsonString: string): SafeParseResult<MessageFunction, SDKValidationError>;
/** @internal */
export declare const MessageToolCalls$inboundSchema: z.ZodType<MessageToolCalls, z.ZodTypeDef, unknown>;
/** @internal */
export type MessageToolCalls$Outbound = {
    id?: string | undefined;
    index?: number | undefined;
    type: string;
    function: MessageFunction$Outbound;
};
/** @internal */
export declare const MessageToolCalls$outboundSchema: z.ZodType<MessageToolCalls$Outbound, z.ZodTypeDef, MessageToolCalls>;
export declare function messageToolCallsToJSON(messageToolCalls: MessageToolCalls): string;
export declare function messageToolCallsFromJSON(jsonString: string): SafeParseResult<MessageToolCalls, SDKValidationError>;
/** @internal */
export declare const Message1$inboundSchema: z.ZodType<Message1, z.ZodTypeDef, unknown>;
/** @internal */
export type Message1$Outbound = {
    type: string;
    role: string;
    content?: string | null | undefined;
    tool_calls: Array<MessageToolCalls$Outbound>;
    reasoning?: string | undefined;
    reasoning_signature?: string | undefined;
    redacted_reasoning?: string | undefined;
};
/** @internal */
export declare const Message1$outboundSchema: z.ZodType<Message1$Outbound, z.ZodTypeDef, Message1>;
export declare function message1ToJSON(message1: Message1): string;
export declare function message1FromJSON(jsonString: string): SafeParseResult<Message1, SDKValidationError>;
/** @internal */
export declare const Message$inboundSchema: z.ZodType<Message, z.ZodTypeDef, unknown>;
/** @internal */
export type Message$Outbound = Message1$Outbound | Message2$Outbound | Message3$Outbound;
/** @internal */
export declare const Message$outboundSchema: z.ZodType<Message$Outbound, z.ZodTypeDef, Message>;
export declare function messageToJSON(message: Message): string;
export declare function messageFromJSON(jsonString: string): SafeParseResult<Message, SDKValidationError>;
/** @internal */
export declare const DeploymentInvokeChoices$inboundSchema: z.ZodType<DeploymentInvokeChoices, z.ZodTypeDef, unknown>;
/** @internal */
export type DeploymentInvokeChoices$Outbound = {
    index: number;
    message: Message1$Outbound | Message2$Outbound | Message3$Outbound;
    finish_reason?: string | null | undefined;
};
/** @internal */
export declare const DeploymentInvokeChoices$outboundSchema: z.ZodType<DeploymentInvokeChoices$Outbound, z.ZodTypeDef, DeploymentInvokeChoices>;
export declare function deploymentInvokeChoicesToJSON(deploymentInvokeChoices: DeploymentInvokeChoices): string;
export declare function deploymentInvokeChoicesFromJSON(jsonString: string): SafeParseResult<DeploymentInvokeChoices, SDKValidationError>;
/** @internal */
export declare const DeploymentInvokeResponseBody$inboundSchema: z.ZodType<DeploymentInvokeResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type DeploymentInvokeResponseBody$Outbound = {
    id: string;
    created: string;
    object: string;
    model: string;
    provider: string;
    is_final: boolean;
    integration_id?: string | undefined;
    finalized?: string | undefined;
    system_fingerprint?: string | null | undefined;
    retrievals?: Array<Retrievals$Outbound> | undefined;
    provider_response?: any | undefined;
    choices: Array<DeploymentInvokeChoices$Outbound>;
};
/** @internal */
export declare const DeploymentInvokeResponseBody$outboundSchema: z.ZodType<DeploymentInvokeResponseBody$Outbound, z.ZodTypeDef, DeploymentInvokeResponseBody>;
export declare function deploymentInvokeResponseBodyToJSON(deploymentInvokeResponseBody: DeploymentInvokeResponseBody): string;
export declare function deploymentInvokeResponseBodyFromJSON(jsonString: string): SafeParseResult<DeploymentInvokeResponseBody, SDKValidationError>;
//# sourceMappingURL=deploymentinvoke.d.ts.map