/** * Storage provider interface for backup destinations. * Implementations handle the mechanics of uploading, downloading, * and managing files on a specific storage backend. */ export interface StorageProvider { /** Upload a local file to the storage destination */ upload(localPath: string, remotePath: string): Promise; /** Download a file from storage to a local path */ download(remotePath: string, localPath: string): Promise; /** Delete a file from storage */ delete(remotePath: string): Promise; /** List files under a prefix */ list(prefix: string): Promise; /** Test connectivity and permissions (write/read/delete a test file) */ verify(): Promise; /** Create initial directory structure for backups */ initialize(): Promise; } export interface StorageVerifyResult { success: boolean; message: string; }