import type { ConstraintType } from "./common.types.js"; export interface ConstraintRule { id: string; name: string; type: ConstraintType; category: string; description: string; validation: ValidationRule; weight: number; mandatory: boolean; source: string; } export interface ValidationRule { schema?: Record; keywords?: string[]; minCoverage?: number; customValidator?: string; } export interface ConstraintSatisfactionResult { passed: boolean; violations: number; warnings: number; } export interface ConstraintDecision { action: "applied" | "skipped" | "modified" | "rejected"; originalRule: ConstraintRule; modifiedRule?: Partial; coverage: number; violations: string[]; justification: string; } export interface ConstraintEnforcementHistory { constraintId: string; sessionId: string; timestamp: string; phase: string; decision: string; rationale: string; enforcement: boolean; violation?: string; resolution?: string; context: string; } export interface ConstraintConsistencyViolation { constraintId: string; currentSessionId: string; conflictingSessionId: string; violationType: "decision_conflict" | "rationale_inconsistency" | "enforcement_mismatch"; description: string; severity: "critical" | "warning" | "info"; suggestedResolution: string; } //# sourceMappingURL=constraint.types.d.ts.map