/**
 * OpenAiProvider - OpenAI / DeepSeek / Ollama 兼容提供商
 * 使用标准 OpenAI Chat Completions API
 *
 * v2: 支持原生 Function Calling（结构化工具调用）
 *     - 使用 Chat Completions API 的 tools + tool_choice 参数
 *     - 兼容 DeepSeek / Ollama 等 OpenAI-compatible API
 */
import { AiProvider, type AiProviderConfig, type ApiResponse, type ChatContext, type ChatWithToolsOptions, type ChatWithToolsResult, type StructuredOutputOptions } from '../AiProvider.js';
export declare class OpenAiProvider extends AiProvider {
    #private;
    embedModel: string;
    constructor(config?: AiProviderConfig);
    /**
     * 是否支持原生结构化函数调用
     * OpenAI / DeepSeek Chat Completions API 均支持
     */
    get supportsNativeToolCalling(): boolean;
    chat(prompt: string, context?: ChatContext): Promise<any>;
    /**
     * 带工具声明的结构化对话 — OpenAI Chat Completions Function Calling
     *
     * 接受统一消息格式，内部转换为 OpenAI Chat Completions 消息格式。
     * 兼容 DeepSeek / Ollama 等 OpenAI-Compatible API。
     *
     * @param prompt fallback prompt
     * @param opts 统一参数
     * @returns >|null}>}
     */
    chatWithTools(prompt: string, opts?: ChatWithToolsOptions): Promise<ChatWithToolsResult>;
    summarize(code: string): Promise<any>;
    /**
     * Structured Output — OpenAI JSON mode
     *
     * 使用 response_format: { type: 'json_object' } 强制返回合法 JSON。
     * 兼容 DeepSeek / Ollama 等 OpenAI-Compatible API。
     */
    chatWithStructuredOutput(prompt: string, opts?: StructuredOutputOptions): Promise<any>;
    embed(text: string | string[]): Promise<any>;
    _post(url: string, body: Record<string, unknown>, externalSignal?: AbortSignal): Promise<ApiResponse>;
}
export default OpenAiProvider;
