import type { BackupManifest, Platform, ServerRecord } from "../types/index.js";
export * from "./backup-commands.js";
export { formatTimestamp, getBackupDir } from "../utils/backupPath.js";
export { scpDownload, scpUpload, assertSafePath } from "../utils/scp.js";
export interface BackupResult {
    success: boolean;
    backupPath?: string;
    manifest?: BackupManifest;
    error?: string;
    hint?: string;
}
export interface RestoreResult {
    success: boolean;
    steps: Array<{
        name: string;
        status: "success" | "failure";
        error?: string;
    }>;
    error?: string;
    hint?: string;
}
export declare function listBackups(serverName: string): string[];
export declare function loadManifest(backupPath: string): BackupManifest | undefined;
export declare function listOrphanBackups(activeServerNames: string[]): string[];
export declare function cleanupServerBackups(serverName: string): {
    removed: boolean;
    path: string;
};
export declare function createBareBackup(ip: string, serverName: string, provider: string): Promise<BackupResult>;
export declare function restoreBareBackup(ip: string, serverName: string, backupId: string): Promise<RestoreResult>;
export declare function tryRestartCoolify(ip: string): Promise<void>;
export declare function createBackup(ip: string, serverName: string, provider: string, platform?: Platform): Promise<BackupResult>;
/**
 * Single entry point for backing up any server (bare or managed).
 * No UI dependencies — returns structured BackupResult.
 * Used by both CLI command and MCP handler.
 */
export declare function backupServer(server: ServerRecord): Promise<BackupResult>;
export declare function restoreBackup(ip: string, serverName: string, backupId: string): Promise<RestoreResult>;
//# sourceMappingURL=backup.d.ts.map