/**
 * Pass 4 — Governance, Compliance & CostOps (ADR-036)
 *
 * Executes four concurrent workstreams that converge into a unified
 * Governance Convergence Report stored in the DecisionGraph:
 *
 *   Workstream A: Security & Compliance Analysis (LLM-Shield)
 *   Workstream B: Policy Enforcement (LLM-Policy-Engine)
 *   Workstream C: Financial Modeling (LLM-CostOps)
 *   Workstream D: Governance Visibility (LLM-Governance-Dashboard)
 *
 * Key design: simulation data (Pass 2) feeds directly into cost models.
 * Security findings (Workstream A) inform policy analysis (Workstream B).
 */
import type { PassNumber, AgentRef, AgentInvocationResult } from './types.js';
import { DecisionGraph } from './decision-graph.js';
import { ProvenanceTracker } from './provenance-tracker.js';
export type RiskLevel = 'critical' | 'high' | 'medium' | 'low';
export type EffortLevel = 'low' | 'medium' | 'high';
export type ComplianceStatus = 'compliant' | 'gaps_identified' | 'non_compliant';
export type ExplainabilityScore = 'full' | 'partial' | 'opaque';
export type ReadinessScore = 'ready' | 'conditionally_ready' | 'not_ready';
export type ConfidenceLevel = 'high' | 'medium' | 'low';
export interface DataExposure {
    readonly dataType: string;
    readonly location: string;
    readonly risk: string;
    readonly remediation: string;
}
export interface SafetyAssessment {
    readonly injectionVectors: readonly string[];
    readonly contentRisks: readonly string[];
    readonly boundaryViolations: readonly string[];
}
export interface CredentialAnalysis {
    readonly authFlows: readonly string[];
    readonly storageLocations: readonly string[];
    readonly abuseVectors: readonly string[];
}
export interface RemediationPriority {
    readonly finding: string;
    readonly severity: RiskLevel;
    readonly effort: EffortLevel;
    readonly recommendation: string;
}
export interface SecurityAnalysis {
    readonly overallRiskLevel: RiskLevel;
    readonly dataExposureMap: readonly DataExposure[];
    readonly safetyAssessment: SafetyAssessment;
    readonly credentialAnalysis: CredentialAnalysis;
    readonly remediationPriorities: readonly RemediationPriority[];
}
export interface RegulatoryFramework {
    readonly framework: string;
    readonly applicability: string;
    readonly complianceGaps: readonly string[];
    readonly remediationSteps: readonly string[];
}
export interface AIGovernance {
    readonly explainabilityScore: ExplainabilityScore;
    readonly biasAssessment: string;
    readonly humanOversightRequired: boolean;
    readonly requirements: readonly string[];
}
export interface ApprovalRoute {
    readonly approver: string;
    readonly reason: string;
    readonly threshold: string;
}
export interface PolicyAnalysis {
    readonly applicableFrameworks: readonly RegulatoryFramework[];
    readonly aiGovernance: AIGovernance;
    readonly approvalRouting: readonly ApprovalRoute[];
    readonly overallComplianceStatus: ComplianceStatus;
}
export interface InfrastructureCost {
    readonly category: string;
    readonly provider: string;
    readonly monthlyCost: number;
    readonly annualCost: number;
    readonly assumptions: readonly string[];
}
export interface IntegrationCost {
    readonly system: string;
    readonly setupCost: number;
    readonly ongoingMonthlyCost: number;
    readonly assumptions: readonly string[];
}
export interface OperationalCost {
    readonly category: string;
    readonly annualCost: number;
    readonly fteRequired: number;
}
export interface TCOProjection {
    readonly year1: number;
    readonly year3: number;
    readonly year5: number;
}
export interface ROIProjection {
    readonly expectedReturn: number;
    readonly paybackPeriodMonths: number;
    readonly confidenceLevel: ConfidenceLevel;
}
export interface ScenarioVariant {
    readonly scenarioId: string;
    readonly scenarioName: string;
    readonly costDelta: number;
    readonly explanation: string;
}
export interface BudgetRisk {
    readonly contingencyRequired: number;
    readonly budgetExceedanceProbability: number;
    readonly riskFactors: readonly string[];
}
export interface CostModel {
    readonly infrastructure: readonly InfrastructureCost[];
    readonly integrationCosts: readonly IntegrationCost[];
    readonly operationalCosts: readonly OperationalCost[];
    readonly tco: TCOProjection;
    readonly roi: ROIProjection;
    readonly scenarioVariants: readonly ScenarioVariant[];
    readonly budgetRisk: BudgetRisk;
}
export interface AuditTrailEntry {
    readonly decision: string;
    readonly madeBy: string;
    readonly timestamp: string;
    readonly rationale: string;
    readonly dataInputs: readonly string[];
}
export interface ChangeImpactEntry {
    readonly affectedSystem: string;
    readonly changeType: string;
    readonly impactLevel: RiskLevel;
    readonly stakeholders: readonly string[];
}
export interface GovernanceReadiness {
    readonly overallScore: ReadinessScore;
    readonly conditions: readonly string[];
    readonly strengths: readonly string[];
    readonly gaps: readonly string[];
}
export interface GovernanceReport {
    readonly auditTrail: readonly AuditTrailEntry[];
    readonly changeImpact: readonly ChangeImpactEntry[];
    readonly governanceReadiness: GovernanceReadiness;
}
export interface GovernanceConvergence {
    readonly securityRiskLevel: RiskLevel;
    readonly complianceStatus: ComplianceStatus;
    readonly financialViability: ConfidenceLevel;
    readonly governanceReadiness: ReadinessScore;
    readonly overallAssessment: string;
}
export type Pass4WorkstreamId = 'security-compliance' | 'policy-enforcement' | 'financial-modeling' | 'governance-visibility';
export interface Pass4WorkstreamConfig {
    readonly id: Pass4WorkstreamId;
    readonly label: string;
    readonly agents: readonly AgentRef[];
}
export declare const PASS4_WORKSTREAM_CONFIGS: readonly Pass4WorkstreamConfig[];
export interface Pass4WorkstreamResult {
    readonly workstream: Pass4WorkstreamId;
    readonly label: string;
    readonly agentResults: readonly AgentInvocationResult[];
    readonly successCount: number;
    readonly totalCount: number;
    readonly durationMs: number;
}
export interface Pass4Result {
    readonly workstreamResults: readonly Pass4WorkstreamResult[];
    readonly securityAnalysis: SecurityAnalysis;
    readonly policyAnalysis: PolicyAnalysis;
    readonly costModel: CostModel;
    readonly governanceReport: GovernanceReport;
    readonly convergence: GovernanceConvergence;
    readonly graphNodeIds: readonly string[];
    readonly totalAgentResults: readonly AgentInvocationResult[];
}
/**
 * Execute Pass 4: Governance, Compliance & CostOps.
 *
 * Dispatches four workstreams concurrently, processes results into
 * typed domain objects, converges into a GovernanceConvergence report,
 * and writes all outputs to the DecisionGraph.
 */
export declare function executePass4(params: {
    prompt: string;
    graph: DecisionGraph;
    tracker: ProvenanceTracker;
    timeoutMs: number;
    verbose: boolean;
    invokeAgents?: (agents: readonly AgentRef[], payload: Record<string, unknown>, pass: PassNumber, timeoutMs: number) => Promise<AgentInvocationResult[]>;
}): Promise<Pass4Result>;
//# sourceMappingURL=pass4-governance.d.ts.map