import type { AuditBundle, AuditEntry, BenchmarkLedgerEntry, BlockedPlugin, Finding, ProviderUsageAggregate, RunComparisonDocument } from "@h9-foundry/agentforge-shared-types";
export interface RunListItemView {
    runId: string;
    workflow: string;
    startedAt: string;
    finishedAt: string;
    status: AuditBundle["status"];
    findings: number;
    blockedActions: number;
    blockedPlugins: number;
    artifactKinds: string[];
    bundlePath: string;
    summaryPath: string;
    hasBenchmarkSummary: boolean;
    invalidArtifactCount: number;
    decisionImpactKind?: DecisionOutcomeKind;
    riskKinds: string[];
    evidenceStatuses: Array<{
        category: string;
        status: "present" | "missing" | "partial";
    }>;
    workflowStage?: string;
    hasOverride: boolean;
    configurationProfile?: string;
    configurationPolicyPreset?: string;
    configurationWorkflowVariant?: string;
    configurationAgentBindings: string[];
}
export interface InvalidRunView {
    runId: string;
    bundlePath: string;
    error: string;
}
export interface ArtifactSectionView {
    heading: string;
    lines: string[];
}
export interface ArtifactPanelView {
    id: string;
    artifactKind: string;
    lifecycleDomain: string;
    workflow: string;
    workflowDisplayName?: string;
    status: string;
    summary: string;
    sourceRefs: string[];
    issueRefs: string[];
    provenanceEntries: string[];
    auditEntries: string[];
    sections: ArtifactSectionView[];
    rawPayload: string;
    isKnownArtifact: boolean;
    parseError?: string;
}
export interface TraceReferenceView {
    runId?: string;
    artifactKind?: string;
    section?: string;
    findingId?: string;
    note: string;
}
export interface DerivedReasonView {
    source: "ledger" | "inferred" | "run-findings" | "artifact-blockers";
    rule: string;
    fields: string[];
    summary: string;
}
export interface RunDetailView extends RunListItemView {
    entries: AuditEntry[];
    findingsList: Finding[];
    blockedPluginsList: BlockedPlugin[];
    artifacts: ArtifactPanelView[];
    summaryMarkdown: string;
    rawBundleJson: string;
    usage?: ProviderUsageAggregate;
    configuration?: RunConfigurationSummaryView;
    decisionImpact: DecisionImpactView;
    riskSummary: RiskSummaryView;
    evidenceCompleteness: EvidenceCompletenessView[];
    workflowChain: WorkflowChainView;
}
export interface RunConfigurationSummaryView {
    profile: string;
    policyPreset?: string;
    workflowVariant: string;
    agentBindings: string[];
    policyFingerprint: string;
    repoFitPath?: string;
    repoFitRecommendedProfile?: string;
    repoFitSelectedProfile?: string;
    repoFitAdoption?: string;
    sourceRefs: string[];
    nodeAgents: Array<{
        nodeId: string;
        agent: string;
    }>;
    executedNodes: Array<{
        nodeId: string;
        kind: string;
        agent?: string;
    }>;
}
export interface ConfigurationHotspotView {
    dimension: "profile" | "policyPreset" | "workflowVariant" | "agentBinding";
    value: string;
    runs: number;
    changedDecisions: number;
    blockedActions: number;
    workflows: string[];
}
export interface RunComparisonView extends RunComparisonDocument {
    left?: RunDetailView;
    right?: RunDetailView;
}
export interface BenchmarkComparedRunView {
    runId: string;
    bundlePath: string;
    specId?: string;
    workflow?: string;
    comparable: boolean;
    passed?: boolean;
    failureCount?: number;
    deterministicCheckCount: number;
    regressionCount: number;
    improvementCount: number;
    unchangedCount: number;
    nonComparableCount: number;
    hasLocalRunLink: boolean;
}
export interface BenchmarkSummaryView {
    runId: string;
    workflow: string;
    status: AuditBundle["status"];
    baselineRunId: string;
    baselineWorkflow?: string;
    baselineSpecId?: string;
    comparableRunCount: number;
    regressionCount: number;
    improvementCount: number;
    unchangedCount: number;
    nonComparableCount: number;
    summaryConclusion: string;
    comparedRuns: BenchmarkComparedRunView[];
    hasBaselineRunLink: boolean;
}
export interface RunsIndexView {
    runs: RunListItemView[];
    invalidRuns: InvalidRunView[];
}
export interface BenchmarkIndexView {
    benchmarks: BenchmarkSummaryView[];
    invalidRuns: InvalidRunView[];
}
export type DecisionOutcomeKind = "scope_reduction" | "added_validation" | "blocked_approval" | "remediation_before_merge" | "added_confidence" | "no_meaningful_change";
export interface BenchmarkLedgerView {
    path: string;
    entries: BenchmarkLedgerEntry[];
    errors: string[];
}
export interface DecisionImpactView {
    kind: DecisionOutcomeKind;
    changedDecision: boolean;
    source: "ledger" | "inferred";
    summary: string;
    reason: DerivedReasonView;
    traceRefs: TraceReferenceView[];
    benchmarkTaskId?: string;
}
export interface RiskSummaryView {
    high: number;
    medium: number;
    low: number;
    noisy: number;
    unresolved: number;
    blockedApprovalPrevented: boolean;
    blockerCount: number;
    summary: string[];
    reason: DerivedReasonView;
    traceRefs: TraceReferenceView[];
}
export interface EvidenceCategoryView {
    key: string;
    label: string;
    status: "present" | "missing" | "partial";
    detail: string;
    reason: DerivedReasonView;
    traceRefs: TraceReferenceView[];
}
export interface EvidenceCompletenessView {
    workflow: string;
    categories: EvidenceCategoryView[];
}
export interface WorkflowChainStageView {
    stage: string;
    label: string;
    status: "present" | "missing" | "current";
    detail: string;
    reason: DerivedReasonView;
    required: boolean;
    traceRefs: TraceReferenceView[];
}
export interface WorkflowChainView {
    currentStage: string;
    stages: WorkflowChainStageView[];
    chainKey?: string;
}
export interface OutcomeSummaryView {
    label: string;
    value: number;
    detail: string;
    href: string;
    provenance?: string;
}
export interface OutcomeDetailRowView {
    id: string;
    workflow: string;
    runId: string;
    status: string;
    title: string;
    summary: string;
    source: string;
    detailHref: string;
    runsHref: string;
    traceRefs: TraceReferenceView[];
}
export interface DecisionImpactSummaryView {
    changedDecisionCount: number;
    scopeReductionCount: number;
    addedValidationCount: number;
    blockedApprovalCount: number;
    remediationCount: number;
    addedConfidenceCount: number;
    noMeaningfulChangeCount: number;
    comparableBenchmarkPairs: number;
}
export interface RiskDashboardView {
    confirmedHighCount: number;
    confirmedMediumCount: number;
    noisyFindingCount: number;
    blockedApprovalPreventedCount: number;
    unresolvedRiskCount: number;
}
export interface WorkflowEvidenceSummaryRowView {
    workflow: string;
    runs: number;
    missingCount: number;
    partialCount: number;
    frequentMissing: string[];
}
export interface FrictionWorkflowView {
    workflow: string;
    overrideCount: number;
    falsePositiveCount: number;
    manualStepCount: number;
    requestFrictionCount: number;
}
export interface FrictionDashboardView {
    ledgerAvailable: boolean;
    overrideCount: number;
    falsePositiveCount: number;
    manualStepCount: number;
    requestFrictionCount: number;
    repeatedOverrideReasons: string[];
    noisyPatterns: string[];
    workflowHotspots: FrictionWorkflowView[];
}
export interface WorkflowChainSummaryView {
    stage: string;
    label: string;
    runCount: number;
    blockedCount: number;
    missingUpstreamEvidenceCount: number;
}
export interface ReleaseBenchmarkArmSummaryView {
    arm: "control" | "agentforge";
    entryCount: number;
    medianCycleTimeSeconds?: number;
    clearDecisionCount: number;
    ambiguousDecisionCount: number;
    blockedReleaseCount: number;
    confirmedRiskCount: number;
    totalInputTokens: number;
    totalOutputTokens: number;
    totalTokens: number;
    totalRequests: number;
    measuredTokenEntryCount: number;
    totalEstimatedCostUsd?: number;
    knownCostEntryCount: number;
    costPerConfirmedRiskCaught?: number;
    costPerBlockedPrematureRelease?: number;
}
export interface ReleaseBenchmarkDashboardView {
    available: boolean;
    comparablePairs: number;
    totalEntries: number;
    arms: ReleaseBenchmarkArmSummaryView[];
}
export interface OutcomesDashboardView {
    ledger: BenchmarkLedgerView;
    decisionImpact: DecisionImpactSummaryView;
    risk: RiskDashboardView;
    releaseBenchmark: ReleaseBenchmarkDashboardView;
    evidence: WorkflowEvidenceSummaryRowView[];
    friction: FrictionDashboardView;
    workflowChains: WorkflowChainSummaryView[];
    configurationHotspots: ConfigurationHotspotView[];
    runCount: number;
    filteredPanel?: string;
    filters: OutcomesFilters;
    summaries: {
        decision: OutcomeSummaryView[];
        risk: OutcomeSummaryView[];
        releaseBenchmark: OutcomeSummaryView[];
        evidence: OutcomeSummaryView[];
        friction: OutcomeSummaryView[];
        workflowChain: OutcomeSummaryView[];
    };
    details: {
        decision: OutcomeDetailRowView[];
        risk: OutcomeDetailRowView[];
        releaseBenchmark: OutcomeDetailRowView[];
        evidence: OutcomeDetailRowView[];
        friction: OutcomeDetailRowView[];
        workflowChain: OutcomeDetailRowView[];
    };
}
export interface OutcomesExportDocument {
    schemaVersion: string;
    generatedAt: string;
    workspaceRoot: string;
    runsRoot: string;
    benchmarkLedgerPath?: string;
    runCount: number;
    ledgerAvailable: boolean;
    decisionImpact: DecisionImpactSummaryView;
    risk: RiskDashboardView;
    releaseBenchmark: ReleaseBenchmarkDashboardView;
    evidence: WorkflowEvidenceSummaryRowView[];
    friction: FrictionDashboardView;
    workflowChains: WorkflowChainSummaryView[];
    configurationHotspots: ConfigurationHotspotView[];
    summaries: OutcomesDashboardView["summaries"];
}
export type ValueDashboardView = OutcomesDashboardView;
export interface RunFilters {
    workflow?: string;
    status?: string;
    artifactKind?: string;
    search?: string;
    decisionImpact?: DecisionOutcomeKind;
    riskKind?: string;
    evidenceCategory?: string;
    evidenceStatus?: "present" | "missing" | "partial";
    hasOverride?: "true" | "false";
    workflowStage?: string;
}
export interface OutcomesFilters {
    panel?: "decision-impact" | "risk" | "release-benchmark" | "evidence" | "friction" | "flow";
    decision?: "changed" | DecisionOutcomeKind;
    risk?: string;
    arm?: "control" | "agentforge";
    releaseDecision?: "go" | "no-go" | "conditional" | "unclear";
    workflow?: string;
    evidenceCategory?: string;
    evidenceStatus?: "present" | "missing" | "partial";
    stage?: string;
}
export declare function resolveRunsRoot(workspaceRoot: string, configuredRunsRoot?: string): string;
export declare function loadRunsIndexView(workspaceRoot: string, runsRoot?: string, filters?: RunFilters, benchmarkLedgerPath?: string): RunsIndexView;
export declare function resolveBenchmarkLedgerPath(workspaceRoot: string, configuredBenchmarkLedgerPath?: string): string;
export declare function loadRunDetailView(workspaceRoot: string, runId: string, runsRoot?: string, benchmarkLedgerPath?: string): RunDetailView | undefined;
export declare function loadRunComparisonView(workspaceRoot: string, leftRunId: string, rightRunId: string, runsRoot?: string, benchmarkLedgerPath?: string): RunComparisonView | undefined;
export declare function loadBenchmarkIndexView(workspaceRoot: string, runsRoot?: string, benchmarkLedgerPath?: string): BenchmarkIndexView;
export declare function loadBenchmarkLedgerView(workspaceRoot: string, configuredBenchmarkLedgerPath?: string): BenchmarkLedgerView;
export declare function parseOutcomesFilters(searchParams: URLSearchParams): OutcomesFilters;
export declare function loadOutcomesDashboardView(workspaceRoot: string, runsRoot?: string, benchmarkLedgerPath?: string, filters?: OutcomesFilters): OutcomesDashboardView;
export declare function loadValueDashboardView(workspaceRoot: string, runsRoot?: string, benchmarkLedgerPath?: string, filters?: OutcomesFilters): OutcomesDashboardView;
export declare function createOutcomesExportDocument(workspaceRoot: string, runsRoot?: string, benchmarkLedgerPath?: string, filters?: OutcomesFilters): OutcomesExportDocument;
export declare function listAvailableWorkflows(runs: readonly RunListItemView[]): string[];
export declare function listAvailableStatuses(runs: readonly RunListItemView[]): string[];
export declare function listAvailableArtifactKinds(runs: readonly RunListItemView[]): string[];
export declare function toRelativeDisplayPath(workspaceRoot: string, absolutePath: string): string;
//# sourceMappingURL=data.d.ts.map