import { PeerLifecycle, PeerResolutionVerdictKind, type PeerResolutionRequest, type ServicePeerContract } from '@xemahq/contracts/biome-dependency'; import { XemaError } from '@xemahq/contracts/http'; export declare const UNDECLARED_PEER_DEPENDENCY = "UNDECLARED_PEER_DEPENDENCY"; export declare const UNDECLARED_PEER_DEPENDENCY_STATUS = 500; export declare class UndeclaredPeerDependencyError extends XemaError { readonly consumer: string; readonly peer: string; readonly relationship: PeerResolutionRequest['relationship']; readonly verdict: PeerResolutionVerdictKind.Undeclared | PeerResolutionVerdictKind.LifecycleMismatch; constructor(params: { consumer: string; request: PeerResolutionRequest; verdict: PeerResolutionVerdictKind.Undeclared | PeerResolutionVerdictKind.LifecycleMismatch; message: string; }); } export type PeerAdmission = { readonly relationship: Exclude; readonly serviceName: string; } | Omit, 'phase'>; export declare class PeerContractEnforcer { private readonly consumer; private readonly contract; private currentPhase; private constructor(); static unenforced(consumer: string): PeerContractEnforcer; static forContract(consumer: string, contract: ServicePeerContract): PeerContractEnforcer; get enforced(): boolean; get phase(): PeerLifecycle; markRuntime(): void; admit(admission: PeerAdmission, phase?: PeerLifecycle): void; } export declare const PEER_CONTRACT_ENFORCER_TOKEN: unique symbol; export declare const RESOLVE_PEER: unique symbol; //# sourceMappingURL=peer-contract-enforcer.d.ts.map