/// <reference types="node" />
/// <reference types="node" />
import { Command } from 'commander';
import { accessSync, readFileSync } from 'fs';
import { Conversation, SessionConfig, WebMessengerSession } from '@ovotech/genesys-web-messaging-tester';
import { Ui } from './ui';
import * as googleAi from './chatCompletionClients/googleVertexAi/createChatCompletionClient';
import * as openAi from './chatCompletionClients/chatGpt/createChatCompletionClient';
import { writeFileSync } from 'node:fs';
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;
