import { Command } from 'commander';
import { accessSync, readFileSync, writeFileSync } from 'node:fs';
import { Conversation, SessionConfig, WebMessengerSession } from '@makingchatbots/genesys-cloud-chatbot-tester';
import { Ui } from './ui';
import * as googleAi from './chatCompletionClients/googleVertexAi/createChatCompletionClient';
import * as openAi from './chatCompletionClients/chatGpt/createChatCompletionClient';
export interface AiTestCommandDependencies {
    command?: Command;
    ui?: Ui;
    openAiCreateChatCompletionClient?: typeof openAi.createChatCompletionClient;
    googleAiCreateChatCompletionClient?: typeof googleAi.createChatCompletionClient;
    webMessengerSessionFactory?: (sessionConfig: SessionConfig) => WebMessengerSession;
    conversationFactory?: (session: WebMessengerSession) => Conversation;
    processEnv?: NodeJS.ProcessEnv;
    fsReadFileSync?: typeof readFileSync;
    fsWriteFileSync?: typeof writeFileSync;
    fsAccessSync?: typeof accessSync;
}
export declare function createAiTestCommand({ command, ui, openAiCreateChatCompletionClient, googleAiCreateChatCompletionClient, webMessengerSessionFactory, conversationFactory, processEnv, fsReadFileSync, fsWriteFileSync, fsAccessSync, }?: AiTestCommandDependencies): Command;
