import type { Logger } from '@iota-big3/sdk-observability';
import { EventEmitter } from 'events';
import { ComplianceEvidence, ComplianceFramework, ComplianceReport } from '../types/security.types';
export interface ComplianceConfig {
    frameworks: ComplianceFramework[];
    autoAssessment: boolean;
    assessmentSchedule: 'daily' | 'weekly' | 'monthly';
    evidenceStoragePath: string;
    reportOutputPath: string;
    encryptEvidence: boolean;
    notificationWebhook?: string;
}
export declare class ComplianceAutomation extends EventEmitter {
    private config;
    private logger;
    private controls;
    private assessmentTimer?;
    private evidenceCache;
    constructor(_config: ComplianceConfig, logger: Logger);
    private loadControlDefinitions;
    private loadFrameworkControls;
    private loadSOC2Controls;
    private loadHIPAAControls;
    private loadGDPRControls;
    private loadPCIDSSControls;
    private loadISO27001Controls;
    private loadNISTControls;
    private assessControlEnvironment;
    private assessAccessControls;
    private assessSystemMonitoring;
    private assessAvailability;
    private assessSecurityManagement;
    private assessWorkforceSecurity;
    private assessTechnicalAccessControl;
    private assessAuditControls;
    private assessLawfulBasis;
    private assessPrivacyByDesign;
    private assessProcessingSecurity;
    private assessBreachNotification;
    private assessFirewallConfig;
    private assessDefaultPasswords;
    private assessPANEncryption;
    private assessAccessControlPolicy;
    private assessAssetInventory;
    private assessIdentityManagement;
    private assessInformationQuality;
    private checkEvidence;
    runAssessment(_context?: unknown): Promise<Map<ComplianceFramework, ComplianceReport>>;
    private assessFramework;
    private assessControl;
    private collectEvidence;
    addEvidence(_evidence: ComplianceEvidence): Promise<void>;
    private encryptData;
    private calculateHash;
    private saveEvidence;
    private calculateSummary;
    private calculateOverallStatus;
    private generateRecommendations;
    private calculateNextAssessmentDate;
    private saveReport;
    private generatePDFReport;
    private startAutomatedAssessment;
    private getScheduleMilliseconds;
    getComplianceStatus(_framework: ComplianceFramework): Promise<ComplianceReport | null>;
    exportComplianceData(): Promise<any>;
    destroy(): void;
}
//# sourceMappingURL=compliance-automation.d.ts.map