import type { IndustryType, SDK } from '@iota-big3/sdk-core';
import type { Request, RequestHandler } from 'express';
import type { FastifyInstance } from 'fastify';
export type ComplianceFramework = 'FERPA' | 'COPPA' | 'GDPR' | 'CCPA' | 'HIPAA' | 'HITECH' | 'FDA' | 'PCI-DSS' | 'SOX' | 'GLBA' | 'PCI' | 'CPRA' | 'FISMA' | 'FedRAMP' | 'NIST';
export interface ComplianceConfig {
    frameworks?: ComplianceFramework[];
    enforceEncryption?: boolean;
    requireAuth?: boolean;
    allowedMethods?: string[];
    sensitiveFields?: string[];
    dataRetentionDays?: number;
    auditLog?: boolean;
    redactSensitiveData?: boolean;
    customChecks?: ComplianceCheck[];
}
export interface ComplianceCheck {
    name: string;
    check: (req: Request) => Promise<boolean>;
    errorMessage: string;
}
export interface ComplianceMetadata {
    serviceName: string;
    tribe?: string;
    industry?: IndustryType;
    environment?: string;
    sdk?: SDK;
}
export interface ComplianceMiddleware extends RequestHandler {
    express: RequestHandler;
    fastify: (fastify: FastifyInstance) => Promise<void>;
}
export declare function createComplianceMiddleware(metadata: ComplianceMetadata, config?: ComplianceConfig): ComplianceMiddleware;
export declare function createLegacyComplianceMiddleware(compliance?: ComplianceFramework[], tribeConfig?: {
    tribe: string;
    compliance?: ComplianceFramework[];
}): ComplianceMiddleware;
export declare const complianceMiddleware: typeof createComplianceMiddleware;
export default createComplianceMiddleware;
//# sourceMappingURL=compliance-middleware.d.ts.map