/**
 * CLI Output Manager - Handle file output, formatting, and user feedback
 */
import type { CLIOptions } from './types';
import type { Section1Result } from '../analyzers/overview/types';
import type { Section2Result } from '../analyzers/quality/types';
import type { Section3Result } from '../analyzers/eda/types';
import type { Section4Result } from '../analyzers/visualization/types';
import type { Section5Result } from '../analyzers/engineering/types';
import type { Section6Result } from '../analyzers/modeling/types';
export declare class OutputManager {
    private options;
    private combinedSections;
    private combineMode;
    constructor(options: CLIOptions);
    /**
     * Output Section 1 results in the specified format
     */
    outputSection1(result: Section1Result, filename?: string): string[];
    /**
     * Output Section 2 (Data Quality) results in the specified format
     */
    outputSection2(result: Section2Result, filename?: string): string[];
    /**
     * Output Section 3 (EDA) results in the specified format
     */
    outputSection3(section3Report: string, result: Section3Result, filename?: string): string[];
    /**
     * Output Section 4 (Visualization Intelligence) results in the specified format
     */
    outputSection4(section4Report: string, result: Section4Result, filename?: string): string[];
    /**
     * Output Section 5 (Data Engineering) results in the specified format
     */
    outputSection5(section5Report: string, result: Section5Result, filename?: string): string[];
    /**
     * Output Section 6 (Predictive Modeling) results in the specified format
     */
    outputSection6(section6Report: string, result: Section6Result, filename?: string): string[];
    /**
     * Output validation results
     */
    outputValidation(filePath: string, isValid: boolean, errors: string[]): void;
    /**
     * Output file information
     */
    outputFileInfo(metadata: {
        originalFilename?: string;
        fileSizeMB?: number;
        encoding?: string;
        mimeType?: string;
        lastModified?: Date;
    }): void;
    /**
     * Format as JSON with pretty printing
     */
    private formatAsJSON;
    /**
     * Format as YAML (simplified implementation)
     */
    private formatAsYAML;
    /**
     * Simple object to YAML converter
     */
    private objectToYAML;
    /**
     * Format Section 2 result as JSON
     */
    private formatSection2AsJSON;
    /**
     * Format Section 2 result as YAML
     */
    private formatSection2AsYAML;
    /**
     * Format Section 3 result as JSON
     */
    private formatSection3AsJSON;
    /**
     * Format Section 3 result as YAML
     */
    private formatSection3AsYAML;
    /**
     * Format Section 4 result as JSON
     */
    private formatSection4AsJSON;
    /**
     * Format Section 4 result as YAML
     */
    private formatSection4AsYAML;
    /**
     * Format Section 5 result as JSON
     */
    private formatSection5AsJSON;
    /**
     * Format Section 5 result as YAML
     */
    private formatSection5AsYAML;
    /**
     * Format Section 6 result as JSON
     */
    private formatSection6AsJSON;
    /**
     * Format Section 6 result as YAML
     */
    private formatSection6AsYAML;
    /**
     * Generate Section 2 output filename
     */
    private generateSection2OutputFilename;
    /**
     * Generate Section 3 output filename
     */
    private generateSection3OutputFilename;
    /**
     * Generate Section 4 output filename
     */
    private generateSection4OutputFilename;
    /**
     * Generate Section 5 output filename
     */
    private generateSection5OutputFilename;
    /**
     * Generate Section 6 output filename
     */
    private generateSection6OutputFilename;
    /**
     * Write content to file with directory creation
     */
    private writeToFile;
    /**
     * Ensure file has the correct extension
     */
    private ensureExtension;
    /**
     * Generate output filename based on input filename
     */
    private generateOutputFilename;
    /**
     * Format file size for display
     */
    private formatFileSize;
    /**
     * Start collecting sections for combined output
     */
    startCombinedOutput(): void;
    /**
     * Add a section to the combined output
     */
    addToCombinedOutput(content: string): void;
    /**
     * Output the combined sections as a single file
     */
    outputCombined(filename?: string): string[];
    /**
     * Generate combined output filename
     */
    private generateCombinedOutputFilename;
    /**
     * Show available output formats
     */
    static showFormats(): void;
}
//# sourceMappingURL=output-manager.d.ts.map