import type { ToolResult } from '../types/index.js';
/** Format a key-value object as concise markdown (no JSON dump) */
export declare function formatKeyValue(data: Record<string, unknown>, title?: string): string;
/** Format an array of objects as a markdown table */
export declare function formatTable(rows: Record<string, unknown>[], columns: string[], title?: string): string;
/** Format a list of items as bullet points */
export declare function formatList(items: string[], title?: string): string;
/** Format a confirmation (write/update/delete operations) — ultra concise */
export declare function formatConfirmation(action: string, details?: string): string;
/** Format a score/health result */
export declare function formatScore(label: string, score: number, maxScore: number, issues?: string[]): string;
/** Format a config object showing only non-default values */
export declare function formatConfig(config: Record<string, unknown>, defaults?: Record<string, unknown>, title?: string): string;
/** Wrap formatted text into a ToolResult */
export declare function compactResult(text: string): ToolResult;
/** Wrap formatted text into an error ToolResult */
export declare function compactError(text: string): ToolResult;
/**
 * Smart fallback: if a tool hasn't been migrated yet, truncate JSON output
 * to avoid massive token consumption. Keeps first 30 lines + summary.
 */
export declare function compactJson(data: unknown, maxLines?: number): string;
/**
 * Format a spec summary for list_specs output — most impactful optimization.
 * Replaces full spec JSON dumps with a concise table.
 */
export declare function formatSpecList(specs: {
    id?: string;
    title?: string;
    status?: string;
    type?: string;
    tags?: string[];
}[]): string;
//# sourceMappingURL=output-formatter.d.ts.map