/**
 * Capability Composition Conflict Classifier (AXIS-B1)
 *
 * Some capability combinations are structurally dangerous regardless of how
 * they are individually governed. This module encodes the FULL enumerated
 * fail-list from the AXIS-B1 dispatch brief — each entry individually
 * specified and independently testable.
 *
 * USAGE:
 *   const result = classifyCapabilityComposition(['web-scraping', 'decision-making']);
 *   // → COMPOSITION_RESULT.FAIL
 *
 * SHIPPED-FEATURE DISCLAIMER (AXIS-B1, per feedback_never_claim_shipped_without_integration):
 * This module is NOT end-to-end shipped until AXIS-B4 wires
 * InteractionAxisScore into the trust-score recompute() function and the
 * POST /api/v1/trust-score/refresh response shape carries the interaction field.
 *
 * @connexum/ai-governance  AXIS-B1
 */
export declare const COMPOSITION_RESULT: {
    /** The capability pair is structurally dangerous. Block or prevent registration. */
    readonly FAIL: "FAIL";
    /**
     * The pair is permissible but REQUIRES a human-in-the-loop approval gate
     * before any autonomous action. Register with HITL mandate; score deduction
     * applied in the interaction axis.
     */
    readonly REQUIRES_HITL: "REQUIRES_HITL";
    /** No conflict detected between these capabilities. */
    readonly OK: "OK";
};
export type CompositionResult = (typeof COMPOSITION_RESULT)[keyof typeof COMPOSITION_RESULT];
export type Capability = string;
/**
 * Pair-based fail rules. Each entry describes a structurally dangerous
 * combination. Pairs are UNORDERED — the classifier normalises order before
 * lookup.
 *
 * Reasoning for each entry is co-located with the code (not externally
 * referenced) per security-discipline requirement: "etc." is unacceptable.
 */
interface ConflictRule {
    /** The two capabilities that trigger the rule (order-independent). */
    pair: readonly [Capability, Capability];
    /** Outcome when the pair is detected. */
    result: typeof COMPOSITION_RESULT.FAIL | typeof COMPOSITION_RESULT.REQUIRES_HITL;
    /** One-line threat description — also appears in audit events. */
    threatClass: string;
}
/**
 * Classify all pairwise combinations of the provided capabilities.
 *
 * Returns the MOST SEVERE result across all pairs:
 *   FAIL > REQUIRES_HITL > OK
 *
 * Behaviour on single capability or empty list: returns OK (no pair to check).
 */
export declare function classifyCapabilityComposition(capabilities: readonly Capability[]): CompositionResult;
/**
 * Return the matching conflict rule for a pair, or undefined if the pair is OK.
 * Used by audit event builders and Trust Score sub-scoring.
 */
export declare function getConflictRule(capA: Capability, capB: Capability): ConflictRule | undefined;
/**
 * Return ALL conflict rules that match any pair in the provided capability list.
 * Used by the Trust Score interaction-axis scorer (AXIS-B2) to enumerate
 * all conflicts for a given agent manifest.
 */
export declare function getAllConflictsForCapabilities(capabilities: readonly Capability[]): ConflictRule[];
export {};
//# sourceMappingURL=capability-composition-conflicts.d.ts.map