// Signature format: 4.0
package androidx.room {

  public class DatabaseConfiguration {
    ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode!, java.util.concurrent.Executor, boolean, java.util.Set<java.lang.Integer!>?);
    ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode!, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?);
    ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode!, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?);
    ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?);
    ctor @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?, androidx.room.RoomDatabase.PrepackagedDatabaseCallback?);
    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public DatabaseConfiguration(android.content.Context, String?, androidx.sqlite.db.SupportSQLiteOpenHelper.Factory, androidx.room.RoomDatabase.MigrationContainer, java.util.List<androidx.room.RoomDatabase.Callback!>?, boolean, androidx.room.RoomDatabase.JournalMode, java.util.concurrent.Executor, java.util.concurrent.Executor, boolean, boolean, boolean, java.util.Set<java.lang.Integer!>?, String?, java.io.File?, java.util.concurrent.Callable<java.io.InputStream!>?, androidx.room.RoomDatabase.PrepackagedDatabaseCallback?, java.util.List<java.lang.Object!>?);
    method public boolean isMigrationRequired(int, int);
    method @Deprecated public boolean isMigrationRequiredFrom(int);
    field public final boolean allowDestructiveMigrationOnDowngrade;
    field public final boolean allowMainThreadQueries;
    field public final java.util.List<androidx.room.RoomDatabase.Callback!>? callbacks;
    field public final android.content.Context context;
    field public final String? copyFromAssetPath;
    field public final java.io.File? copyFromFile;
    field public final java.util.concurrent.Callable<java.io.InputStream!>? copyFromInputStream;
    field public final androidx.room.RoomDatabase.JournalMode! journalMode;
    field public final androidx.room.RoomDatabase.MigrationContainer migrationContainer;
    field public final boolean multiInstanceInvalidation;
    field public final String? name;
    field public final androidx.room.RoomDatabase.PrepackagedDatabaseCallback? prepackagedDatabaseCallback;
    field public final java.util.concurrent.Executor queryExecutor;
    field public final boolean requireMigration;
    field public final androidx.sqlite.db.SupportSQLiteOpenHelper.Factory sqliteOpenHelperFactory;
    field public final java.util.concurrent.Executor transactionExecutor;
    field public final java.util.List<java.lang.Object!> typeConverters;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class EntityDeletionOrUpdateAdapter<T> extends androidx.room.SharedSQLiteStatement {
    ctor public EntityDeletionOrUpdateAdapter(androidx.room.RoomDatabase!);
    method protected abstract void bind(androidx.sqlite.db.SupportSQLiteStatement!, T!);
    method public final int handle(T!);
    method public final int handleMultiple(Iterable<? extends T>!);
    method public final int handleMultiple(T![]!);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class EntityInsertionAdapter<T> extends androidx.room.SharedSQLiteStatement {
    ctor public EntityInsertionAdapter(androidx.room.RoomDatabase!);
    method protected abstract void bind(androidx.sqlite.db.SupportSQLiteStatement!, T!);
    method public final void insert(T!);
    method public final void insert(T![]!);
    method public final void insert(Iterable<? extends T>!);
    method public final long insertAndReturnId(T!);
    method public final long[]! insertAndReturnIdsArray(java.util.Collection<? extends T>!);
    method public final long[]! insertAndReturnIdsArray(T![]!);
    method public final Long![]! insertAndReturnIdsArrayBox(java.util.Collection<? extends T>!);
    method public final Long![]! insertAndReturnIdsArrayBox(T![]!);
    method public final java.util.List<java.lang.Long!>! insertAndReturnIdsList(T![]!);
    method public final java.util.List<java.lang.Long!>! insertAndReturnIdsList(java.util.Collection<? extends T>!);
  }

  public class InvalidationTracker {
    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public InvalidationTracker(androidx.room.RoomDatabase!, java.lang.String!...);
    ctor @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public InvalidationTracker(androidx.room.RoomDatabase!, java.util.Map<java.lang.String!,java.lang.String!>!, java.util.Map<java.lang.String!,java.util.Set<java.lang.String!>!>!, java.lang.String!...);
    method @WorkerThread public void addObserver(androidx.room.InvalidationTracker.Observer);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void addWeakObserver(androidx.room.InvalidationTracker.Observer!);
    method @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public <T> androidx.lifecycle.LiveData<T!>! createLiveData(String![]!, java.util.concurrent.Callable<T!>!);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public <T> androidx.lifecycle.LiveData<T!>! createLiveData(String![]!, boolean, java.util.concurrent.Callable<T!>!);
    method public void refreshVersionsAsync();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) @WorkerThread public void refreshVersionsSync();
    method @WorkerThread public void removeObserver(androidx.room.InvalidationTracker.Observer);
  }

  public abstract static class InvalidationTracker.Observer {
    ctor protected InvalidationTracker.Observer(String, java.lang.String!...);
    ctor public InvalidationTracker.Observer(String![]);
    method public abstract void onInvalidated(java.util.Set<java.lang.String!>);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class MultiInstanceInvalidationService extends android.app.Service {
    ctor public MultiInstanceInvalidationService();
    method public android.os.IBinder? onBind(android.content.Intent!);
  }

  public class Room {
    ctor @Deprecated public Room();
    method public static <T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T!> databaseBuilder(android.content.Context, Class<T!>, String);
    method public static <T extends androidx.room.RoomDatabase> androidx.room.RoomDatabase.Builder<T!> inMemoryDatabaseBuilder(android.content.Context, Class<T!>);
    field public static final String MASTER_TABLE_NAME = "room_master_table";
  }

  public abstract class RoomDatabase {
    ctor public RoomDatabase();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public void assertNotMainThread();
    method @Deprecated public void beginTransaction();
    method @WorkerThread public abstract void clearAllTables();
    method public void close();
    method public androidx.sqlite.db.SupportSQLiteStatement! compileStatement(String);
    method protected abstract androidx.room.InvalidationTracker createInvalidationTracker();
    method protected abstract androidx.sqlite.db.SupportSQLiteOpenHelper createOpenHelper(androidx.room.DatabaseConfiguration!);
    method @Deprecated public void endTransaction();
    method public androidx.room.InvalidationTracker getInvalidationTracker();
    method public androidx.sqlite.db.SupportSQLiteOpenHelper getOpenHelper();
    method public java.util.concurrent.Executor getQueryExecutor();
    method public java.util.concurrent.Executor getTransactionExecutor();
    method public <T> T? getTypeConverter(Class<T!>);
    method public boolean inTransaction();
    method @CallSuper public void init(androidx.room.DatabaseConfiguration);
    method protected void internalInitInvalidationTracker(androidx.sqlite.db.SupportSQLiteDatabase);
    method public boolean isOpen();
    method public android.database.Cursor query(String, Object![]?);
    method public android.database.Cursor query(androidx.sqlite.db.SupportSQLiteQuery);
    method public android.database.Cursor query(androidx.sqlite.db.SupportSQLiteQuery, android.os.CancellationSignal?);
    method public void runInTransaction(Runnable);
    method public <V> V! runInTransaction(java.util.concurrent.Callable<V!>);
    method @Deprecated public void setTransactionSuccessful();
    field @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final int MAX_BIND_PARAMETER_CNT = 999; // 0x3e7
    field @Deprecated @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected java.util.List<androidx.room.RoomDatabase.Callback!>? mCallbacks;
    field @Deprecated protected volatile androidx.sqlite.db.SupportSQLiteDatabase! mDatabase;
  }

  public static class RoomDatabase.Builder<T extends androidx.room.RoomDatabase> {
    method public androidx.room.RoomDatabase.Builder<T!> addCallback(androidx.room.RoomDatabase.Callback);
    method public androidx.room.RoomDatabase.Builder<T!> addMigrations(androidx.room.migration.Migration!...);
    method public androidx.room.RoomDatabase.Builder<T!> addTypeConverter(Object);
    method public androidx.room.RoomDatabase.Builder<T!> allowMainThreadQueries();
    method public T build();
    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String);
    method public androidx.room.RoomDatabase.Builder<T!> createFromAsset(String, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File);
    method public androidx.room.RoomDatabase.Builder<T!> createFromFile(java.io.File, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>);
    method public androidx.room.RoomDatabase.Builder<T!> createFromInputStream(java.util.concurrent.Callable<java.io.InputStream!>, androidx.room.RoomDatabase.PrepackagedDatabaseCallback);
    method public androidx.room.RoomDatabase.Builder<T!> enableMultiInstanceInvalidation();
    method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigration();
    method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigrationFrom(int...);
    method public androidx.room.RoomDatabase.Builder<T!> fallbackToDestructiveMigrationOnDowngrade();
    method public androidx.room.RoomDatabase.Builder<T!> openHelperFactory(androidx.sqlite.db.SupportSQLiteOpenHelper.Factory?);
    method public androidx.room.RoomDatabase.Builder<T!> setJournalMode(androidx.room.RoomDatabase.JournalMode);
    method public androidx.room.RoomDatabase.Builder<T!> setQueryCallback(androidx.room.RoomDatabase.QueryCallback, java.util.concurrent.Executor);
    method public androidx.room.RoomDatabase.Builder<T!> setQueryExecutor(java.util.concurrent.Executor);
    method public androidx.room.RoomDatabase.Builder<T!> setTransactionExecutor(java.util.concurrent.Executor);
  }

  public abstract static class RoomDatabase.Callback {
    ctor public RoomDatabase.Callback();
    method public void onCreate(androidx.sqlite.db.SupportSQLiteDatabase);
    method public void onDestructiveMigration(androidx.sqlite.db.SupportSQLiteDatabase);
    method public void onOpen(androidx.sqlite.db.SupportSQLiteDatabase);
  }

  public enum RoomDatabase.JournalMode {
    enum_constant public static final androidx.room.RoomDatabase.JournalMode AUTOMATIC;
    enum_constant public static final androidx.room.RoomDatabase.JournalMode TRUNCATE;
    enum_constant @RequiresApi(android.os.Build.VERSION_CODES.JELLY_BEAN) public static final androidx.room.RoomDatabase.JournalMode WRITE_AHEAD_LOGGING;
  }

  public static class RoomDatabase.MigrationContainer {
    ctor public RoomDatabase.MigrationContainer();
    method public void addMigrations(androidx.room.migration.Migration!...);
    method public java.util.List<androidx.room.migration.Migration!>? findMigrationPath(int, int);
  }

  public abstract static class RoomDatabase.PrepackagedDatabaseCallback {
    ctor public RoomDatabase.PrepackagedDatabaseCallback();
    method public void onOpenPrepackagedDatabase(androidx.sqlite.db.SupportSQLiteDatabase);
  }

  public static interface RoomDatabase.QueryCallback {
    method public void onQuery(String, java.util.List<java.lang.Object!>);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RoomOpenHelper extends androidx.sqlite.db.SupportSQLiteOpenHelper.Callback {
    ctor public RoomOpenHelper(androidx.room.DatabaseConfiguration, androidx.room.RoomOpenHelper.Delegate, String, String);
    ctor public RoomOpenHelper(androidx.room.DatabaseConfiguration, androidx.room.RoomOpenHelper.Delegate, String);
    method public void onCreate(androidx.sqlite.db.SupportSQLiteDatabase!);
    method public void onUpgrade(androidx.sqlite.db.SupportSQLiteDatabase!, int, int);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract static class RoomOpenHelper.Delegate {
    ctor public RoomOpenHelper.Delegate(int);
    method protected abstract void createAllTables(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected abstract void dropAllTables(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected abstract void onCreate(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected abstract void onOpen(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected void onPostMigrate(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected void onPreMigrate(androidx.sqlite.db.SupportSQLiteDatabase!);
    method protected androidx.room.RoomOpenHelper.ValidationResult onValidateSchema(androidx.sqlite.db.SupportSQLiteDatabase);
    method @Deprecated protected void validateMigration(androidx.sqlite.db.SupportSQLiteDatabase!);
    field public final int version;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static class RoomOpenHelper.ValidationResult {
    ctor public RoomOpenHelper.ValidationResult(boolean, String?);
    field public final String? expectedFoundMsg;
    field public final boolean isValid;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class RoomSQLiteQuery implements androidx.sqlite.db.SupportSQLiteProgram androidx.sqlite.db.SupportSQLiteQuery {
    method public static androidx.room.RoomSQLiteQuery! acquire(String!, int);
    method public void bindBlob(int, byte[]!);
    method public void bindDouble(int, double);
    method public void bindLong(int, long);
    method public void bindNull(int);
    method public void bindString(int, String!);
    method public void bindTo(androidx.sqlite.db.SupportSQLiteProgram!);
    method public void clearBindings();
    method public void close();
    method public void copyArgumentsFrom(androidx.room.RoomSQLiteQuery!);
    method public static androidx.room.RoomSQLiteQuery! copyFrom(androidx.sqlite.db.SupportSQLiteQuery!);
    method public int getArgCount();
    method public String! getSql();
    method public void release();
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class SharedSQLiteStatement {
    ctor public SharedSQLiteStatement(androidx.room.RoomDatabase!);
    method public androidx.sqlite.db.SupportSQLiteStatement! acquire();
    method protected void assertNotMainThread();
    method protected abstract String! createQuery();
    method public void release(androidx.sqlite.db.SupportSQLiteStatement!);
  }

}

package androidx.room.migration {

  public abstract class Migration {
    ctor public Migration(int, int);
    method public abstract void migrate(androidx.sqlite.db.SupportSQLiteDatabase);
    field public final int endVersion;
    field public final int startVersion;
  }

}

package androidx.room.paging {

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class LimitOffsetDataSource<T> extends androidx.paging.PositionalDataSource<T> {
    ctor protected LimitOffsetDataSource(androidx.room.RoomDatabase, androidx.sqlite.db.SupportSQLiteQuery, boolean, java.lang.String!...);
    ctor protected LimitOffsetDataSource(androidx.room.RoomDatabase, androidx.sqlite.db.SupportSQLiteQuery, boolean, boolean, java.lang.String!...);
    ctor protected LimitOffsetDataSource(androidx.room.RoomDatabase, androidx.room.RoomSQLiteQuery, boolean, java.lang.String!...);
    ctor protected LimitOffsetDataSource(androidx.room.RoomDatabase, androidx.room.RoomSQLiteQuery, boolean, boolean, java.lang.String!...);
    method protected abstract java.util.List<T!> convertRows(android.database.Cursor);
    method public void loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams, androidx.paging.PositionalDataSource.LoadInitialCallback<T!>);
    method public void loadRange(androidx.paging.PositionalDataSource.LoadRangeParams, androidx.paging.PositionalDataSource.LoadRangeCallback<T!>);
  }

}

package androidx.room.util {

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class CopyLock {
    ctor public CopyLock(String, java.io.File, boolean);
    method public void lock();
    method public void unlock();
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class CursorUtil {
    method public static android.database.Cursor copyAndClose(android.database.Cursor);
    method public static int getColumnIndex(android.database.Cursor, String);
    method public static int getColumnIndexOrThrow(android.database.Cursor, String);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DBUtil {
    method public static android.os.CancellationSignal? createCancellationSignal();
    method public static void dropFtsSyncTriggers(androidx.sqlite.db.SupportSQLiteDatabase!);
    method @Deprecated public static android.database.Cursor query(androidx.room.RoomDatabase!, androidx.sqlite.db.SupportSQLiteQuery!, boolean);
    method public static android.database.Cursor query(androidx.room.RoomDatabase, androidx.sqlite.db.SupportSQLiteQuery, boolean, android.os.CancellationSignal?);
    method public static int readVersion(java.io.File) throws java.io.IOException;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class FileUtil {
    method public static void copy(java.nio.channels.ReadableByteChannel, java.nio.channels.FileChannel) throws java.io.IOException;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class FtsTableInfo {
    ctor public FtsTableInfo(String!, java.util.Set<java.lang.String!>!, java.util.Set<java.lang.String!>!);
    ctor public FtsTableInfo(String!, java.util.Set<java.lang.String!>!, String!);
    method public static androidx.room.util.FtsTableInfo! read(androidx.sqlite.db.SupportSQLiteDatabase!, String!);
    field public final java.util.Set<java.lang.String!>! columns;
    field public final String! name;
    field public final java.util.Set<java.lang.String!>! options;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class StringUtil {
    method public static void appendPlaceholders(StringBuilder!, int);
    method public static String? joinIntoString(java.util.List<java.lang.Integer!>?);
    method public static StringBuilder! newStringBuilder();
    method public static java.util.List<java.lang.Integer!>? splitToIntList(String?);
    field public static final String![]! EMPTY_STRING_ARRAY;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class TableInfo {
    ctor public TableInfo(String!, java.util.Map<java.lang.String!,androidx.room.util.TableInfo.Column!>!, java.util.Set<androidx.room.util.TableInfo.ForeignKey!>!, java.util.Set<androidx.room.util.TableInfo.Index!>!);
    ctor public TableInfo(String!, java.util.Map<java.lang.String!,androidx.room.util.TableInfo.Column!>!, java.util.Set<androidx.room.util.TableInfo.ForeignKey!>!);
    method public static androidx.room.util.TableInfo! read(androidx.sqlite.db.SupportSQLiteDatabase!, String!);
    field public static final int CREATED_FROM_DATABASE = 2; // 0x2
    field public static final int CREATED_FROM_ENTITY = 1; // 0x1
    field public static final int CREATED_FROM_UNKNOWN = 0; // 0x0
    field public final java.util.Map<java.lang.String!,androidx.room.util.TableInfo.Column!>! columns;
    field public final java.util.Set<androidx.room.util.TableInfo.ForeignKey!>! foreignKeys;
    field public final java.util.Set<androidx.room.util.TableInfo.Index!>? indices;
    field public final String! name;
  }

  public static final class TableInfo.Column {
    ctor @Deprecated public TableInfo.Column(String!, String!, boolean, int);
    ctor public TableInfo.Column(String!, String!, boolean, int, String!, int);
    method public boolean isPrimaryKey();
    field @androidx.room.ColumnInfo.SQLiteTypeAffinity public final int affinity;
    field public final String! defaultValue;
    field public final String! name;
    field public final boolean notNull;
    field public final int primaryKeyPosition;
    field public final String! type;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final class TableInfo.ForeignKey {
    ctor public TableInfo.ForeignKey(String, String, String, java.util.List<java.lang.String!>, java.util.List<java.lang.String!>);
    field public final java.util.List<java.lang.String!> columnNames;
    field public final String onDelete;
    field public final String onUpdate;
    field public final java.util.List<java.lang.String!> referenceColumnNames;
    field public final String referenceTable;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public static final class TableInfo.Index {
    ctor public TableInfo.Index(String!, boolean, java.util.List<java.lang.String!>!);
    field public static final String DEFAULT_PREFIX = "index_";
    field public final java.util.List<java.lang.String!>! columns;
    field public final String! name;
    field public final boolean unique;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public final class ViewInfo {
    ctor public ViewInfo(String!, String!);
    method public static androidx.room.util.ViewInfo! read(androidx.sqlite.db.SupportSQLiteDatabase!, String!);
    field public final String! name;
    field public final String! sql;
  }

}

