1// Signature format: 4.0
2package androidx.datastore.rxjava3 {
3
4  public interface RxDataMigration<T> {
5    method public io.reactivex.rxjava3.core.Completable cleanUp();
6    method public io.reactivex.rxjava3.core.Single<T!> migrate(T?);
7    method public io.reactivex.rxjava3.core.Single<java.lang.Boolean!> shouldMigrate(T?);
8  }
9
10  public final class RxDataStore<T> implements io.reactivex.rxjava3.disposables.Disposable {
11    method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.rxjava3.core.Flowable<T> data();
12    method public void dispose();
13    method public boolean isDisposed();
14    method public io.reactivex.rxjava3.core.Completable shutdownComplete();
15    method @kotlinx.coroutines.ExperimentalCoroutinesApi public io.reactivex.rxjava3.core.Single<T> updateDataAsync(io.reactivex.rxjava3.functions.Function<T,io.reactivex.rxjava3.core.Single<T>> transform);
16  }
17
18  public final class RxDataStoreBuilder<T> {
19    ctor public RxDataStoreBuilder(android.content.Context context, String fileName, androidx.datastore.core.Serializer<T> serializer);
20    ctor public RxDataStoreBuilder(java.util.concurrent.Callable<java.io.File> produceFile, androidx.datastore.core.Serializer<T> serializer);
21    method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addDataMigration(androidx.datastore.core.DataMigration<T> dataMigration);
22    method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> addRxDataMigration(androidx.datastore.rxjava3.RxDataMigration<T> rxDataMigration);
23    method public androidx.datastore.rxjava3.RxDataStore<T> build();
24    method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setCorruptionHandler(androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T> corruptionHandler);
25    method public androidx.datastore.rxjava3.RxDataStoreBuilder<T> setIoScheduler(io.reactivex.rxjava3.core.Scheduler ioScheduler);
26  }
27
28  public final class RxDataStoreDelegateKt {
29    method public static <T> kotlin.properties.ReadOnlyProperty<android.content.Context,androidx.datastore.rxjava3.RxDataStore<T>> rxDataStore(String fileName, androidx.datastore.core.Serializer<T> serializer, optional androidx.datastore.core.handlers.ReplaceFileCorruptionHandler<T>? corruptionHandler, optional kotlin.jvm.functions.Function1<? super android.content.Context,? extends java.util.List<? extends androidx.datastore.core.DataMigration<T>>> produceMigrations, optional io.reactivex.rxjava3.core.Scheduler scheduler);
30  }
31
32  public interface RxSharedPreferencesMigration<T> {
33    method public io.reactivex.rxjava3.core.Single<T> migrate(androidx.datastore.migrations.SharedPreferencesView sharedPreferencesView, T? currentData);
34    method public default io.reactivex.rxjava3.core.Single<java.lang.Boolean> shouldMigrate(T? currentData);
35  }
36
37  public final class RxSharedPreferencesMigrationBuilder<T> {
38    ctor public RxSharedPreferencesMigrationBuilder(android.content.Context context, String sharedPreferencesName, androidx.datastore.rxjava3.RxSharedPreferencesMigration<T> rxSharedPreferencesMigration);
39    method public androidx.datastore.core.DataMigration<T> build();
40    method public androidx.datastore.rxjava3.RxSharedPreferencesMigrationBuilder<T> setKeysToMigrate(java.lang.String... keys);
41  }
42
43}
44
45