import { AnalysisType, DocumentAnalysisArgs, DocumentAnalysisResult } from '../core/types.js';
export declare class DocumentAnalysis {
    private layerManager;
    private claudeLayer;
    private geminiLayer;
    private aiStudioLayer;
    private authVerifier;
    private readonly MAX_DOCUMENTS;
    private readonly MAX_DOCUMENT_SIZE;
    private readonly SUPPORTED_DOCUMENT_TYPES;
    constructor();
    analyzeDocuments(args: DocumentAnalysisArgs): Promise<DocumentAnalysisResult>;
    analyzeSingleDocument(documentPath: string, analysisType?: AnalysisType, options?: {
        depth?: 'shallow' | 'medium' | 'deep';
        extractImages?: boolean;
    }): Promise<DocumentAnalysisResult>;
    compareDocuments(documentPaths: string[], comparisonType?: 'similarity' | 'differences' | 'comprehensive'): Promise<DocumentAnalysisResult>;
    extractStructuredData(documentPaths: string[], dataTypes?: string[]): Promise<DocumentAnalysisResult>;
    summarizeDocuments(documentPaths: string[], summaryLength?: 'brief' | 'detailed' | 'comprehensive'): Promise<DocumentAnalysisResult>;
    private extractPDFText;
    private extractPDFWithGeminiFileAPI;
    private extractPDFWithPdfParse;
    private preprocessDocument;
    private validateAnalysisArgs;
    private initializeLayers;
    private determineLayersUsed;
    private convertPathsToFileRefs;
    private prepareDocuments;
    private determineDocumentType;
    private executeAnalysis;
    private executeComprehensiveAnalysis;
    private executeSummarizationAnalysis;
    private executeExtractionAnalysis;
    private executeComparativeAnalysis;
    private executeContextualAnalysis;
    private executeTranslationAnalysis;
    private executeGeneralAnalysis;
    private generateSummary;
    private generateInsights;
    private buildComprehensiveAnalysisPrompt;
    private buildComparisonPrompt;
    getSupportedDocumentTypes(): string[];
    isDocumentSupported(filePath: string): boolean;
    getProcessingLimits(): {
        maxDocuments: number;
        maxDocumentSize: number;
        maxDocumentSizeMB: number;
    };
    private estimateTokensUsed;
}
//# sourceMappingURL=documentAnalysis.d.ts.map