/**
 * Shared builder for `AgentDrivenReportData`, the input shape consumed by
 * `HTMLReportGenerator.generateAgentDrivenHTML`.
 *
 * Two call sites produce this object with near-identical logic:
 *   - `routes/agentRoutes.ts:runAgentDrivenAnalysis` (HTTP path)
 *   - `cli-user/services/cliAnalyzeService.ts:buildReportHtml` (CLI path)
 *
 * Centralizing here avoids drift — any future field added to the generator
 * only needs one update, not two — and lets the CLI drop its `as any`
 * escape hatch since the builder emits the exact typed shape.
 */
import type { Finding } from '../agent/types';
import type { AgentDrivenReportData } from './htmlReportGenerator';
import type { AnalyzeManagedSession } from '../assistant/application/agentAnalyzeSessionService';
/**
 * The subset of `AnalysisResult` the builder reads. Stated explicitly so
 * callers can pass either the raw `AnalysisResult` (CLI) or a normalized
 * `resultForClient` (HTTP, where `conclusion`/`conclusionContract` have
 * been run through post-processors).
 */
interface ReportResultLike {
    sessionId: string;
    success: boolean;
    findings: Finding[];
    hypotheses: AgentDrivenReportData['hypotheses'];
    conclusion: string;
    conclusionContract?: unknown;
    claimSupport?: AgentDrivenReportData['result']['claimSupport'];
    claimVerificationResult?: AgentDrivenReportData['result']['claimVerificationResult'];
    identityResolutions?: AgentDrivenReportData['result']['identityResolutions'];
    confidence: number;
    rounds: number;
    totalDurationMs: number;
    partial?: boolean;
    terminationReason?: string;
    terminationMessage?: string;
}
export interface BuildAgentReportDataInput {
    session: AnalyzeManagedSession;
    result: ReportResultLike;
}
export declare function buildAgentDrivenReportData(input: BuildAgentReportDataInput): AgentDrivenReportData;
export {};
//# sourceMappingURL=agentReportData.d.ts.map