import type { AggregateResult } from '../stats.js';
import type { SccLanguage } from '../scc.js';
import type { StructureResult } from './tree.js';
export interface ScanJsonDiagnostic {
    code: 'scc-unavailable';
    message: string;
}
export interface FormatJsonOptions {
    /** Documents skipped by the root scanner before parsing. */
    skippedFiles?: number;
    /** Runtime degradations that would otherwise exist only on stderr. */
    diagnostics?: ScanJsonDiagnostic[];
    /** Indent JSON for a human reader; compact is the machine default. */
    pretty?: boolean;
}
export declare function formatJson(stats: AggregateResult, sccData?: SccLanguage[] | null, structureResults?: StructureResult[], options?: FormatJsonOptions): string;
