/**
 * Simulation Renderers — Pure rendering functions
 *
 * PURPOSE: Transform raw agent responses into structured artifact content.
 * No I/O, no side effects, no external calls.
 *
 * FORBIDDEN:
 * - File I/O (use simulation-artifact-generator for writes)
 * - External API calls
 * - State mutation
 */
export interface AgentResult {
    domain: string;
    agent: string;
    status: number;
    response: unknown;
}
interface SignalPayload {
    type?: string;
    data?: Record<string, unknown>;
}
/** Summarize agent fleet metrics for reporting. */
export declare function computeFleetMetrics(results: AgentResult[]): {
    totalInvoked: number;
    successful: number;
    failed: number;
    domainBreakdown: Record<string, {
        success: number;
        fail: number;
        agents: string[];
    }>;
};
export declare function extractSignalPayload(response: unknown): SignalPayload;
interface FinancialData {
    budget: string;
    roi: string;
    npv: string;
    payback: string;
    revenue: string;
    costSavings: string;
    hasData: boolean;
    isEstimated: boolean;
}
/**
 * ADR-PIPELINE-026: Synthesize financial data from ALL sources:
 * 1. Simulation engine result (simData)
 * 2. Agent results (planner, what-if, scenario, decision, costops)
 * 3. Query-based estimates as last resort
 * Documents should NEVER say "To be quantified".
 */
export interface DomainAnalysis {
    domain: string;
    keyMetrics: Record<string, number | string>;
    scenarios: Array<{
        name: string;
        capex: number;
        annualSavings: number;
        paybackYears: number;
    }>;
    confidence: number;
    methodology: string;
}
/**
 * ADR-PIPELINE-041: Extract or generate domain_analysis from simulation data.
 * If ruvector produced domain_analysis, use it. Otherwise, generate it from
 * the query using the same logic as tryDomainSpecificFinancials().
 * This bridges the gap until ruvector produces real domain analysis.
 */
export declare function extractDomainAnalysis(simData: Record<string, unknown>, query: string): DomainAnalysis | null;
/**
 * Enrich the raw ruvector simulation result with domain-specific analysis.
 * Call this ONCE after Phase 1 completes, before any renderer consumes simData.
 *
 * Injects: domain_analysis, enriched success probability, scenario projections.
 * Transparent: marks all enriched fields with _source so original data is preserved.
 *
 * If ruvector already produced domain_analysis, it's kept as-is (no override).
 */
export declare function enrichSimulationResult(simData: Record<string, unknown>, query: string): Record<string, unknown>;
export declare function synthesizeFinancials(simData: Record<string, unknown>, platformResults: AgentResult[], query: string): FinancialData;
export { synthesizeFinancials as extractFinancials };
/**
 * ADR-PIPELINE-040: Two-pass executive document rendering.
 * Pass 1 (already done): template engine generates structured skeleton with data.
 * Pass 2 (this function): LLM rewrites skeleton into consulting-grade narrative.
 * Falls back to skeleton if LLM unavailable — graceful degradation.
 *
 * @param skeleton - The template-generated markdown document
 * @param query - Original user query for domain context
 * @param documentType - Which document is being synthesized
 * @param agentSummary - Optional condensed agent results for evidence
 */
export declare function synthesizeExecutiveDocument(skeleton: string, query: string, documentType: string, agentSummary?: string): Promise<string>;
export declare function renderExecutiveSummary(query: string, simulationResult: unknown, platformResults: AgentResult[]): string;
export declare function renderDecisionMemo(query: string, simulationResult: unknown, platformResults: AgentResult[]): string;
export declare function buildScenarioArtifact(query: string, simulationResult: unknown, platformResults: AgentResult[]): Record<string, unknown>;
export declare function buildRoadmapArtifact(query: string, simulationResult: unknown, platformResults: AgentResult[]): Record<string, unknown>;
export declare function buildRiskAssessment(query: string, simulationResult: unknown, platformResults: AgentResult[]): Record<string, unknown>;
export declare function renderFinancialAnalysis(query: string, simulationResult: unknown, platformResults: AgentResult[]): string;
export declare function renderSecurityAssessment(query: string, _simulationResult: unknown, platformResults: AgentResult[]): string;
export declare function renderIntegrationAssessment(query: string, _simulationResult: unknown, platformResults: AgentResult[]): string;
export declare function renderAgentFleetReport(query: string, _simulationResult: unknown, platformResults: AgentResult[]): string;
//# sourceMappingURL=simulation-renderers.d.ts.map