import { HttpService } from '@nestjs/axios'; import { OAIEngineExtension } from '../domain/abstracts/oai.abstract'; import { ConfigsUsecases } from '@/usecases/configs/configs.usecase'; import { EventEmitter2 } from '@nestjs/event-emitter'; declare enum RoleType { user = "USER", chatbot = "CHATBOT", system = "SYSTEM" } type CoherePayloadType = { chat_history?: Array<{ role: RoleType; message: string; }>; message?: string; preamble?: string; }; export default class CoHereEngineExtension extends OAIEngineExtension { protected readonly httpService: HttpService; protected readonly configsUsecases: ConfigsUsecases; protected readonly eventEmmitter: EventEmitter2; apiUrl: string; name: string; productName: string; description: string; version: string; apiKey?: string; constructor(httpService: HttpService, configsUsecases: ConfigsUsecases, eventEmmitter: EventEmitter2); onLoad(): Promise; transformPayload: (payload: any) => CoherePayloadType; transformResponse: (data: any, stream: boolean) => string | { choices: { message: { content: any; }; }[]; }; } export {};