import { Observable } from "rxjs";
import { AppName, AppStorageType, RestoreAppDataEvent, StorageProvider } from "./types";
import { DeviceModelId } from "@ledgerhq/devices";
/**
 * Restores the application data for a specific app on a Ledger device.
 *
 * @param appName - The name of the application to restore.
 * @param deviceModelId - The device model ID.
 * @param storageProvider - The storage provider object used for retrieving the backup data.
 * @param restoreAppDataFn - The function used to restore the app data.
 * @returns An observable that emits RestoreAppDataEvent according to the restore process.
 * @throws {RestoreAppDataError}
 */
export declare function restoreAppDataUseCase(appName: AppName, deviceModelId: DeviceModelId, storageProvider: StorageProvider<AppStorageType>, restoreAppDataFn: (data: string) => Observable<RestoreAppDataEvent>): Observable<RestoreAppDataEvent>;
//# sourceMappingURL=restoreAppDataUseCase.d.ts.map