import OpenAI from "openai";
import { LLMMessage } from "../model/llm";
import { LLMService } from "./llm.service";
export interface OpenAIConfig {
    kind: 'openai';
    apiKey: string;
    serverUrl?: string;
    model?: string;
    temperature?: number;
    maxTokens?: number;
    timeoutMs?: number;
    signal?: AbortSignal;
    enablePromptCaching?: boolean;
    enforceJsonOutput?: boolean;
}
export declare const buildMessages: (systemPrompt: string, prompt: string, history: LLMMessage[], enablePromptCaching?: boolean) => OpenAI.ChatCompletionMessageParam[];
export declare const buildCompletionParams: (config: OpenAIConfig, messages: OpenAI.ChatCompletionMessageParam[], stream?: boolean) => OpenAI.ChatCompletionCreateParams;
export declare const createOpenAIBackend: (config: OpenAIConfig) => LLMService;
