import { AccessibilityAnalysis } from '../interfaces';
export interface IAnalysisOptions {
    wcagLevel: 'A' | 'AA' | 'AAA';
    model?: string;
    language?: string;
    analysisDepth?: 'standard' | 'comprehensive';
}
export interface IProviderCredentials {
    apiKey: string;
    baseUrl?: string;
    model?: string;
    [key: string]: any;
}
export interface ILLMProvider {
    analyzeAccessibility(text: string, documentInfo: {
        fileName: string;
        pageCount: number;
        wordCount: number;
    }, options: IAnalysisOptions): Promise<AccessibilityAnalysis>;
    getName(): string;
    getModels(): string[];
    validateCredentials(): Promise<boolean>;
    estimateTokens(text: string): number;
}
export declare abstract class BaseLLMProvider implements ILLMProvider {
    protected credentials: IProviderCredentials;
    constructor(credentials: IProviderCredentials);
    abstract analyzeAccessibility(text: string, documentInfo: {
        fileName: string;
        pageCount: number;
        wordCount: number;
    }, options: IAnalysisOptions): Promise<AccessibilityAnalysis>;
    abstract getName(): string;
    abstract getModels(): string[];
    abstract validateCredentials(): Promise<boolean>;
    estimateTokens(text: string): number;
    protected generateFallbackTitle(fileName: string): string;
    protected buildAnalysisPrompt(extractedText: string, documentInfo: {
        fileName: string;
        pageCount: number;
        wordCount: number;
    }, wcagLevel?: string, language?: string): string;
    protected parseAnalysisResponse(analysisText: string, originalFileName: string): AccessibilityAnalysis;
}
