export type SafePath = string & {
    readonly __brand: 'SafePath';
};
export type ErrorSeverity = 'critical' | 'warning' | 'info';
export type SafetyErrorCode = 'WRITE_FAILED' | 'LOCK_TIMEOUT' | 'LOCK_HELD' | 'CIRCUIT_OPEN' | 'PATH_VIOLATION' | 'VALIDATION_FAILED' | 'ROLLBACK_TRIGGERED' | 'BACKUP_FAILED' | 'HEALTH_DEGRADED';
export interface SafetyError {
    code: SafetyErrorCode;
    severity: ErrorSeverity;
    message: string;
    recovery: string;
    timestamp: string;
}
export interface LockHandle {
    resource: string;
    lockPath: string;
    pid: number;
    acquiredAt: string;
}
export interface LockFileContent {
    pid: number;
    timestamp: string;
    resource: string;
}
export type CircuitState = 'closed' | 'open' | 'half-open';
export interface SafetyCircuitConfig {
    maxFailures: number;
    resetTimeoutMs: number;
    halfOpenMax: number;
}
export interface WriteOptions {
    backupCount?: number;
    verify?: boolean;
}
export interface TransactionStep {
    name: string;
    doFn: () => Promise<void>;
    undoFn: () => Promise<void>;
}
export interface RollbackEvent {
    transactionId: string;
    failedStep: string;
    stepsRolledBack: string[];
    error: string;
    timestamp: string;
}
export interface HealthCheck {
    name: string;
    status: 'pass' | 'warn' | 'fail';
    message: string;
    value?: number | string;
}
export interface HealthReport {
    status: 'healthy' | 'degraded' | 'unhealthy';
    checks: HealthCheck[];
    timestamp: string;
}
export interface TrashCleanupConfig {
    maxAgeDays: number;
    maxSizeMB: number;
}
export interface TrashCleanupResult {
    purgedCount: number;
    freedBytes: number;
    remainingCount: number;
}
//# sourceMappingURL=safety.d.ts.map