/**
 * Manage backups during updates
 */
export interface BackupInfo {
    path: string;
    timestamp: string;
    version?: string;
}
export declare class BackupManager {
    private rootDir;
    private backupsDir;
    constructor(rootDir?: string);
    /**
     * Check if the directory contains production files
     */
    private hasProductionFiles;
    /**
     * Check if this appears to be a safe test directory
     */
    private isSafeTestDirectory;
    /**
     * Check if running in a Docker container
     */
    private isDockerEnvironment;
    /**
     * Create a backup of the current installation
     */
    createBackup(version?: string): Promise<BackupInfo>;
    /**
     * Create a backup specifically for npm installations
     */
    createNpmBackup(npmGlobalPath: string, version?: string): Promise<string>;
    /**
     * Copy directory recursively with progress reporting
     * @deprecated Use FileOperations.copyDirectory instead
     */
    private copyDirectory;
    /**
     * Update npm backup manifest
     */
    private updateNpmBackupManifest;
    /**
     * Clean up old npm backups
     */
    private cleanupOldNpmBackups;
    /**
     * List available backups
     */
    listBackups(): Promise<BackupInfo[]>;
    /**
     * Get the most recent backup
     */
    getLatestBackup(): Promise<BackupInfo | null>;
    /**
     * Restore from a backup
     */
    restoreBackup(backupPath: string): Promise<void>;
    /**
     * Clean up old backups (keep the 5 most recent)
     */
    cleanupOldBackups(keepCount?: number): Promise<number>;
}
//# sourceMappingURL=BackupManager.d.ts.map