/**
 * This file is part of the NocoBase (R) project.
 * Copyright (c) 2020-2024 NocoBase Co., Ltd.
 * Authors: NocoBase Team.
 *
 * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
 * For more information, please refer to: https://www.nocobase.com/agreement.
 */
import { AIMessageChunk } from '@langchain/core/messages';
import { EmbeddingProvider, LLMProvider } from './provider';
import { EmbeddingsInterface } from '@langchain/core/embeddings';
import { SupportedModel } from '../manager/ai-manager';
import { Model } from '@nocobase/database';
import { ReasoningChatOpenAI } from './common/reasoning';
import { AttachmentModel } from '@nocobase/plugin-file-manager';
export declare class DashscopeProvider extends LLMProvider {
    chatModel: ReasoningChatOpenAI;
    get baseURL(): string;
    createModel(): ReasoningChatOpenAI;
    isToolConflict(): boolean;
    resolveTools(toolDefinitions: any[]): any[];
    parseResponseMessage(message: Model): {
        key: any;
        content: any;
        role: any;
    };
    parseReasoningContent(chunk: AIMessageChunk): {
        status: string;
        content: string;
    };
    protected isApiSupportedAttachment(attachment: AttachmentModel): boolean;
}
export declare class DashscopeEmbeddingProvider extends EmbeddingProvider {
    protected getDefaultUrl(): string;
    createEmbedding(): EmbeddingsInterface;
}
export declare const dashscopeProviderOptions: {
    title: string;
    supportedModel: SupportedModel[];
    supportWebSearch: boolean;
    models: {
        LLM: string[];
        EMBEDDING: string[];
    };
    provider: typeof DashscopeProvider;
    embedding: typeof DashscopeEmbeddingProvider;
};
