import type { Jurisdiction, JurisdictionContext, ComposedPolicySet, GovernanceRegime, CryptoSuite, ProofAnchoringMethod, ConsentModel, EscalationMode, TrustLevel } from "./types.js";
export declare function hasJurisdiction(ctx: JurisdictionContext, ...js: Jurisdiction[]): boolean;
export declare function hasPolicyConstraint(ps: ComposedPolicySet, type: string): boolean;
export declare function extractPolicyConstraintValue<T = unknown>(ps: ComposedPolicySet, type: string): T | undefined;
export declare function resolveCryptoSuite(ctx: JurisdictionContext, ps: ComposedPolicySet): CryptoSuite;
export declare function resolveProofAnchoring(ctx: JurisdictionContext, ps: ComposedPolicySet): ProofAnchoringMethod;
export declare function resolveConsentModel(ctx: JurisdictionContext, ps: ComposedPolicySet): ConsentModel;
export declare function resolveEscalationMode(ctx: JurisdictionContext, ps: ComposedPolicySet): EscalationMode;
export declare function resolveAuditRetentionDays(ctx: JurisdictionContext, ps: ComposedPolicySet): number;
export declare function resolveExternalServicesAllowed(ctx: JurisdictionContext, ps: ComposedPolicySet): boolean;
export declare function resolveMinimumTrustLevel(ctx: JurisdictionContext, ps: ComposedPolicySet): TrustLevel;
export declare function generateRegimeId(p: {
    jurisdictions: Jurisdiction[];
    cryptoSuite: CryptoSuite;
    proofAnchoring: ProofAnchoringMethod;
    consentModel: ConsentModel;
    escalationMode: EscalationMode;
    auditRetentionDays: number;
    dataResidency: string;
    externalServicesAllowed: boolean;
    minimumTrustLevel: TrustLevel;
}): string;
export declare class RegimeSelector {
    select(ctx: JurisdictionContext, ps: ComposedPolicySet): GovernanceRegime;
}
//# sourceMappingURL=regime-selector.d.ts.map