import { AIProviderService } from './ai-provider.service'; export interface AIResponse { content: string; provider: 'claude' | 'gemini' | 'copilot'; command: string; success: boolean; error?: string; taskId?: string; } export interface AIQueryOptions { timeout?: number; workingDirectory?: string; additionalArgs?: string[]; model?: string; securityKey?: string; } export declare class AIService { private readonly aiProviderService; private readonly logger; private readonly logsDir; private readonly timeoutConfig; constructor(aiProviderService: AIProviderService); private createTaskLogFile; private appendTaskLog; private findClaudePath; queryClaudeCLI(prompt: string, options?: AIQueryOptions): Promise; queryClaudeWithPermissions(prompt: string, options?: AIQueryOptions): Promise; queryGeminiCLI(prompt: string, options?: AIQueryOptions & { taskId?: string; }): Promise; executeGeminiCLI(prompt: string, options?: AIQueryOptions & { taskId?: string; }): Promise; queryCopilotCLI(prompt: string, options?: AIQueryOptions): Promise; queryAI(prompt: string, provider?: 'claude' | 'gemini' | 'copilot', options?: AIQueryOptions & { taskId?: string; }): Promise; executeAI(prompt: string, provider?: 'claude' | 'gemini' | 'copilot', options?: AIQueryOptions & { taskId?: string; }): Promise; executeGemini(prompt: string, options?: AIQueryOptions & { taskId?: string; }): Promise; checkAvailableProviders(): Promise; validateCLIInstallation(): Promise<{ claude: boolean; gemini: boolean; copilot: boolean; }>; }