/**
 * ClaudeProvider - Anthropic Claude AI 提供商
 *
 * v2: 支持原生 Function Calling（结构化工具调用）
 *     - 使用 Anthropic Messages API 的 tools + tool_choice 参数
 *     - 响应中的 tool_use content blocks → 结构化 functionCall
 *     - tool_result content blocks 用于回传工具执行结果
 */
import { AiProvider, type AiProviderConfig, type ApiResponse, type ChatContext, type ChatWithToolsOptions, type ChatWithToolsResult } from '../AiProvider.js';
export declare class ClaudeProvider extends AiProvider {
    #private;
    constructor(config?: AiProviderConfig);
    /** 是否支持原生结构化函数调用 */
    get supportsNativeToolCalling(): boolean;
    chat(prompt: string, context?: ChatContext): Promise<any>;
    /**
     * 带工具声明的结构化对话 — Anthropic Messages API Tool Use
     *
     * 接受统一消息格式，内部转换为 Anthropic Messages 格式。
     *
     * Anthropic 特殊之处:
     *   - system prompt 是顶层 `system` 字段（非 message）
     *   - assistant 消息的 content 是 content blocks 数组
     *   - 工具结果通过 user 消息中的 tool_result blocks 传递
     *   - tool_choice: {type: 'auto'|'any'|'tool'}（无 'none'，不传 tools 即可）
     *
     * @param prompt fallback prompt
     * @param opts 统一参数
     * @returns >|null}>}
     */
    chatWithTools(prompt: string, opts?: ChatWithToolsOptions): Promise<ChatWithToolsResult>;
    summarize(code: string): Promise<{}>;
    embed(_text: string | string[]): Promise<never[]>;
    supportsEmbedding(): boolean;
    _post(url: string, body: Record<string, unknown>, externalSignal?: AbortSignal): Promise<ApiResponse>;
}
export default ClaudeProvider;
