import { type ComplianceFramework, type ComplianceControl, type ComplianceReport, type ControlAssessment, type Finding, type Evidence, type MonitoringStatus, type ControlMapping, type AssessmentOptions, type ComplianceEngineConfig } from './types.js';
import { type ReportGenerationOptions } from './reports.js';
/**
 * Main compliance engine for managing frameworks and assessments
 */
export declare class ComplianceEngine {
    private config;
    private frameworks;
    private monitoringStatus;
    private reportGenerator;
    private evidenceCollector;
    private findingGenerator;
    private assessmentHistory;
    private findingsHistory;
    constructor(config?: Partial<ComplianceEngineConfig>);
    /**
     * Register a compliance framework
     */
    registerFramework(framework: ComplianceFramework): void;
    /**
     * Get a registered framework by ID
     */
    getFramework(frameworkId: string): ComplianceFramework | undefined;
    /**
     * Get all registered frameworks
     */
    getAllFrameworks(): ComplianceFramework[];
    /**
     * Get enabled frameworks
     */
    getEnabledFrameworks(): ComplianceFramework[];
    /**
     * Get a specific control from a framework
     */
    getControl(frameworkId: string, controlId: string): ComplianceControl | undefined;
    /**
     * Get controls by family
     */
    getControlsByFamily(frameworkId: string, family: string): ComplianceControl[];
    /**
     * Update control implementation status
     */
    updateControlStatus(frameworkId: string, controlId: string, status: ComplianceControl['implementation'], notes?: string): void;
    /**
     * Add evidence to a control
     */
    addEvidence(frameworkId: string, controlId: string, evidence: Evidence): void;
    /**
     * Run a compliance assessment
     */
    runAssessment(options: AssessmentOptions): Promise<{
        assessments: ControlAssessment[];
        findings: Finding[];
    }>;
    /**
     * Assess a single control
     */
    private assessControl;
    /**
     * Identify gaps in control implementation
     */
    private identifyGaps;
    /**
     * Calculate risk score for a control (0-100)
     */
    private calculateRiskScore;
    /**
     * Update monitoring status after a test
     */
    private updateMonitoringStatus;
    /**
     * Generate a compliance report
     */
    generateReport(frameworkId: string, period: {
        start: Date;
        end: Date;
    }, options: ReportGenerationOptions): Promise<ComplianceReport>;
    /**
     * Export report in specified format
     */
    exportReport(report: ComplianceReport, format: 'json' | 'html'): string;
    /**
     * Get control mappings between frameworks
     */
    getControlMappings(sourceFramework: string, targetFramework: string): ControlMapping[];
    /**
     * Get mapped controls for a specific control
     */
    getMappedControls(frameworkId: string, controlId: string): {
        framework: string;
        controlIds: string[];
        mappingType: string;
    }[];
    /**
     * Get monitoring status for all controls
     */
    getMonitoringStatus(frameworkId?: string): MonitoringStatus[];
    /**
     * Enable/disable monitoring for a control
     */
    setMonitoringEnabled(frameworkId: string, controlId: string, enabled: boolean): void;
    /**
     * Run continuous monitoring checks
     */
    runMonitoringChecks(): Promise<{
        checked: number;
        passed: number;
        failed: number;
        alerts: string[];
    }>;
    /**
     * Collect log evidence
     */
    collectLogEvidence(frameworkId: string, controlId: string, title: string, description: string, source: string, content: string): Promise<Evidence>;
    /**
     * Collect config evidence
     */
    collectConfigEvidence(frameworkId: string, controlId: string, title: string, description: string, source: string, content: string): Promise<Evidence>;
    /**
     * Verify evidence integrity
     */
    verifyEvidenceIntegrity(evidence: Evidence): boolean;
}
/**
 * Get or create the compliance engine singleton
 */
export declare function getComplianceEngine(config?: Partial<ComplianceEngineConfig>): ComplianceEngine;
/**
 * Reset the compliance engine (useful for testing)
 */
export declare function resetComplianceEngine(): void;
export { soc2Framework } from './frameworks/soc2.js';
export { nist80053Framework } from './frameworks/nist-800-53.js';
export { pciDssFramework } from './frameworks/pci-dss.js';
export { euAiActFramework } from './frameworks/eu-ai-act.js';
export { nis2Framework } from './frameworks/nis2.js';
export { doraFramework } from './frameworks/dora.js';
export * from './types.js';
export * from './reports.js';
//# sourceMappingURL=index.d.ts.map