/**
 * Structural validator for delegation chains under responsibility_anchor.
 *
 * Catches malformed chains before they are passed to cascadePrincipal. The
 * cascade returns chain_integrity verdicts at runtime; this validator is the
 * earlier gate that ensures chains issued with anchors are internally
 * coherent.
 */
import type { DelegationChain } from './responsibility.js';
/** Result of validateChainComposition. */
export interface ChainCompositionResult {
    valid: boolean;
    failures: string[];
}
/**
 * Verify that a delegation chain is well-formed under responsibility_anchor
 * rules.
 *
 * Checks:
 *
 * 1. Every anchor of kind 'agent_acting_for_principal' has a non-empty
 *    acting_agent_id field.
 * 2. The chain has at least one 'human' or 'org' anchor reachable from every
 *    'agent_acting_for_principal' anchor (no infinite-agent chain).
 * 3. No cycle exists among 'agent_acting_for_principal' anchors via the
 *    acting_agent_id pointer.
 *
 * Chains with no anchors at all are treated as legacy and pass without
 * failures (the cascade falls back to the root delegator). This keeps the
 * validator additive against pre-anchor delegations.
 */
export declare function validateChainComposition(chain: DelegationChain): ChainCompositionResult;
//# sourceMappingURL=validateChainComposition.d.ts.map