import { type AuditLogger } from './audit-log.js'; export interface ConfigGuardServerFields { host: string; port: number; auth: { username: string; password?: string; }; } export interface ConfigBackup { path: string; timestamp: number; sha256: string; } export interface ConfigGuardIO { readFile?: (filePath: string) => Promise; writeFile?: (filePath: string, content: string) => Promise; rename?: (fromPath: string, toPath: string) => Promise; mkdir?: (dirPath: string) => Promise; exists?: (filePath: string) => Promise; } export interface ApplyConfigGuardOptions { configPath: string; serverFields: ConfigGuardServerFields; level2Template?: Record; audit?: AuditLogger; io?: ConfigGuardIO; } export interface ApplyConfigGuardResult { backup: ConfigBackup; appliedLevel: 'level1' | 'level2'; } export interface RollbackConfigOptions { configPath: string; backup: ConfigBackup; audit?: AuditLogger; io?: ConfigGuardIO; } export declare function applyConfigGuardWithFallback(options: ApplyConfigGuardOptions): Promise; export declare function rollbackConfigFromBackup(options: RollbackConfigOptions): Promise; export declare function createConfigBackup(configPath: string, customIO?: ConfigGuardIO): Promise; //# sourceMappingURL=config-guard.d.ts.map