/**
 * EU DORA Compliance Framework (Regulation 2022/2554)
 *
 * Implements the Digital Operational Resilience Act establishing uniform
 * requirements for the security of network and information systems of
 * financial entities and critical ICT third-party service providers.
 *
 * Chapters/Articles covered:
 * - Chapter II Art 5-16:  ICT Risk Management
 * - Chapter III Art 17-23: ICT-Related Incident Management
 * - Chapter IV Art 24-25: Digital Operational Resilience Testing
 * - Chapter V Art 28-44:  Third-Party Risk Management
 * - Chapter VI Art 45:    Information Sharing
 *
 * @packageDocumentation
 */
import type { ComplianceFramework, ComplianceControl, ImplementationStatus } from '../types.js';
/**
 * Financial entity types subject to DORA as defined in Article 2.
 */
export declare const DORA_ENTITY_TYPES: readonly ["credit_institution", "investment_firm", "insurance", "payment_institution", "crypto_asset_provider", "ict_third_party"];
export type DoraEntityType = (typeof DORA_ENTITY_TYPES)[number];
/**
 * Testing types required under DORA Chapter IV (Art 24-25),
 * including Threat-Led Penetration Testing (TLPT) under Art 26.
 */
export declare const DORA_TESTING_TYPES: readonly ["vulnerability_scanning", "network_security", "gap_analysis", "physical_security_review", "source_code_review", "scenario_based", "compatibility", "performance", "end_to_end", "penetration_testing", "TLPT"];
export type DoraTestingType = (typeof DORA_TESTING_TYPES)[number];
/**
 * Complete EU DORA compliance framework definition.
 *
 * Contains controls across 5 chapters covering the full scope
 * of Regulation 2022/2554 on digital operational resilience for the
 * financial sector.
 *
 * Chapters covered: II (Art 5-16), III (Art 17-23), IV (Art 24-25),
 * V (Art 28-44), VI (Art 45)
 */
export declare const doraFramework: ComplianceFramework;
/**
 * Retrieve all controls belonging to a specific DORA chapter or article group.
 *
 * Matches controls whose `family` field starts with `"Art {chapter} -"` or
 * contains the chapter number in hyphenated article ranges (e.g., "Art 5-6",
 * "Art 28-30", "Art 31-44").
 *
 * @param chapter - The chapter article group start number (e.g., 5, 9, 17, 24, 28, 45)
 * @returns Array of controls for the specified chapter/article group
 */
export declare function getControlsByChapter(chapter: number): ComplianceControl[];
/**
 * Find a single control by its unique identifier.
 *
 * @param id - The control ID (e.g., 'DORA-5.1', 'DORA-25.1')
 * @returns The matching control, or undefined if not found
 */
export declare function getControlById(id: string): ComplianceControl | undefined;
/**
 * Retrieve all controls with a specific implementation status.
 *
 * @param status - The implementation status to filter by
 * @returns Array of controls matching the specified status
 */
export declare function getControlsByStatus(status: ImplementationStatus): ComplianceControl[];
/**
 * Get a sorted list of all unique chapter families in the framework.
 *
 * @returns Sorted array of family strings
 */
export declare function getChapterFamilies(): string[];
/**
 * Calculate compliance percentage by chapter, based on the ratio of
 * fully implemented controls to total controls.
 *
 * @returns Map of chapter article number to compliance percentage (0-100)
 */
export declare function getComplianceByChapter(): Map<number, number>;
/**
 * Get the testing requirements defined by DORA Art 24-25, including
 * the full list of testing types and TLPT requirements.
 *
 * @returns Object with testing types, TLPT requirements, and related controls
 */
export declare function getTestingRequirements(): {
    testingTypes: readonly string[];
    tlptRequired: boolean;
    tlptFrequency: string;
    controls: ComplianceControl[];
};
export default doraFramework;
//# sourceMappingURL=dora.d.ts.map