import { Observable } from "rxjs";
import { AppName, AppStorageType, BackupAppDataEvent, StorageProvider } from "./types";
import { DeviceModelId } from "@ledgerhq/devices";
/**
 * Backs up the application data for a specific app on a Ledger device. All interactions
 * with the storage provider are handled by this function.
 *
 * @param storageProvider - The storage provider object used for storing the backup data.
 * @param appName - The name of the application to backup.
 * @param backupAppDataFn - The function that returns observable for the backup process.
 * @returns An observable that emits BackupAppDataEvent during the backup process.
 * @throws {BackupAppDataError}
 */
export declare function backupAppDataUseCase(appName: AppName, deviceModelId: DeviceModelId, storageProvider: StorageProvider<AppStorageType>, backupAppDataFn: () => Observable<BackupAppDataEvent>): Observable<BackupAppDataEvent>;
//# sourceMappingURL=backupAppDataUseCase.d.ts.map