import { LanguageModelV1 } from '@ai-sdk/provider';
import { FetchFunction } from '@ai-sdk/provider-utils';
import { ErnieChatModelId, ErnieChatSettings } from './ernie-chat-settings';
type ErnieConfig = {
    provider: string;
    baseURL: string;
    headers: () => Record<string, string | undefined>;
    fetch?: FetchFunction;
    generateId: () => string;
};
/**
 * ERNIE 聊天语言模型实现
 */
export declare class ErnieChatLanguageModel implements LanguageModelV1 {
    readonly specificationVersion = "v1";
    readonly defaultObjectGenerationMode = "json";
    readonly supportsToolUse = true;
    readonly modelId: ErnieChatModelId;
    readonly settings: ErnieChatSettings;
    private readonly config;
    constructor(modelId: ErnieChatModelId, settings: ErnieChatSettings, config: ErnieConfig);
    get provider(): string;
    /**
     * 将 AI SDK 的参数转换为 ERNIE API 格式
     */
    private getArgs;
    /**
     * 生成文本（非流式）
     */
    doGenerate(options: Parameters<LanguageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doGenerate']>>>;
    /**
     * 生成文本（流式）
     */
    doStream(options: Parameters<LanguageModelV1['doStream']>[0]): Promise<Awaited<ReturnType<LanguageModelV1['doStream']>>>;
    /**
     * 映射完成原因
     */
    private mapFinishReason;
    /**
     * 处理失败的响应
     */
    private failedResponseHandler;
}
export {};
//# sourceMappingURL=ernie-chat-language-model.d.ts.map