/**
 * Pack Rule Validator — schema gate before publish.
 *
 * Customer-facing safety net for the live pack editor (W3.3). Before any
 * pack version is persisted via PackVersionStore.publishVersion (W1.4),
 * validate the rule list so malformed inputs never become an active pack.
 *
 * Validation surface:
 *   - Capability class IDs must be recognised by the runtime
 *   - Governance actions must be in the supported set
 *   - Per-agent overrides must have non-empty approver + justification
 *   - Rules must not duplicate the same (capability, action) pair
 *   - Pack id / version / orgId required
 *
 * Returns a structured ValidationReport rather than throwing — the UI
 * surfaces issues inline, the customer fixes, then re-validates.
 *
 * @connexum/ai-governance  F-NEW-PRODUCT-COMPANY-PACK-CLASS (validator)
 */
export interface PackInputForValidation {
    id?: string;
    version?: string;
    orgId?: string;
    rules?: ReadonlyArray<unknown>;
    isolation?: unknown;
}
export type ValidationSeverity = 'ERROR' | 'WARN';
export interface ValidationIssue {
    severity: ValidationSeverity;
    field: string;
    code: 'MISSING' | 'INVALID_FORMAT' | 'UNKNOWN_CAPABILITY' | 'UNKNOWN_ACTION' | 'DUPLICATE_RULE' | 'INVALID_ISOLATION' | 'EMPTY_RULE_LIST';
    message: string;
}
export interface ValidationReport {
    ok: boolean;
    errors: ValidationIssue[];
    warnings: ValidationIssue[];
}
export declare function validatePackInput(input: PackInputForValidation): ValidationReport;
//# sourceMappingURL=pack-rule-validator.d.ts.map