/**
 * NLG Renderer — consent-aware Natural Language Generation.
 *
 * Produces human-readable reasoning summaries and consent eligibility reports.
 * Uses i18n for bilingual (KO/EN) support.
 * Integrates with ThemePalette for styled output.
 *
 * Key principle: "사용자에게는 theme/NLG만"
 */
import type { ThemePalette } from "../cli/theme/theme-registry.js";
import type { ReasoningTrace, TraceSummary, ConsentAwareNlgOutput } from "./contracts/reasoning-trace.js";
export interface NlgRendererOptions {
    /** Theme palette for styled output */
    palette?: ThemePalette;
    /** Language override (defaults to i18n system language) */
    language?: "ko" | "en";
    /** Include file change details */
    includeFiles?: boolean;
    /** Include command execution details */
    includeCommands?: boolean;
    /** Consent level for redaction */
    consentLevel?: "l0" | "l1" | "l2" | "l3";
    /** Write function for output (defaults to process.stdout.write) */
    write?: (text: string) => void;
}
export interface NlgRenderer {
    /** Render a reasoning trace to human-readable summary */
    renderTrace(trace: ReasoningTrace): string;
    /** Render a trace summary (compact one-liner) */
    renderSummary(summary: TraceSummary): string;
    /** Generate consent-aware report */
    renderConsentReport(trace: ReasoningTrace, consentLevel: "l0" | "l1" | "l2" | "l3"): ConsentAwareNlgOutput;
    /** Render turn result with reasoning context */
    renderTurnResult(trace: ReasoningTrace): string;
    /** Flush buffered output */
    flush(): string;
}
export declare function createNlgRenderer(options?: NlgRendererOptions): NlgRenderer;
