import * as z from "zod/v3";
import { EventStream } from "../../lib/event-streams.js";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as components from "../components/index.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
/**
 * Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
 */
export type CreateCompletionStop = string | Array<string>;
export type CreateCompletionFallbacks = {
    /**
     * Fallback model identifier
     */
    model: string;
};
/**
 * Retry configuration for the request
 */
export type CreateCompletionRetry = {
    /**
     * Number of retry attempts (1-5)
     */
    count?: number | undefined;
    /**
     * HTTP status codes that trigger retry logic
     */
    onCodes?: Array<number> | undefined;
};
export declare const CreateCompletionType: {
    readonly ExactMatch: "exact_match";
};
export type CreateCompletionType = ClosedEnum<typeof CreateCompletionType>;
/**
 * Cache configuration for the request.
 */
export type CreateCompletionCache = {
    /**
     * Time to live for cached responses in seconds. Maximum 259200 seconds (3 days).
     */
    ttl?: number | undefined;
    type: CreateCompletionType;
};
export declare const CreateCompletionLoadBalancerType: {
    readonly WeightBased: "weight_based";
};
export type CreateCompletionLoadBalancerType = ClosedEnum<typeof CreateCompletionLoadBalancerType>;
export type CreateCompletionLoadBalancerModels = {
    /**
     * Model identifier for load balancing
     */
    model: string;
    /**
     * Weight assigned to this model for load balancing
     */
    weight?: number | undefined;
};
export type CreateCompletionLoadBalancer1 = {
    type: CreateCompletionLoadBalancerType;
    models: Array<CreateCompletionLoadBalancerModels>;
};
/**
 * Load balancer configuration for the request.
 */
export type CreateCompletionLoadBalancer = CreateCompletionLoadBalancer1;
/**
 * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
 */
export type CreateCompletionTimeout = {
    /**
     * Timeout value in milliseconds
     */
    callTimeout: number;
};
/**
 * Configuration for the thinking mode capability. Set type to `adaptive` for models that support adaptive thinking (e.g. Claude Opus 4.6, Sonnet 4.6), or `enabled` with `budget_tokens` for manual control.
 */
export type CreateCompletionThinking = components.ThinkingConfigDisabledSchema | components.ThinkingConfigEnabledSchema | components.ThinkingConfigAdaptiveSchema;
/**
 * Retry configuration for the request
 */
export type CreateCompletionRouterCompletionsRetry = {
    /**
     * Number of retry attempts (1-5)
     */
    count?: number | undefined;
    /**
     * HTTP status codes that trigger retry logic
     */
    onCodes?: Array<number> | undefined;
};
export type CreateCompletionRouterCompletionsFallbacks = {
    /**
     * Fallback model identifier
     */
    model: string;
};
/**
 * Version of the prompt to use (currently only "latest" supported)
 */
export declare const CreateCompletionVersion: {
    readonly Latest: "latest";
};
/**
 * Version of the prompt to use (currently only "latest" supported)
 */
export type CreateCompletionVersion = ClosedEnum<typeof CreateCompletionVersion>;
/**
 * Prompt configuration for the request
 */
export type CreateCompletionPrompt = {
    /**
     * Unique identifier of the prompt to use
     */
    id: string;
    /**
     * Version of the prompt to use (currently only "latest" supported)
     */
    version: CreateCompletionVersion;
};
/**
 * Thread information to group related requests
 */
export type CreateCompletionThread = {
    /**
     * Unique thread identifier to group related invocations.
     */
    id: string;
    /**
     * Optional tags to differentiate or categorize threads
     */
    tags?: Array<string> | undefined;
};
export type CreateCompletionInputs2 = {
    key: string;
    value?: any | undefined;
    isPii?: boolean | undefined;
};
/**
 * @deprecated Use top-level `variables` field instead. Values to replace in the prompt messages using {{variableName}} syntax.
 *
 * @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
 */
export type CreateCompletionInputs = {
    [k: string]: any;
} | Array<CreateCompletionInputs2>;
export declare const CreateCompletionRouterCompletionsType: {
    readonly ExactMatch: "exact_match";
};
export type CreateCompletionRouterCompletionsType = ClosedEnum<typeof CreateCompletionRouterCompletionsType>;
/**
 * Cache configuration for the request.
 */
export type CreateCompletionRouterCompletionsCache = {
    /**
     * Time to live for cached responses in seconds. Maximum 259200 seconds (3 days).
     */
    ttl?: number | undefined;
    type: CreateCompletionRouterCompletionsType;
};
/**
 * The type of search to perform. If not provided, will default to the knowledge base configured `retrieval_type`
 */
export declare const CreateCompletionSearchType: {
    readonly VectorSearch: "vector_search";
    readonly KeywordSearch: "keyword_search";
    readonly HybridSearch: "hybrid_search";
};
/**
 * The type of search to perform. If not provided, will default to the knowledge base configured `retrieval_type`
 */
export type CreateCompletionSearchType = ClosedEnum<typeof CreateCompletionSearchType>;
/**
 * Exists
 */
export type CreateCompletionOrExists = {
    exists: boolean;
};
export type CreateCompletionOrRouterCompletionsNin = string | number | boolean;
/**
 * Not in
 */
export type CreateCompletionOrNin = {
    nin: Array<string | number | boolean>;
};
export type CreateCompletionOrRouterCompletionsIn = string | number | boolean;
/**
 * In
 */
export type CreateCompletionOrIn = {
    in: Array<string | number | boolean>;
};
/**
 * Less than or equal to
 */
export type CreateCompletionOrLte = {
    lte: number;
};
/**
 * Less than
 */
export type CreateCompletionOrLt = {
    lt: number;
};
/**
 * Greater than or equal to
 */
export type CreateCompletionOrGte = {
    gte: number;
};
/**
 * Greater than
 */
export type CreateCompletionOrGt = {
    gt: number;
};
export type CreateCompletionOrRouterCompletionsNe = string | number | boolean;
/**
 * Not equal to
 */
export type CreateCompletionOrNe = {
    ne: string | number | boolean;
};
export type CreateCompletionOrRouterCompletionsEq = string | number | boolean;
/**
 * Equal to
 */
export type CreateCompletionOrEq = {
    eq: string | number | boolean;
};
export type CreateCompletionFilterByRouterCompletionsOr = CreateCompletionOrEq | CreateCompletionOrNe | CreateCompletionOrGt | CreateCompletionOrGte | CreateCompletionOrLt | CreateCompletionOrLte | CreateCompletionOrIn | CreateCompletionOrNin | CreateCompletionOrExists;
/**
 * Or
 */
export type CreateCompletionFilterByOr = {
    or: Array<{
        [k: string]: CreateCompletionOrEq | CreateCompletionOrNe | CreateCompletionOrGt | CreateCompletionOrGte | CreateCompletionOrLt | CreateCompletionOrLte | CreateCompletionOrIn | CreateCompletionOrNin | CreateCompletionOrExists;
    }>;
};
/**
 * Exists
 */
export type CreateCompletionAndExists = {
    exists: boolean;
};
export type CreateCompletionAndRouterCompletionsNin = string | number | boolean;
/**
 * Not in
 */
export type CreateCompletionAndNin = {
    nin: Array<string | number | boolean>;
};
export type CreateCompletionAndRouterCompletionsIn = string | number | boolean;
/**
 * In
 */
export type CreateCompletionAndIn = {
    in: Array<string | number | boolean>;
};
/**
 * Less than or equal to
 */
export type CreateCompletionAndLte = {
    lte: number;
};
/**
 * Less than
 */
export type CreateCompletionAndLt = {
    lt: number;
};
/**
 * Greater than or equal to
 */
export type CreateCompletionAndGte = {
    gte: number;
};
/**
 * Greater than
 */
export type CreateCompletionAndGt = {
    gt: number;
};
export type CreateCompletionAndRouterCompletionsNe = string | number | boolean;
/**
 * Not equal to
 */
export type CreateCompletionAndNe = {
    ne: string | number | boolean;
};
export type CreateCompletionAndRouterCompletionsEq = string | number | boolean;
/**
 * Equal to
 */
export type CreateCompletionAndEq = {
    eq: string | number | boolean;
};
export type CreateCompletionFilterByRouterCompletionsAnd = CreateCompletionAndEq | CreateCompletionAndNe | CreateCompletionAndGt | CreateCompletionAndGte | CreateCompletionAndLt | CreateCompletionAndLte | CreateCompletionAndIn | CreateCompletionAndNin | CreateCompletionAndExists;
/**
 * And
 */
export type CreateCompletionFilterByAnd = {
    and: Array<{
        [k: string]: CreateCompletionAndEq | CreateCompletionAndNe | CreateCompletionAndGt | CreateCompletionAndGte | CreateCompletionAndLt | CreateCompletionAndLte | CreateCompletionAndIn | CreateCompletionAndNin | CreateCompletionAndExists;
    }>;
};
/**
 * Exists
 */
export type CreateCompletion1Exists = {
    exists: boolean;
};
export type CreateCompletion1RouterCompletionsNin = string | number | boolean;
/**
 * Not in
 */
export type CreateCompletion1Nin = {
    nin: Array<string | number | boolean>;
};
export type CreateCompletion1RouterCompletionsIn = string | number | boolean;
/**
 * In
 */
export type CreateCompletion1In = {
    in: Array<string | number | boolean>;
};
/**
 * Less than or equal to
 */
export type CreateCompletion1Lte = {
    lte: number;
};
/**
 * Less than
 */
export type CreateCompletion1Lt = {
    lt: number;
};
/**
 * Greater than or equal to
 */
export type CreateCompletion1Gte = {
    gte: number;
};
/**
 * Greater than
 */
export type CreateCompletion1Gt = {
    gt: number;
};
export type CreateCompletion1RouterCompletionsNe = string | number | boolean;
/**
 * Not equal to
 */
export type CreateCompletion1Ne = {
    ne: string | number | boolean;
};
export type CreateCompletion1RouterCompletionsEq = string | number | boolean;
/**
 * Equal to
 */
export type CreateCompletion1Eq = {
    eq: string | number | boolean;
};
export type CreateCompletionFilterBy1 = CreateCompletion1Eq | CreateCompletion1Ne | CreateCompletion1Gt | CreateCompletion1Gte | CreateCompletion1Lt | CreateCompletion1Lte | CreateCompletion1In | CreateCompletion1Nin | CreateCompletion1Exists;
/**
 * The metadata filter to apply to the search. Check the [Searching a Knowledge Base](https://docs.orq.ai/docs/knowledge/api#knowledge-base-search) for more information.
 */
export type CreateCompletionFilterBy = CreateCompletionFilterByAnd | CreateCompletionFilterByOr | {
    [k: string]: CreateCompletion1Eq | CreateCompletion1Ne | CreateCompletion1Gt | CreateCompletion1Gte | CreateCompletion1Lt | CreateCompletion1Lte | CreateCompletion1In | CreateCompletion1Nin | CreateCompletion1Exists;
};
/**
 * Additional search options
 */
export type CreateCompletionSearchOptions = {
    /**
     * Whether to include the vector in the chunk
     */
    includeVectors?: boolean | undefined;
    /**
     * Whether to include the metadata in the chunk
     */
    includeMetadata?: boolean | undefined;
    /**
     * Whether to include the scores in the chunk
     */
    includeScores?: boolean | undefined;
};
/**
 * Override the rerank configuration for this search. If not provided, will use the knowledge base configured rerank settings.
 */
export type CreateCompletionRerankConfig = {
    /**
     * The name of the rerank model to use. Refer to the [model list](https://docs.orq.ai/docs/proxy#/rerank-models).
     */
    model: string;
    /**
     * The threshold value used to filter the rerank results, only documents with a relevance score greater than the threshold will be returned
     */
    threshold?: number | undefined;
    /**
     * The number of top results to return after reranking. If not provided, will default to the knowledge base configured `top_k`.
     */
    topK?: number | undefined;
};
/**
 * Override the agentic RAG configuration for this search. If not provided, will use the knowledge base configured agentic RAG settings.
 */
export type CreateCompletionAgenticRagConfig = {
    /**
     * The name of the model for the Agent to use. Refer to the [model list](https://docs.orq.ai/docs/proxy#/chat-models).
     */
    model: string;
};
export type CreateCompletionKnowledgeBases = {
    /**
     * The number of results to return. If not provided, will default to the knowledge base configured `top_k`.
     */
    topK?: number | undefined;
    /**
     * The threshold to apply to the search. If not provided, will default to the knowledge base configured `threshold`
     */
    threshold?: number | undefined;
    /**
     * The type of search to perform. If not provided, will default to the knowledge base configured `retrieval_type`
     */
    searchType?: CreateCompletionSearchType | undefined;
    /**
     * The metadata filter to apply to the search. Check the [Searching a Knowledge Base](https://docs.orq.ai/docs/knowledge/api#knowledge-base-search) for more information.
     */
    filterBy?: CreateCompletionFilterByAnd | CreateCompletionFilterByOr | {
        [k: string]: CreateCompletion1Eq | CreateCompletion1Ne | CreateCompletion1Gt | CreateCompletion1Gte | CreateCompletion1Lt | CreateCompletion1Lte | CreateCompletion1In | CreateCompletion1Nin | CreateCompletion1Exists;
    } | undefined;
    /**
     * Additional search options
     */
    searchOptions?: CreateCompletionSearchOptions | undefined;
    /**
     * Override the rerank configuration for this search. If not provided, will use the knowledge base configured rerank settings.
     */
    rerankConfig?: CreateCompletionRerankConfig | undefined;
    /**
     * Override the agentic RAG configuration for this search. If not provided, will use the knowledge base configured agentic RAG settings.
     */
    agenticRagConfig?: CreateCompletionAgenticRagConfig | undefined;
    /**
     * Unique identifier of the knowledge base to search
     */
    knowledgeId: string;
    /**
     * The query to use to search the knowledge base. If not provided we will use the last user message from the messages of the requests
     */
    query?: string | undefined;
};
export declare const CreateCompletionLoadBalancerRouterCompletionsType: {
    readonly WeightBased: "weight_based";
};
export type CreateCompletionLoadBalancerRouterCompletionsType = ClosedEnum<typeof CreateCompletionLoadBalancerRouterCompletionsType>;
export type CreateCompletionLoadBalancerRouterCompletionsModels = {
    /**
     * Model identifier for load balancing
     */
    model: string;
    /**
     * Weight assigned to this model for load balancing
     */
    weight?: number | undefined;
};
export type CreateCompletionLoadBalancerRouterCompletions1 = {
    type: CreateCompletionLoadBalancerRouterCompletionsType;
    models: Array<CreateCompletionLoadBalancerRouterCompletionsModels>;
};
/**
 * Array of models with weights for load balancing requests
 */
export type CreateCompletionRouterCompletionsLoadBalancer = CreateCompletionLoadBalancerRouterCompletions1;
/**
 * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
 */
export type CreateCompletionRouterCompletionsTimeout = {
    /**
     * Timeout value in milliseconds
     */
    callTimeout: number;
};
/**
 * Leverage Orq's intelligent routing capabilities to enhance your AI application with enterprise-grade reliability and observability. Orq provides automatic request management including retries on failures, model fallbacks for high availability, identity-level analytics tracking, conversation threading, and dynamic prompt templating with variable substitution.
 *
 * @deprecated class: This will be removed in a future release, please migrate away from it as soon as possible.
 */
export type CreateCompletionOrq = {
    /**
     * The name to display on the trace. If not specified, the default system name will be used.
     */
    name?: string | undefined;
    /**
     * Retry configuration for the request
     */
    retry?: CreateCompletionRouterCompletionsRetry | undefined;
    /**
     * Array of fallback models to use if primary model fails
     */
    fallbacks?: Array<CreateCompletionRouterCompletionsFallbacks> | undefined;
    /**
     * Prompt configuration for the request
     */
    prompt?: CreateCompletionPrompt | undefined;
    /**
     * Information about the identity making the request. If the identity does not exist, it will be created automatically.
     */
    identity?: components.PublicIdentity | undefined;
    /**
     * @deprecated Use identity instead. Information about the contact making the request.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    contact?: components.PublicContact | undefined;
    /**
     * Thread information to group related requests
     */
    thread?: CreateCompletionThread | undefined;
    /**
     * @deprecated Use top-level `variables` field instead. Values to replace in the prompt messages using {{variableName}} syntax.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    inputs?: {
        [k: string]: any;
    } | Array<CreateCompletionInputs2> | undefined;
    /**
     * Cache configuration for the request.
     */
    cache?: CreateCompletionRouterCompletionsCache | undefined;
    knowledgeBases?: Array<CreateCompletionKnowledgeBases> | undefined;
    /**
     * Array of models with weights for load balancing requests
     */
    loadBalancer?: CreateCompletionLoadBalancerRouterCompletions1 | undefined;
    /**
     * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
     */
    timeout?: CreateCompletionRouterCompletionsTimeout | undefined;
};
export type CreateCompletionRequestBody = {
    /**
     * ID of the model to use
     */
    model: string;
    /**
     * The prompt(s) to generate completions for, encoded as a string, array of strings, array of tokens, or array of token arrays.
     */
    prompt: string;
    /**
     * Echo back the prompt in addition to the completion
     */
    echo?: boolean | null | undefined;
    /**
     * Number between -2.0 and 2.0. Positive values penalize new tokens based on their existing frequency in the text so far, decreasing the model's likelihood to repeat the same line verbatim.
     */
    frequencyPenalty?: number | null | undefined;
    /**
     * The maximum number of tokens that can be generated in the completion.
     */
    maxTokens?: number | null | undefined;
    /**
     * Number between -2.0 and 2.0. Positive values penalize new tokens based on whether they appear in the text so far, increasing the model's likelihood to talk about new topics.
     */
    presencePenalty?: number | null | undefined;
    /**
     * If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result.
     */
    seed?: number | null | undefined;
    /**
     * Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
     */
    stop?: string | Array<string> | null | undefined;
    /**
     * What sampling temperature to use, between 0 and 2. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.
     */
    temperature?: number | null | undefined;
    /**
     * An alternative to sampling with temperature, called nucleus sampling, where the model considers the results of the tokens with top_p probability mass. So 0.1 means only the tokens comprising the top 10% probability mass are considered.
     */
    topP?: number | null | undefined;
    /**
     * How many completions to generate for each prompt. Note: Because this parameter generates many completions, it can quickly consume your token quota.
     */
    n?: number | null | undefined;
    /**
     * A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse.
     */
    user?: string | undefined;
    /**
     * The name to display on the trace. If not specified, the default system name will be used.
     */
    name?: string | undefined;
    /**
     * Array of fallback models to use if primary model fails
     */
    fallbacks?: Array<CreateCompletionFallbacks> | undefined;
    /**
     * Retry configuration for the request
     */
    retry?: CreateCompletionRetry | undefined;
    /**
     * Cache configuration for the request.
     */
    cache?: CreateCompletionCache | undefined;
    /**
     * Load balancer configuration for the request.
     */
    loadBalancer?: CreateCompletionLoadBalancer1 | undefined;
    /**
     * Timeout configuration to apply to the request. If the request exceeds the timeout, it will be retried or fallback to the next model if configured.
     */
    timeout?: CreateCompletionTimeout | undefined;
    /**
     * Configuration for the thinking mode capability. Set type to `adaptive` for models that support adaptive thinking (e.g. Claude Opus 4.6, Sonnet 4.6), or `enabled` with `budget_tokens` for manual control.
     */
    thinking?: components.ThinkingConfigDisabledSchema | components.ThinkingConfigEnabledSchema | components.ThinkingConfigAdaptiveSchema | null | undefined;
    /**
     * Leverage Orq's intelligent routing capabilities to enhance your AI application with enterprise-grade reliability and observability. Orq provides automatic request management including retries on failures, model fallbacks for high availability, identity-level analytics tracking, conversation threading, and dynamic prompt templating with variable substitution.
     *
     * @deprecated field: This will be removed in a future release, please migrate away from it as soon as possible.
     */
    orq?: CreateCompletionOrq | undefined;
    stream?: boolean | undefined;
};
/**
 * The reason the model stopped generating tokens.
 */
export declare const CreateCompletionRouterCompletionsFinishReason: {
    readonly Stop: "stop";
    readonly Length: "length";
    readonly ContentFilter: "content_filter";
    readonly ToolCalls: "tool_calls";
};
/**
 * The reason the model stopped generating tokens.
 */
export type CreateCompletionRouterCompletionsFinishReason = ClosedEnum<typeof CreateCompletionRouterCompletionsFinishReason>;
export type CreateCompletionRouterCompletionsChoices = {
    /**
     * The reason the model stopped generating tokens.
     */
    finishReason: CreateCompletionRouterCompletionsFinishReason;
    /**
     * The index of the choice in the list of choices.
     */
    index: number;
    text: string;
};
/**
 * The Unix timestamp (in seconds) of when the chat completion was created.
 */
export type CreateCompletionCreated = string | number;
export type CreateCompletionRouterCompletionsPromptTokensDetails = {
    cachedTokens?: number | null | undefined;
    cacheCreationTokens?: number | null | undefined;
    /**
     * The number of audio input tokens consumed by the request.
     */
    audioTokens?: number | null | undefined;
};
export type CreateCompletionRouterCompletionsCompletionTokensDetails = {
    reasoningTokens?: number | null | undefined;
    acceptedPredictionTokens?: number | null | undefined;
    rejectedPredictionTokens?: number | null | undefined;
    /**
     * The number of audio output tokens produced by the response.
     */
    audioTokens?: number | null | undefined;
};
/**
 * Usage statistics for the completion request.
 */
export type CreateCompletionRouterCompletionsUsage = {
    /**
     * Number of tokens in the generated completion.
     */
    completionTokens?: number | undefined;
    /**
     * Number of tokens in the prompt.
     */
    promptTokens?: number | undefined;
    /**
     * Total number of tokens used in the request (prompt + completion).
     */
    totalTokens?: number | undefined;
    promptTokensDetails?: CreateCompletionRouterCompletionsPromptTokensDetails | null | undefined;
    completionTokensDetails?: CreateCompletionRouterCompletionsCompletionTokensDetails | null | undefined;
};
export type CreateCompletionData = {
    /**
     * A unique identifier for the completion.
     */
    id: string;
    /**
     * The list of completion choices the model generated for the input prompt.
     */
    choices: Array<CreateCompletionRouterCompletionsChoices>;
    /**
     * The Unix timestamp (in seconds) of when the chat completion was created.
     */
    created?: string | number | undefined;
    /**
     * The model used for the chat completion.
     */
    model: string;
    /**
     * This fingerprint represents the backend configuration that the model runs with.
     */
    systemFingerprint?: string | undefined;
    /**
     * The object type
     */
    object: string;
    /**
     * Usage statistics for the completion request.
     */
    usage?: CreateCompletionRouterCompletionsUsage | undefined;
};
/**
 * Represents a completion response from the API.
 */
export type CreateCompletionRouterCompletionsResponseBody = {
    data?: CreateCompletionData | undefined;
};
/**
 * The reason the model stopped generating tokens.
 */
export declare const CreateCompletionFinishReason: {
    readonly Stop: "stop";
    readonly Length: "length";
    readonly ContentFilter: "content_filter";
    readonly ToolCalls: "tool_calls";
};
/**
 * The reason the model stopped generating tokens.
 */
export type CreateCompletionFinishReason = ClosedEnum<typeof CreateCompletionFinishReason>;
export type CreateCompletionChoices = {
    /**
     * The reason the model stopped generating tokens.
     */
    finishReason: CreateCompletionFinishReason;
    /**
     * The index of the choice in the list of choices.
     */
    index: number;
    text: string;
};
/**
 * The Unix timestamp (in seconds) of when the chat completion was created.
 */
export type Created = string | number;
export type CreateCompletionPromptTokensDetails = {
    cachedTokens?: number | null | undefined;
    cacheCreationTokens?: number | null | undefined;
    /**
     * The number of audio input tokens consumed by the request.
     */
    audioTokens?: number | null | undefined;
};
export type CreateCompletionCompletionTokensDetails = {
    reasoningTokens?: number | null | undefined;
    acceptedPredictionTokens?: number | null | undefined;
    rejectedPredictionTokens?: number | null | undefined;
    /**
     * The number of audio output tokens produced by the response.
     */
    audioTokens?: number | null | undefined;
};
/**
 * Usage statistics for the completion request.
 */
export type CreateCompletionUsage = {
    /**
     * Number of tokens in the generated completion.
     */
    completionTokens?: number | undefined;
    /**
     * Number of tokens in the prompt.
     */
    promptTokens?: number | undefined;
    /**
     * Total number of tokens used in the request (prompt + completion).
     */
    totalTokens?: number | undefined;
    promptTokensDetails?: CreateCompletionPromptTokensDetails | null | undefined;
    completionTokensDetails?: CreateCompletionCompletionTokensDetails | null | undefined;
};
/**
 * Represents a completion response from the API.
 */
export type CreateCompletionResponseBody = {
    /**
     * A unique identifier for the completion.
     */
    id: string;
    /**
     * The list of completion choices the model generated for the input prompt.
     */
    choices: Array<CreateCompletionChoices>;
    /**
     * The Unix timestamp (in seconds) of when the chat completion was created.
     */
    created?: string | number | undefined;
    /**
     * The model used for the chat completion.
     */
    model: string;
    /**
     * This fingerprint represents the backend configuration that the model runs with.
     */
    systemFingerprint?: string | undefined;
    /**
     * The object type
     */
    object: string;
    /**
     * Usage statistics for the completion request.
     */
    usage?: CreateCompletionUsage | undefined;
};
export type CreateCompletionResponse = CreateCompletionResponseBody | EventStream<CreateCompletionRouterCompletionsResponseBody>;
/** @internal */
export type CreateCompletionStop$Outbound = string | Array<string>;
/** @internal */
export declare const CreateCompletionStop$outboundSchema: z.ZodType<CreateCompletionStop$Outbound, z.ZodTypeDef, CreateCompletionStop>;
export declare function createCompletionStopToJSON(createCompletionStop: CreateCompletionStop): string;
/** @internal */
export type CreateCompletionFallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateCompletionFallbacks$outboundSchema: z.ZodType<CreateCompletionFallbacks$Outbound, z.ZodTypeDef, CreateCompletionFallbacks>;
export declare function createCompletionFallbacksToJSON(createCompletionFallbacks: CreateCompletionFallbacks): string;
/** @internal */
export type CreateCompletionRetry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const CreateCompletionRetry$outboundSchema: z.ZodType<CreateCompletionRetry$Outbound, z.ZodTypeDef, CreateCompletionRetry>;
export declare function createCompletionRetryToJSON(createCompletionRetry: CreateCompletionRetry): string;
/** @internal */
export declare const CreateCompletionType$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionType>;
/** @internal */
export type CreateCompletionCache$Outbound = {
    ttl: number;
    type: string;
};
/** @internal */
export declare const CreateCompletionCache$outboundSchema: z.ZodType<CreateCompletionCache$Outbound, z.ZodTypeDef, CreateCompletionCache>;
export declare function createCompletionCacheToJSON(createCompletionCache: CreateCompletionCache): string;
/** @internal */
export declare const CreateCompletionLoadBalancerType$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionLoadBalancerType>;
/** @internal */
export type CreateCompletionLoadBalancerModels$Outbound = {
    model: string;
    weight: number;
};
/** @internal */
export declare const CreateCompletionLoadBalancerModels$outboundSchema: z.ZodType<CreateCompletionLoadBalancerModels$Outbound, z.ZodTypeDef, CreateCompletionLoadBalancerModels>;
export declare function createCompletionLoadBalancerModelsToJSON(createCompletionLoadBalancerModels: CreateCompletionLoadBalancerModels): string;
/** @internal */
export type CreateCompletionLoadBalancer1$Outbound = {
    type: string;
    models: Array<CreateCompletionLoadBalancerModels$Outbound>;
};
/** @internal */
export declare const CreateCompletionLoadBalancer1$outboundSchema: z.ZodType<CreateCompletionLoadBalancer1$Outbound, z.ZodTypeDef, CreateCompletionLoadBalancer1>;
export declare function createCompletionLoadBalancer1ToJSON(createCompletionLoadBalancer1: CreateCompletionLoadBalancer1): string;
/** @internal */
export type CreateCompletionLoadBalancer$Outbound = CreateCompletionLoadBalancer1$Outbound;
/** @internal */
export declare const CreateCompletionLoadBalancer$outboundSchema: z.ZodType<CreateCompletionLoadBalancer$Outbound, z.ZodTypeDef, CreateCompletionLoadBalancer>;
export declare function createCompletionLoadBalancerToJSON(createCompletionLoadBalancer: CreateCompletionLoadBalancer): string;
/** @internal */
export type CreateCompletionTimeout$Outbound = {
    call_timeout: number;
};
/** @internal */
export declare const CreateCompletionTimeout$outboundSchema: z.ZodType<CreateCompletionTimeout$Outbound, z.ZodTypeDef, CreateCompletionTimeout>;
export declare function createCompletionTimeoutToJSON(createCompletionTimeout: CreateCompletionTimeout): string;
/** @internal */
export type CreateCompletionThinking$Outbound = components.ThinkingConfigDisabledSchema$Outbound | components.ThinkingConfigEnabledSchema$Outbound | components.ThinkingConfigAdaptiveSchema$Outbound;
/** @internal */
export declare const CreateCompletionThinking$outboundSchema: z.ZodType<CreateCompletionThinking$Outbound, z.ZodTypeDef, CreateCompletionThinking>;
export declare function createCompletionThinkingToJSON(createCompletionThinking: CreateCompletionThinking): string;
/** @internal */
export type CreateCompletionRouterCompletionsRetry$Outbound = {
    count: number;
    on_codes?: Array<number> | undefined;
};
/** @internal */
export declare const CreateCompletionRouterCompletionsRetry$outboundSchema: z.ZodType<CreateCompletionRouterCompletionsRetry$Outbound, z.ZodTypeDef, CreateCompletionRouterCompletionsRetry>;
export declare function createCompletionRouterCompletionsRetryToJSON(createCompletionRouterCompletionsRetry: CreateCompletionRouterCompletionsRetry): string;
/** @internal */
export type CreateCompletionRouterCompletionsFallbacks$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateCompletionRouterCompletionsFallbacks$outboundSchema: z.ZodType<CreateCompletionRouterCompletionsFallbacks$Outbound, z.ZodTypeDef, CreateCompletionRouterCompletionsFallbacks>;
export declare function createCompletionRouterCompletionsFallbacksToJSON(createCompletionRouterCompletionsFallbacks: CreateCompletionRouterCompletionsFallbacks): string;
/** @internal */
export declare const CreateCompletionVersion$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionVersion>;
/** @internal */
export type CreateCompletionPrompt$Outbound = {
    id: string;
    version: string;
};
/** @internal */
export declare const CreateCompletionPrompt$outboundSchema: z.ZodType<CreateCompletionPrompt$Outbound, z.ZodTypeDef, CreateCompletionPrompt>;
export declare function createCompletionPromptToJSON(createCompletionPrompt: CreateCompletionPrompt): string;
/** @internal */
export type CreateCompletionThread$Outbound = {
    id: string;
    tags?: Array<string> | undefined;
};
/** @internal */
export declare const CreateCompletionThread$outboundSchema: z.ZodType<CreateCompletionThread$Outbound, z.ZodTypeDef, CreateCompletionThread>;
export declare function createCompletionThreadToJSON(createCompletionThread: CreateCompletionThread): string;
/** @internal */
export type CreateCompletionInputs2$Outbound = {
    key: string;
    value?: any | undefined;
    is_pii?: boolean | undefined;
};
/** @internal */
export declare const CreateCompletionInputs2$outboundSchema: z.ZodType<CreateCompletionInputs2$Outbound, z.ZodTypeDef, CreateCompletionInputs2>;
export declare function createCompletionInputs2ToJSON(createCompletionInputs2: CreateCompletionInputs2): string;
/** @internal */
export type CreateCompletionInputs$Outbound = {
    [k: string]: any;
} | Array<CreateCompletionInputs2$Outbound>;
/** @internal */
export declare const CreateCompletionInputs$outboundSchema: z.ZodType<CreateCompletionInputs$Outbound, z.ZodTypeDef, CreateCompletionInputs>;
export declare function createCompletionInputsToJSON(createCompletionInputs: CreateCompletionInputs): string;
/** @internal */
export declare const CreateCompletionRouterCompletionsType$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionRouterCompletionsType>;
/** @internal */
export type CreateCompletionRouterCompletionsCache$Outbound = {
    ttl: number;
    type: string;
};
/** @internal */
export declare const CreateCompletionRouterCompletionsCache$outboundSchema: z.ZodType<CreateCompletionRouterCompletionsCache$Outbound, z.ZodTypeDef, CreateCompletionRouterCompletionsCache>;
export declare function createCompletionRouterCompletionsCacheToJSON(createCompletionRouterCompletionsCache: CreateCompletionRouterCompletionsCache): string;
/** @internal */
export declare const CreateCompletionSearchType$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionSearchType>;
/** @internal */
export type CreateCompletionOrExists$Outbound = {
    exists: boolean;
};
/** @internal */
export declare const CreateCompletionOrExists$outboundSchema: z.ZodType<CreateCompletionOrExists$Outbound, z.ZodTypeDef, CreateCompletionOrExists>;
export declare function createCompletionOrExistsToJSON(createCompletionOrExists: CreateCompletionOrExists): string;
/** @internal */
export type CreateCompletionOrRouterCompletionsNin$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionOrRouterCompletionsNin$outboundSchema: z.ZodType<CreateCompletionOrRouterCompletionsNin$Outbound, z.ZodTypeDef, CreateCompletionOrRouterCompletionsNin>;
export declare function createCompletionOrRouterCompletionsNinToJSON(createCompletionOrRouterCompletionsNin: CreateCompletionOrRouterCompletionsNin): string;
/** @internal */
export type CreateCompletionOrNin$Outbound = {
    nin: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletionOrNin$outboundSchema: z.ZodType<CreateCompletionOrNin$Outbound, z.ZodTypeDef, CreateCompletionOrNin>;
export declare function createCompletionOrNinToJSON(createCompletionOrNin: CreateCompletionOrNin): string;
/** @internal */
export type CreateCompletionOrRouterCompletionsIn$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionOrRouterCompletionsIn$outboundSchema: z.ZodType<CreateCompletionOrRouterCompletionsIn$Outbound, z.ZodTypeDef, CreateCompletionOrRouterCompletionsIn>;
export declare function createCompletionOrRouterCompletionsInToJSON(createCompletionOrRouterCompletionsIn: CreateCompletionOrRouterCompletionsIn): string;
/** @internal */
export type CreateCompletionOrIn$Outbound = {
    in: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletionOrIn$outboundSchema: z.ZodType<CreateCompletionOrIn$Outbound, z.ZodTypeDef, CreateCompletionOrIn>;
export declare function createCompletionOrInToJSON(createCompletionOrIn: CreateCompletionOrIn): string;
/** @internal */
export type CreateCompletionOrLte$Outbound = {
    lte: number;
};
/** @internal */
export declare const CreateCompletionOrLte$outboundSchema: z.ZodType<CreateCompletionOrLte$Outbound, z.ZodTypeDef, CreateCompletionOrLte>;
export declare function createCompletionOrLteToJSON(createCompletionOrLte: CreateCompletionOrLte): string;
/** @internal */
export type CreateCompletionOrLt$Outbound = {
    lt: number;
};
/** @internal */
export declare const CreateCompletionOrLt$outboundSchema: z.ZodType<CreateCompletionOrLt$Outbound, z.ZodTypeDef, CreateCompletionOrLt>;
export declare function createCompletionOrLtToJSON(createCompletionOrLt: CreateCompletionOrLt): string;
/** @internal */
export type CreateCompletionOrGte$Outbound = {
    gte: number;
};
/** @internal */
export declare const CreateCompletionOrGte$outboundSchema: z.ZodType<CreateCompletionOrGte$Outbound, z.ZodTypeDef, CreateCompletionOrGte>;
export declare function createCompletionOrGteToJSON(createCompletionOrGte: CreateCompletionOrGte): string;
/** @internal */
export type CreateCompletionOrGt$Outbound = {
    gt: number;
};
/** @internal */
export declare const CreateCompletionOrGt$outboundSchema: z.ZodType<CreateCompletionOrGt$Outbound, z.ZodTypeDef, CreateCompletionOrGt>;
export declare function createCompletionOrGtToJSON(createCompletionOrGt: CreateCompletionOrGt): string;
/** @internal */
export type CreateCompletionOrRouterCompletionsNe$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionOrRouterCompletionsNe$outboundSchema: z.ZodType<CreateCompletionOrRouterCompletionsNe$Outbound, z.ZodTypeDef, CreateCompletionOrRouterCompletionsNe>;
export declare function createCompletionOrRouterCompletionsNeToJSON(createCompletionOrRouterCompletionsNe: CreateCompletionOrRouterCompletionsNe): string;
/** @internal */
export type CreateCompletionOrNe$Outbound = {
    ne: string | number | boolean;
};
/** @internal */
export declare const CreateCompletionOrNe$outboundSchema: z.ZodType<CreateCompletionOrNe$Outbound, z.ZodTypeDef, CreateCompletionOrNe>;
export declare function createCompletionOrNeToJSON(createCompletionOrNe: CreateCompletionOrNe): string;
/** @internal */
export type CreateCompletionOrRouterCompletionsEq$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionOrRouterCompletionsEq$outboundSchema: z.ZodType<CreateCompletionOrRouterCompletionsEq$Outbound, z.ZodTypeDef, CreateCompletionOrRouterCompletionsEq>;
export declare function createCompletionOrRouterCompletionsEqToJSON(createCompletionOrRouterCompletionsEq: CreateCompletionOrRouterCompletionsEq): string;
/** @internal */
export type CreateCompletionOrEq$Outbound = {
    eq: string | number | boolean;
};
/** @internal */
export declare const CreateCompletionOrEq$outboundSchema: z.ZodType<CreateCompletionOrEq$Outbound, z.ZodTypeDef, CreateCompletionOrEq>;
export declare function createCompletionOrEqToJSON(createCompletionOrEq: CreateCompletionOrEq): string;
/** @internal */
export type CreateCompletionFilterByRouterCompletionsOr$Outbound = CreateCompletionOrEq$Outbound | CreateCompletionOrNe$Outbound | CreateCompletionOrGt$Outbound | CreateCompletionOrGte$Outbound | CreateCompletionOrLt$Outbound | CreateCompletionOrLte$Outbound | CreateCompletionOrIn$Outbound | CreateCompletionOrNin$Outbound | CreateCompletionOrExists$Outbound;
/** @internal */
export declare const CreateCompletionFilterByRouterCompletionsOr$outboundSchema: z.ZodType<CreateCompletionFilterByRouterCompletionsOr$Outbound, z.ZodTypeDef, CreateCompletionFilterByRouterCompletionsOr>;
export declare function createCompletionFilterByRouterCompletionsOrToJSON(createCompletionFilterByRouterCompletionsOr: CreateCompletionFilterByRouterCompletionsOr): string;
/** @internal */
export type CreateCompletionFilterByOr$Outbound = {
    or: Array<{
        [k: string]: CreateCompletionOrEq$Outbound | CreateCompletionOrNe$Outbound | CreateCompletionOrGt$Outbound | CreateCompletionOrGte$Outbound | CreateCompletionOrLt$Outbound | CreateCompletionOrLte$Outbound | CreateCompletionOrIn$Outbound | CreateCompletionOrNin$Outbound | CreateCompletionOrExists$Outbound;
    }>;
};
/** @internal */
export declare const CreateCompletionFilterByOr$outboundSchema: z.ZodType<CreateCompletionFilterByOr$Outbound, z.ZodTypeDef, CreateCompletionFilterByOr>;
export declare function createCompletionFilterByOrToJSON(createCompletionFilterByOr: CreateCompletionFilterByOr): string;
/** @internal */
export type CreateCompletionAndExists$Outbound = {
    exists: boolean;
};
/** @internal */
export declare const CreateCompletionAndExists$outboundSchema: z.ZodType<CreateCompletionAndExists$Outbound, z.ZodTypeDef, CreateCompletionAndExists>;
export declare function createCompletionAndExistsToJSON(createCompletionAndExists: CreateCompletionAndExists): string;
/** @internal */
export type CreateCompletionAndRouterCompletionsNin$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionAndRouterCompletionsNin$outboundSchema: z.ZodType<CreateCompletionAndRouterCompletionsNin$Outbound, z.ZodTypeDef, CreateCompletionAndRouterCompletionsNin>;
export declare function createCompletionAndRouterCompletionsNinToJSON(createCompletionAndRouterCompletionsNin: CreateCompletionAndRouterCompletionsNin): string;
/** @internal */
export type CreateCompletionAndNin$Outbound = {
    nin: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletionAndNin$outboundSchema: z.ZodType<CreateCompletionAndNin$Outbound, z.ZodTypeDef, CreateCompletionAndNin>;
export declare function createCompletionAndNinToJSON(createCompletionAndNin: CreateCompletionAndNin): string;
/** @internal */
export type CreateCompletionAndRouterCompletionsIn$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionAndRouterCompletionsIn$outboundSchema: z.ZodType<CreateCompletionAndRouterCompletionsIn$Outbound, z.ZodTypeDef, CreateCompletionAndRouterCompletionsIn>;
export declare function createCompletionAndRouterCompletionsInToJSON(createCompletionAndRouterCompletionsIn: CreateCompletionAndRouterCompletionsIn): string;
/** @internal */
export type CreateCompletionAndIn$Outbound = {
    in: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletionAndIn$outboundSchema: z.ZodType<CreateCompletionAndIn$Outbound, z.ZodTypeDef, CreateCompletionAndIn>;
export declare function createCompletionAndInToJSON(createCompletionAndIn: CreateCompletionAndIn): string;
/** @internal */
export type CreateCompletionAndLte$Outbound = {
    lte: number;
};
/** @internal */
export declare const CreateCompletionAndLte$outboundSchema: z.ZodType<CreateCompletionAndLte$Outbound, z.ZodTypeDef, CreateCompletionAndLte>;
export declare function createCompletionAndLteToJSON(createCompletionAndLte: CreateCompletionAndLte): string;
/** @internal */
export type CreateCompletionAndLt$Outbound = {
    lt: number;
};
/** @internal */
export declare const CreateCompletionAndLt$outboundSchema: z.ZodType<CreateCompletionAndLt$Outbound, z.ZodTypeDef, CreateCompletionAndLt>;
export declare function createCompletionAndLtToJSON(createCompletionAndLt: CreateCompletionAndLt): string;
/** @internal */
export type CreateCompletionAndGte$Outbound = {
    gte: number;
};
/** @internal */
export declare const CreateCompletionAndGte$outboundSchema: z.ZodType<CreateCompletionAndGte$Outbound, z.ZodTypeDef, CreateCompletionAndGte>;
export declare function createCompletionAndGteToJSON(createCompletionAndGte: CreateCompletionAndGte): string;
/** @internal */
export type CreateCompletionAndGt$Outbound = {
    gt: number;
};
/** @internal */
export declare const CreateCompletionAndGt$outboundSchema: z.ZodType<CreateCompletionAndGt$Outbound, z.ZodTypeDef, CreateCompletionAndGt>;
export declare function createCompletionAndGtToJSON(createCompletionAndGt: CreateCompletionAndGt): string;
/** @internal */
export type CreateCompletionAndRouterCompletionsNe$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionAndRouterCompletionsNe$outboundSchema: z.ZodType<CreateCompletionAndRouterCompletionsNe$Outbound, z.ZodTypeDef, CreateCompletionAndRouterCompletionsNe>;
export declare function createCompletionAndRouterCompletionsNeToJSON(createCompletionAndRouterCompletionsNe: CreateCompletionAndRouterCompletionsNe): string;
/** @internal */
export type CreateCompletionAndNe$Outbound = {
    ne: string | number | boolean;
};
/** @internal */
export declare const CreateCompletionAndNe$outboundSchema: z.ZodType<CreateCompletionAndNe$Outbound, z.ZodTypeDef, CreateCompletionAndNe>;
export declare function createCompletionAndNeToJSON(createCompletionAndNe: CreateCompletionAndNe): string;
/** @internal */
export type CreateCompletionAndRouterCompletionsEq$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletionAndRouterCompletionsEq$outboundSchema: z.ZodType<CreateCompletionAndRouterCompletionsEq$Outbound, z.ZodTypeDef, CreateCompletionAndRouterCompletionsEq>;
export declare function createCompletionAndRouterCompletionsEqToJSON(createCompletionAndRouterCompletionsEq: CreateCompletionAndRouterCompletionsEq): string;
/** @internal */
export type CreateCompletionAndEq$Outbound = {
    eq: string | number | boolean;
};
/** @internal */
export declare const CreateCompletionAndEq$outboundSchema: z.ZodType<CreateCompletionAndEq$Outbound, z.ZodTypeDef, CreateCompletionAndEq>;
export declare function createCompletionAndEqToJSON(createCompletionAndEq: CreateCompletionAndEq): string;
/** @internal */
export type CreateCompletionFilterByRouterCompletionsAnd$Outbound = CreateCompletionAndEq$Outbound | CreateCompletionAndNe$Outbound | CreateCompletionAndGt$Outbound | CreateCompletionAndGte$Outbound | CreateCompletionAndLt$Outbound | CreateCompletionAndLte$Outbound | CreateCompletionAndIn$Outbound | CreateCompletionAndNin$Outbound | CreateCompletionAndExists$Outbound;
/** @internal */
export declare const CreateCompletionFilterByRouterCompletionsAnd$outboundSchema: z.ZodType<CreateCompletionFilterByRouterCompletionsAnd$Outbound, z.ZodTypeDef, CreateCompletionFilterByRouterCompletionsAnd>;
export declare function createCompletionFilterByRouterCompletionsAndToJSON(createCompletionFilterByRouterCompletionsAnd: CreateCompletionFilterByRouterCompletionsAnd): string;
/** @internal */
export type CreateCompletionFilterByAnd$Outbound = {
    and: Array<{
        [k: string]: CreateCompletionAndEq$Outbound | CreateCompletionAndNe$Outbound | CreateCompletionAndGt$Outbound | CreateCompletionAndGte$Outbound | CreateCompletionAndLt$Outbound | CreateCompletionAndLte$Outbound | CreateCompletionAndIn$Outbound | CreateCompletionAndNin$Outbound | CreateCompletionAndExists$Outbound;
    }>;
};
/** @internal */
export declare const CreateCompletionFilterByAnd$outboundSchema: z.ZodType<CreateCompletionFilterByAnd$Outbound, z.ZodTypeDef, CreateCompletionFilterByAnd>;
export declare function createCompletionFilterByAndToJSON(createCompletionFilterByAnd: CreateCompletionFilterByAnd): string;
/** @internal */
export type CreateCompletion1Exists$Outbound = {
    exists: boolean;
};
/** @internal */
export declare const CreateCompletion1Exists$outboundSchema: z.ZodType<CreateCompletion1Exists$Outbound, z.ZodTypeDef, CreateCompletion1Exists>;
export declare function createCompletion1ExistsToJSON(createCompletion1Exists: CreateCompletion1Exists): string;
/** @internal */
export type CreateCompletion1RouterCompletionsNin$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletion1RouterCompletionsNin$outboundSchema: z.ZodType<CreateCompletion1RouterCompletionsNin$Outbound, z.ZodTypeDef, CreateCompletion1RouterCompletionsNin>;
export declare function createCompletion1RouterCompletionsNinToJSON(createCompletion1RouterCompletionsNin: CreateCompletion1RouterCompletionsNin): string;
/** @internal */
export type CreateCompletion1Nin$Outbound = {
    nin: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletion1Nin$outboundSchema: z.ZodType<CreateCompletion1Nin$Outbound, z.ZodTypeDef, CreateCompletion1Nin>;
export declare function createCompletion1NinToJSON(createCompletion1Nin: CreateCompletion1Nin): string;
/** @internal */
export type CreateCompletion1RouterCompletionsIn$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletion1RouterCompletionsIn$outboundSchema: z.ZodType<CreateCompletion1RouterCompletionsIn$Outbound, z.ZodTypeDef, CreateCompletion1RouterCompletionsIn>;
export declare function createCompletion1RouterCompletionsInToJSON(createCompletion1RouterCompletionsIn: CreateCompletion1RouterCompletionsIn): string;
/** @internal */
export type CreateCompletion1In$Outbound = {
    in: Array<string | number | boolean>;
};
/** @internal */
export declare const CreateCompletion1In$outboundSchema: z.ZodType<CreateCompletion1In$Outbound, z.ZodTypeDef, CreateCompletion1In>;
export declare function createCompletion1InToJSON(createCompletion1In: CreateCompletion1In): string;
/** @internal */
export type CreateCompletion1Lte$Outbound = {
    lte: number;
};
/** @internal */
export declare const CreateCompletion1Lte$outboundSchema: z.ZodType<CreateCompletion1Lte$Outbound, z.ZodTypeDef, CreateCompletion1Lte>;
export declare function createCompletion1LteToJSON(createCompletion1Lte: CreateCompletion1Lte): string;
/** @internal */
export type CreateCompletion1Lt$Outbound = {
    lt: number;
};
/** @internal */
export declare const CreateCompletion1Lt$outboundSchema: z.ZodType<CreateCompletion1Lt$Outbound, z.ZodTypeDef, CreateCompletion1Lt>;
export declare function createCompletion1LtToJSON(createCompletion1Lt: CreateCompletion1Lt): string;
/** @internal */
export type CreateCompletion1Gte$Outbound = {
    gte: number;
};
/** @internal */
export declare const CreateCompletion1Gte$outboundSchema: z.ZodType<CreateCompletion1Gte$Outbound, z.ZodTypeDef, CreateCompletion1Gte>;
export declare function createCompletion1GteToJSON(createCompletion1Gte: CreateCompletion1Gte): string;
/** @internal */
export type CreateCompletion1Gt$Outbound = {
    gt: number;
};
/** @internal */
export declare const CreateCompletion1Gt$outboundSchema: z.ZodType<CreateCompletion1Gt$Outbound, z.ZodTypeDef, CreateCompletion1Gt>;
export declare function createCompletion1GtToJSON(createCompletion1Gt: CreateCompletion1Gt): string;
/** @internal */
export type CreateCompletion1RouterCompletionsNe$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletion1RouterCompletionsNe$outboundSchema: z.ZodType<CreateCompletion1RouterCompletionsNe$Outbound, z.ZodTypeDef, CreateCompletion1RouterCompletionsNe>;
export declare function createCompletion1RouterCompletionsNeToJSON(createCompletion1RouterCompletionsNe: CreateCompletion1RouterCompletionsNe): string;
/** @internal */
export type CreateCompletion1Ne$Outbound = {
    ne: string | number | boolean;
};
/** @internal */
export declare const CreateCompletion1Ne$outboundSchema: z.ZodType<CreateCompletion1Ne$Outbound, z.ZodTypeDef, CreateCompletion1Ne>;
export declare function createCompletion1NeToJSON(createCompletion1Ne: CreateCompletion1Ne): string;
/** @internal */
export type CreateCompletion1RouterCompletionsEq$Outbound = string | number | boolean;
/** @internal */
export declare const CreateCompletion1RouterCompletionsEq$outboundSchema: z.ZodType<CreateCompletion1RouterCompletionsEq$Outbound, z.ZodTypeDef, CreateCompletion1RouterCompletionsEq>;
export declare function createCompletion1RouterCompletionsEqToJSON(createCompletion1RouterCompletionsEq: CreateCompletion1RouterCompletionsEq): string;
/** @internal */
export type CreateCompletion1Eq$Outbound = {
    eq: string | number | boolean;
};
/** @internal */
export declare const CreateCompletion1Eq$outboundSchema: z.ZodType<CreateCompletion1Eq$Outbound, z.ZodTypeDef, CreateCompletion1Eq>;
export declare function createCompletion1EqToJSON(createCompletion1Eq: CreateCompletion1Eq): string;
/** @internal */
export type CreateCompletionFilterBy1$Outbound = CreateCompletion1Eq$Outbound | CreateCompletion1Ne$Outbound | CreateCompletion1Gt$Outbound | CreateCompletion1Gte$Outbound | CreateCompletion1Lt$Outbound | CreateCompletion1Lte$Outbound | CreateCompletion1In$Outbound | CreateCompletion1Nin$Outbound | CreateCompletion1Exists$Outbound;
/** @internal */
export declare const CreateCompletionFilterBy1$outboundSchema: z.ZodType<CreateCompletionFilterBy1$Outbound, z.ZodTypeDef, CreateCompletionFilterBy1>;
export declare function createCompletionFilterBy1ToJSON(createCompletionFilterBy1: CreateCompletionFilterBy1): string;
/** @internal */
export type CreateCompletionFilterBy$Outbound = CreateCompletionFilterByAnd$Outbound | CreateCompletionFilterByOr$Outbound | {
    [k: string]: CreateCompletion1Eq$Outbound | CreateCompletion1Ne$Outbound | CreateCompletion1Gt$Outbound | CreateCompletion1Gte$Outbound | CreateCompletion1Lt$Outbound | CreateCompletion1Lte$Outbound | CreateCompletion1In$Outbound | CreateCompletion1Nin$Outbound | CreateCompletion1Exists$Outbound;
};
/** @internal */
export declare const CreateCompletionFilterBy$outboundSchema: z.ZodType<CreateCompletionFilterBy$Outbound, z.ZodTypeDef, CreateCompletionFilterBy>;
export declare function createCompletionFilterByToJSON(createCompletionFilterBy: CreateCompletionFilterBy): string;
/** @internal */
export type CreateCompletionSearchOptions$Outbound = {
    include_vectors?: boolean | undefined;
    include_metadata?: boolean | undefined;
    include_scores?: boolean | undefined;
};
/** @internal */
export declare const CreateCompletionSearchOptions$outboundSchema: z.ZodType<CreateCompletionSearchOptions$Outbound, z.ZodTypeDef, CreateCompletionSearchOptions>;
export declare function createCompletionSearchOptionsToJSON(createCompletionSearchOptions: CreateCompletionSearchOptions): string;
/** @internal */
export type CreateCompletionRerankConfig$Outbound = {
    model: string;
    threshold: number;
    top_k: number;
};
/** @internal */
export declare const CreateCompletionRerankConfig$outboundSchema: z.ZodType<CreateCompletionRerankConfig$Outbound, z.ZodTypeDef, CreateCompletionRerankConfig>;
export declare function createCompletionRerankConfigToJSON(createCompletionRerankConfig: CreateCompletionRerankConfig): string;
/** @internal */
export type CreateCompletionAgenticRagConfig$Outbound = {
    model: string;
};
/** @internal */
export declare const CreateCompletionAgenticRagConfig$outboundSchema: z.ZodType<CreateCompletionAgenticRagConfig$Outbound, z.ZodTypeDef, CreateCompletionAgenticRagConfig>;
export declare function createCompletionAgenticRagConfigToJSON(createCompletionAgenticRagConfig: CreateCompletionAgenticRagConfig): string;
/** @internal */
export type CreateCompletionKnowledgeBases$Outbound = {
    top_k?: number | undefined;
    threshold?: number | undefined;
    search_type: string;
    filter_by?: CreateCompletionFilterByAnd$Outbound | CreateCompletionFilterByOr$Outbound | {
        [k: string]: CreateCompletion1Eq$Outbound | CreateCompletion1Ne$Outbound | CreateCompletion1Gt$Outbound | CreateCompletion1Gte$Outbound | CreateCompletion1Lt$Outbound | CreateCompletion1Lte$Outbound | CreateCompletion1In$Outbound | CreateCompletion1Nin$Outbound | CreateCompletion1Exists$Outbound;
    } | undefined;
    search_options?: CreateCompletionSearchOptions$Outbound | undefined;
    rerank_config?: CreateCompletionRerankConfig$Outbound | undefined;
    agentic_rag_config?: CreateCompletionAgenticRagConfig$Outbound | undefined;
    knowledge_id: string;
    query?: string | undefined;
};
/** @internal */
export declare const CreateCompletionKnowledgeBases$outboundSchema: z.ZodType<CreateCompletionKnowledgeBases$Outbound, z.ZodTypeDef, CreateCompletionKnowledgeBases>;
export declare function createCompletionKnowledgeBasesToJSON(createCompletionKnowledgeBases: CreateCompletionKnowledgeBases): string;
/** @internal */
export declare const CreateCompletionLoadBalancerRouterCompletionsType$outboundSchema: z.ZodNativeEnum<typeof CreateCompletionLoadBalancerRouterCompletionsType>;
/** @internal */
export type CreateCompletionLoadBalancerRouterCompletionsModels$Outbound = {
    model: string;
    weight: number;
};
/** @internal */
export declare const CreateCompletionLoadBalancerRouterCompletionsModels$outboundSchema: z.ZodType<CreateCompletionLoadBalancerRouterCompletionsModels$Outbound, z.ZodTypeDef, CreateCompletionLoadBalancerRouterCompletionsModels>;
export declare function createCompletionLoadBalancerRouterCompletionsModelsToJSON(createCompletionLoadBalancerRouterCompletionsModels: CreateCompletionLoadBalancerRouterCompletionsModels): string;
/** @internal */
export type CreateCompletionLoadBalancerRouterCompletions1$Outbound = {
    type: string;
    models: Array<CreateCompletionLoadBalancerRouterCompletionsModels$Outbound>;
};
/** @internal */
export declare const CreateCompletionLoadBalancerRouterCompletions1$outboundSchema: z.ZodType<CreateCompletionLoadBalancerRouterCompletions1$Outbound, z.ZodTypeDef, CreateCompletionLoadBalancerRouterCompletions1>;
export declare function createCompletionLoadBalancerRouterCompletions1ToJSON(createCompletionLoadBalancerRouterCompletions1: CreateCompletionLoadBalancerRouterCompletions1): string;
/** @internal */
export type CreateCompletionRouterCompletionsLoadBalancer$Outbound = CreateCompletionLoadBalancerRouterCompletions1$Outbound;
/** @internal */
export declare const CreateCompletionRouterCompletionsLoadBalancer$outboundSchema: z.ZodType<CreateCompletionRouterCompletionsLoadBalancer$Outbound, z.ZodTypeDef, CreateCompletionRouterCompletionsLoadBalancer>;
export declare function createCompletionRouterCompletionsLoadBalancerToJSON(createCompletionRouterCompletionsLoadBalancer: CreateCompletionRouterCompletionsLoadBalancer): string;
/** @internal */
export type CreateCompletionRouterCompletionsTimeout$Outbound = {
    call_timeout: number;
};
/** @internal */
export declare const CreateCompletionRouterCompletionsTimeout$outboundSchema: z.ZodType<CreateCompletionRouterCompletionsTimeout$Outbound, z.ZodTypeDef, CreateCompletionRouterCompletionsTimeout>;
export declare function createCompletionRouterCompletionsTimeoutToJSON(createCompletionRouterCompletionsTimeout: CreateCompletionRouterCompletionsTimeout): string;
/** @internal */
export type CreateCompletionOrq$Outbound = {
    name?: string | undefined;
    retry?: CreateCompletionRouterCompletionsRetry$Outbound | undefined;
    fallbacks?: Array<CreateCompletionRouterCompletionsFallbacks$Outbound> | undefined;
    prompt?: CreateCompletionPrompt$Outbound | undefined;
    identity?: components.PublicIdentity$Outbound | undefined;
    contact?: components.PublicContact$Outbound | undefined;
    thread?: CreateCompletionThread$Outbound | undefined;
    inputs?: {
        [k: string]: any;
    } | Array<CreateCompletionInputs2$Outbound> | undefined;
    cache?: CreateCompletionRouterCompletionsCache$Outbound | undefined;
    knowledge_bases?: Array<CreateCompletionKnowledgeBases$Outbound> | undefined;
    load_balancer?: CreateCompletionLoadBalancerRouterCompletions1$Outbound | undefined;
    timeout?: CreateCompletionRouterCompletionsTimeout$Outbound | undefined;
};
/** @internal */
export declare const CreateCompletionOrq$outboundSchema: z.ZodType<CreateCompletionOrq$Outbound, z.ZodTypeDef, CreateCompletionOrq>;
export declare function createCompletionOrqToJSON(createCompletionOrq: CreateCompletionOrq): string;
/** @internal */
export type CreateCompletionRequestBody$Outbound = {
    model: string;
    prompt: string;
    echo: boolean | null;
    frequency_penalty: number | null;
    max_tokens: number | null;
    presence_penalty: number | null;
    seed?: number | null | undefined;
    stop?: string | Array<string> | null | undefined;
    temperature: number | null;
    top_p: number | null;
    n: number | null;
    user?: string | undefined;
    name?: string | undefined;
    fallbacks?: Array<CreateCompletionFallbacks$Outbound> | undefined;
    retry?: CreateCompletionRetry$Outbound | undefined;
    cache?: CreateCompletionCache$Outbound | undefined;
    load_balancer?: CreateCompletionLoadBalancer1$Outbound | undefined;
    timeout?: CreateCompletionTimeout$Outbound | undefined;
    thinking?: components.ThinkingConfigDisabledSchema$Outbound | components.ThinkingConfigEnabledSchema$Outbound | components.ThinkingConfigAdaptiveSchema$Outbound | null | undefined;
    orq?: CreateCompletionOrq$Outbound | undefined;
    stream: boolean;
};
/** @internal */
export declare const CreateCompletionRequestBody$outboundSchema: z.ZodType<CreateCompletionRequestBody$Outbound, z.ZodTypeDef, CreateCompletionRequestBody>;
export declare function createCompletionRequestBodyToJSON(createCompletionRequestBody: CreateCompletionRequestBody): string;
/** @internal */
export declare const CreateCompletionRouterCompletionsFinishReason$inboundSchema: z.ZodNativeEnum<typeof CreateCompletionRouterCompletionsFinishReason>;
/** @internal */
export declare const CreateCompletionRouterCompletionsChoices$inboundSchema: z.ZodType<CreateCompletionRouterCompletionsChoices, z.ZodTypeDef, unknown>;
export declare function createCompletionRouterCompletionsChoicesFromJSON(jsonString: string): SafeParseResult<CreateCompletionRouterCompletionsChoices, SDKValidationError>;
/** @internal */
export declare const CreateCompletionCreated$inboundSchema: z.ZodType<CreateCompletionCreated, z.ZodTypeDef, unknown>;
export declare function createCompletionCreatedFromJSON(jsonString: string): SafeParseResult<CreateCompletionCreated, SDKValidationError>;
/** @internal */
export declare const CreateCompletionRouterCompletionsPromptTokensDetails$inboundSchema: z.ZodType<CreateCompletionRouterCompletionsPromptTokensDetails, z.ZodTypeDef, unknown>;
export declare function createCompletionRouterCompletionsPromptTokensDetailsFromJSON(jsonString: string): SafeParseResult<CreateCompletionRouterCompletionsPromptTokensDetails, SDKValidationError>;
/** @internal */
export declare const CreateCompletionRouterCompletionsCompletionTokensDetails$inboundSchema: z.ZodType<CreateCompletionRouterCompletionsCompletionTokensDetails, z.ZodTypeDef, unknown>;
export declare function createCompletionRouterCompletionsCompletionTokensDetailsFromJSON(jsonString: string): SafeParseResult<CreateCompletionRouterCompletionsCompletionTokensDetails, SDKValidationError>;
/** @internal */
export declare const CreateCompletionRouterCompletionsUsage$inboundSchema: z.ZodType<CreateCompletionRouterCompletionsUsage, z.ZodTypeDef, unknown>;
export declare function createCompletionRouterCompletionsUsageFromJSON(jsonString: string): SafeParseResult<CreateCompletionRouterCompletionsUsage, SDKValidationError>;
/** @internal */
export declare const CreateCompletionData$inboundSchema: z.ZodType<CreateCompletionData, z.ZodTypeDef, unknown>;
export declare function createCompletionDataFromJSON(jsonString: string): SafeParseResult<CreateCompletionData, SDKValidationError>;
/** @internal */
export declare const CreateCompletionRouterCompletionsResponseBody$inboundSchema: z.ZodType<CreateCompletionRouterCompletionsResponseBody, z.ZodTypeDef, unknown>;
export declare function createCompletionRouterCompletionsResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateCompletionRouterCompletionsResponseBody, SDKValidationError>;
/** @internal */
export declare const CreateCompletionFinishReason$inboundSchema: z.ZodNativeEnum<typeof CreateCompletionFinishReason>;
/** @internal */
export declare const CreateCompletionChoices$inboundSchema: z.ZodType<CreateCompletionChoices, z.ZodTypeDef, unknown>;
export declare function createCompletionChoicesFromJSON(jsonString: string): SafeParseResult<CreateCompletionChoices, SDKValidationError>;
/** @internal */
export declare const Created$inboundSchema: z.ZodType<Created, z.ZodTypeDef, unknown>;
export declare function createdFromJSON(jsonString: string): SafeParseResult<Created, SDKValidationError>;
/** @internal */
export declare const CreateCompletionPromptTokensDetails$inboundSchema: z.ZodType<CreateCompletionPromptTokensDetails, z.ZodTypeDef, unknown>;
export declare function createCompletionPromptTokensDetailsFromJSON(jsonString: string): SafeParseResult<CreateCompletionPromptTokensDetails, SDKValidationError>;
/** @internal */
export declare const CreateCompletionCompletionTokensDetails$inboundSchema: z.ZodType<CreateCompletionCompletionTokensDetails, z.ZodTypeDef, unknown>;
export declare function createCompletionCompletionTokensDetailsFromJSON(jsonString: string): SafeParseResult<CreateCompletionCompletionTokensDetails, SDKValidationError>;
/** @internal */
export declare const CreateCompletionUsage$inboundSchema: z.ZodType<CreateCompletionUsage, z.ZodTypeDef, unknown>;
export declare function createCompletionUsageFromJSON(jsonString: string): SafeParseResult<CreateCompletionUsage, SDKValidationError>;
/** @internal */
export declare const CreateCompletionResponseBody$inboundSchema: z.ZodType<CreateCompletionResponseBody, z.ZodTypeDef, unknown>;
export declare function createCompletionResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateCompletionResponseBody, SDKValidationError>;
/** @internal */
export declare const CreateCompletionResponse$inboundSchema: z.ZodType<CreateCompletionResponse, z.ZodTypeDef, unknown>;
export declare function createCompletionResponseFromJSON(jsonString: string): SafeParseResult<CreateCompletionResponse, SDKValidationError>;
//# sourceMappingURL=createcompletion.d.ts.map