/**
 * Output Rendering Module (Module E)
 *
 * SPARC Architecture Reference: §2.6
 *
 * PURPOSE: Format output for display
 *
 * DEPENDENCIES: None
 *
 * FORBIDDEN:
 * - Data Transformation (NO semantic changes)
 * - Data Validation (NO schema checking)
 * - Business Logic (NO conditional processing)
 * - Side Effects (NO logging or metrics)
 */
import type { OutputOptions, BaseReference, OrchestrationResult, ErrorInfo, RuvectorRootedGraph } from '../types/index.js';
export interface IOutputRenderer {
    render(data: unknown, options: OutputOptions): string;
    renderReference(ref: BaseReference, options: OutputOptions): string;
    renderResult(result: OrchestrationResult, options: OutputOptions): string;
    renderError(error: ErrorInfo, options: OutputOptions): string;
    renderSpanTree(graph: RuvectorRootedGraph, options: OutputOptions): string;
}
export declare class OutputRenderer implements IOutputRenderer {
    /**
     * Render arbitrary data to specified format
     * PASSTHROUGH: No transformation of data semantics
     */
    render(data: unknown, options: OutputOptions): string;
    /**
     * Render a reference object
     */
    renderReference(ref: BaseReference, options: OutputOptions): string;
    /**
     * Render orchestration result
     */
    renderResult(result: OrchestrationResult, options: OutputOptions): string;
    /**
     * Render error information
     * Stack traces are excluded by default (only shown when includeStack is true)
     */
    renderError(error: ErrorInfo, options: OutputOptions): string;
    /**
     * Render a ruvector-rooted execution span tree for CLI output.
     * Shows ruvector as root with downstream cores, repos, and agent spans.
     *
     * GUARDS (no fallback):
     * - Refuses to render if root is not ruvector-service
     * - Refuses to render partial graphs (spans still in 'started' status)
     */
    renderSpanTree(graph: RuvectorRootedGraph, options: OutputOptions): string;
    private spanTreeToText;
    private countPendingSpans;
    private toJson;
    private toYaml;
    private objectToYaml;
    private toTable;
    private toCsv;
    private escapeCsv;
    private toText;
    private formatValue;
}
export declare function createOutputRenderer(): IOutputRenderer;
//# sourceMappingURL=output-renderer.d.ts.map