import type { AIAnalysisResult, AIAnalysisContext, AIAssistantConfig } from '../types/ai-assistant';
/**
 * AI Analysis Service
 *
 * Abstract class representing an AI service for text analysis.
 */
export declare abstract class AIAnalysisService {
    protected endpoint: string | undefined;
    protected apiKey: string | undefined;
    protected provider: string;
    protected allowTelemetry: boolean;
    constructor(config: AIAssistantConfig);
    /**
     * Analyze the given text with the AI service.
     * @param text - The text to analyze.
     * @param context - Additional context for the analysis.
     */
    abstract analyzeText(text: string, context: AIAnalysisContext): Promise<AIAnalysisResult[]>;
    /**
     * Destroy the AI analysis service and release resources.
     */
    destroy(): void;
}
/**
 * Implementation of MCP-based AI Analysis Service
 */
export declare class MCPAIService extends AIAnalysisService {
    private cache;
    private readonly cacheTimeout;
    constructor(config: AIAssistantConfig);
    analyzeText(text: string, context: AIAnalysisContext): Promise<AIAnalysisResult[]>;
    private callMCPServer;
    private formatMCPContext;
    private parseMCPResponse;
    private mockAnalysis;
    private findGrammarIssues;
    private findToneIssues;
    private findClarityIssues;
    private getCacheKey;
}
/**
 * Implementation of OpenAI GPT Service
 */
export declare class OpenAIService extends AIAnalysisService {
    constructor(config: AIAssistantConfig);
    analyzeText(text: string, context: AIAnalysisContext): Promise<AIAnalysisResult[]>;
}
/**
 * Factory function for creating an AI analysis service.
 */
export declare function createAIAnalysisService(config: AIAssistantConfig): AIAnalysisService;
//# sourceMappingURL=AIAnalysisService.d.ts.map