/**
 * Phase 4: Extended Output Formats
 *
 * Additional output formats for documentation, analysis, and integration:
 * - HTML with hyperlinked cross-references
 * - JSON export for external tools
 * - XML output format
 * - CSV export for spreadsheet analysis
 * - Markdown documentation
 * - GraphViz call graph generation
 */
import { DisassemblyLine } from './types';
import { SNESRom } from './rom-parser';
import { OutputFormatter, SymbolTableEntry, CrossReference, OutputOptions } from './output-formatters';
export declare class HTMLFormatter extends OutputFormatter {
    getName(): string;
    getFileExtension(): string;
    format(lines: DisassemblyLine[]): string;
    private getCSS;
    private formatHTMLLine;
    private formatHTMLOperand;
}
export declare class JSONFormatter extends OutputFormatter {
    getName(): string;
    getFileExtension(): string;
    format(lines: DisassemblyLine[]): string;
    private serializeSymbols;
}
export declare class XMLFormatter extends OutputFormatter {
    getName(): string;
    getFileExtension(): string;
    format(lines: DisassemblyLine[]): string;
    private escapeXML;
}
export declare class CSVFormatter extends OutputFormatter {
    getName(): string;
    getFileExtension(): string;
    format(lines: DisassemblyLine[]): string;
}
export declare class MarkdownFormatter extends OutputFormatter {
    getName(): string;
    getFileExtension(): string;
    format(lines: DisassemblyLine[]): string;
}
export declare class ExtendedOutputFormatterFactory {
    static create(format: string, rom: SNESRom, symbols?: Map<number, SymbolTableEntry>, crossRefs?: CrossReference[], options?: OutputOptions): OutputFormatter;
    static getSupportedFormats(): string[];
}
export { CA65Formatter, WLADXFormatter, BassFormatter, SymbolTableEntry, CrossReference, OutputOptions } from './output-formatters';
//# sourceMappingURL=output-formats-extended.d.ts.map