import type { PredictionService, PredictorService } from "../../services"; import type { Acceleration } from "../../types"; import type { ChatCompletion, ChatCompletionChunk, ChatCompletionMessage } from "./types"; type ReasoningEffort = "minimal" | "low" | "medium" | "high" | "xhigh"; export interface ChatCompletionCreateParamsBase { /** * Messages comprising the conversation so far. */ messages: ChatCompletionMessage[]; /** * Chat predictor tag. */ model: string; /** * Response format. */ response_format?: Record; /** * Reasoning effort for reasoning models. */ reasoning_effort?: ReasoningEffort; /** * Maximum completion tokens. */ max_completion_tokens?: number | null; /** * Sampling temperature to use. */ temperature?: number; /** * Nucleus sampling coefficient. */ top_p?: number; /** * Token frequency penalty. */ frequency_penalty?: number; /** * Token presence penalty. */ presence_penalty?: number; /** * Prediction acceleration. */ acceleration?: Acceleration; } export interface ChatCompletionCreateParamsNonStreaming extends ChatCompletionCreateParamsBase { /** * Whether to stream responses. */ stream?: false | null; } export interface ChatCompletionCreateParamsStreaming extends ChatCompletionCreateParamsBase { /** * Whether to stream responses. */ stream: true; } export type ChatCompletionCreateParams = (ChatCompletionCreateParamsNonStreaming | ChatCompletionCreateParamsStreaming); export declare class ChatCompletionService { private readonly predictors; private readonly predictions; private readonly cache; constructor(predictors: PredictorService, predictions: PredictionService); /** * Create a chat completion. */ create(body: ChatCompletionCreateParamsNonStreaming): Promise; create(body: ChatCompletionCreateParamsStreaming): Promise>; create(body: ChatCompletionCreateParamsBase): Promise>; private createDelegate; } export {};