export type ComplianceDecision = 'allow' | 'block' | 'review' | 'hold' | 'reject';
export type ComplianceEvaluationInput = {
    entityId: string;
    tenantId: string;
    counterpartyId?: string;
    amount: string;
    currency: string;
    transactionType: string;
    riskHints?: string[];
};
export type ComplianceEvaluationResult = {
    decision: ComplianceDecision;
    risk_score: number;
    reason_codes: string[];
    evidence_refs: string[];
    expires_at?: string;
    manual_review_required: boolean;
    audit_event_id: string;
};
export interface ComplianceDecisionEngine {
    evaluateTransaction(input: ComplianceEvaluationInput): Promise<ComplianceEvaluationResult>;
    evaluateEntity(entityId: string, tenantId: string): Promise<ComplianceEvaluationResult>;
    evaluateCounterparty(counterpartyId: string, tenantId: string): Promise<ComplianceEvaluationResult>;
}
export declare class MockComplianceDecisionEngine implements ComplianceDecisionEngine {
    private readonly blockAmountThreshold;
    constructor(options?: {
        blockAmountThreshold?: number;
    });
    evaluateTransaction(input: ComplianceEvaluationInput): Promise<ComplianceEvaluationResult>;
    evaluateEntity(entityId: string, tenantId: string): Promise<ComplianceEvaluationResult>;
    evaluateCounterparty(counterpartyId: string, tenantId: string): Promise<ComplianceEvaluationResult>;
}
