/**
 * SOC1AuditBot -- Automated SOC 1 / SSAE 18 ICFR auditing.
 *
 * Covers financial-reporting controls, transaction processing controls,
 * input/output controls, data integrity tracking, control objective per
 * financial assertion, and SOC 1 Type II narrative generation.
 * Does NOT call external APIs.
 *
 * Narrative writing is delegated to an injectable NarrativeWriter.
 *
 * P2A-11
 *
 * @connexum/ai-governance
 */
import { type AuditRunResult, type AuditRunner } from './scheduler';
export interface NarrativeWriter {
    write(controlId: string, context: string): string;
}
export declare class StubNarrativeWriter implements NarrativeWriter {
    write(controlId: string, context: string): string;
}
export interface SOC1Config {
    logDir: string;
    governanceDir: string;
    narrativeWriter?: NarrativeWriter;
}
/** Financial-reporting control objective */
export interface SOC1ControlObjective {
    id: string;
    assertion: 'completeness' | 'accuracy' | 'validity' | 'restricted-access' | 'timeliness';
    title: string;
    status: 'effective' | 'deficient' | 'material-weakness' | 'not-tested';
}
export interface SOC1Gap {
    controlObjective: string;
    title: string;
    detail: string;
}
export declare class SOC1AuditBot implements AuditRunner {
    private logDir;
    private governanceDir;
    private narrativeWriter;
    constructor(config: SOC1Config);
    runAudit(): AuditRunResult;
    private checkControlEnvironment;
    private checkRiskAssessmentICFR;
    private checkLogicalAccessControls;
    private checkPrivilegedAccessManagement;
    private checkMFAForFinancialSystems;
    private checkTransactionCompleteness;
    private checkTransactionAccuracy;
    private checkTransactionValidity;
    private checkInputValidation;
    private checkOutputReconciliation;
    private checkDataIntegrityHashing;
    private checkAuditTrailIntegrity;
    private checkChangeManagement;
    private checkAvailabilityControls;
    private checkBackupRecovery;
    private checkAuditLogging;
    private checkIncidentResponse;
    buildControlObjectives(result: AuditRunResult): SOC1ControlObjective[];
    analyzeGaps(result: AuditRunResult): SOC1Gap[];
    generateTypeIINarrative(result: AuditRunResult): string;
    generateReport(result: AuditRunResult, outputDir: string): string;
}
//# sourceMappingURL=soc1.d.ts.map