/** * Excel Analysis Report Generator * Generates comprehensive analysis reports for Excel files * * @module @f5/cli/core/excel-analysis-report * @version 1.0.0 */ import { ExtractedImage } from './excel-image-extractor.js'; import { FormulaInfo, MergedCellInfo, ColorHighlight, BusinessRule } from './excel-formula-handler.js'; export interface ExcelAnalysisReport { metadata: ReportMetadata; summary: AnalysisSummary; sheets: SheetAnalysis[]; images: ImageAnalysis; formulas: FormulaAnalysis; businessRules: BusinessRule[]; recommendations: Recommendation[]; markdown: string; } export interface ReportMetadata { fileName: string; filePath: string; fileSize: number; analyzedAt: string; sheetCount: number; totalRows: number; totalCells: number; } export interface AnalysisSummary { complexity: 'simple' | 'moderate' | 'complex'; hasImages: boolean; hasFormulas: boolean; hasMergedCells: boolean; hasColorCoding: boolean; estimatedConversionTime: string; warnings: string[]; } export interface SheetAnalysis { name: string; rows: number; columns: number; usedRange: string; hasData: boolean; formulaCount: number; mergedCellCount: number; highlightCount: number; imageCount: number; dataTypes: Record; } export interface ImageAnalysis { total: number; extracted: ExtractedImage[]; bySheet: Record; outputDirectory: string; } export interface FormulaAnalysis { total: number; byType: Record; bySheet: Record; complexFormulas: FormulaInfo[]; mergedCells: MergedCellInfo[]; colorHighlights: ColorHighlight[]; } export interface Recommendation { type: 'warning' | 'info' | 'suggestion'; category: string; message: string; details?: string; } export interface AnalysisOptions { extractImages?: boolean; analyzeFormulas?: boolean; generateMarkdown?: boolean; outputDir?: string; interactive?: boolean; } export declare class ExcelAnalysisReportGenerator { private filePath; private workbook; private options; private imageResult?; private formulaResult?; constructor(filePath: string, options?: AnalysisOptions); /** * Generate complete analysis report */ generate(): Promise; /** * Generate file metadata */ private generateMetadata; /** * Analyze each sheet */ private analyzeSheets; /** * Generate analysis summary */ private generateSummary; /** * Generate recommendations */ private generateRecommendations; /** * Generate markdown report */ private generateMarkdown; /** * Format file size */ private formatFileSize; /** * Save report to file */ saveReport(report: ExcelAnalysisReport, outputPath?: string): Promise; /** * Save JSON report */ saveJsonReport(report: ExcelAnalysisReport, outputPath?: string): Promise; } /** * Quick analysis function */ export declare function analyzeExcelFile(filePath: string, options?: AnalysisOptions): Promise; /** * Interactive analysis prompts */ export interface InteractivePrompt { question: string; options: string[]; default?: string; } export declare function getInteractivePrompts(report: ExcelAnalysisReport): InteractivePrompt[];