// Signature format: 3.0
package androidx.paging {

  public final class CachedPagingDataKt {
    method @CheckResult public static <T> kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<T>> cachedIn(kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<T>>, kotlinx.coroutines.CoroutineScope scope);
  }

  public final class CancelableChannelFlowKt {
  }

  public final class CombinedLoadStates {
    ctor public CombinedLoadStates(androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
    method public androidx.paging.LoadStates component1();
    method public androidx.paging.LoadStates? component2();
    method public androidx.paging.CombinedLoadStates copy(androidx.paging.LoadStates source, androidx.paging.LoadStates? mediator);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public inline void forEach(kotlin.jvm.functions.Function3<? super androidx.paging.LoadType,? super java.lang.Boolean,? super androidx.paging.LoadState,kotlin.Unit> op);
    method public androidx.paging.LoadState getAppend();
    method public androidx.paging.LoadStates? getMediator();
    method public androidx.paging.LoadState getPrepend();
    method public androidx.paging.LoadState getRefresh();
    method public androidx.paging.LoadStates getSource();
    property public final androidx.paging.LoadState append;
    property public final androidx.paging.LoadState prepend;
    property public final androidx.paging.LoadState refresh;
  }

  public abstract class DataSource<Key, Value> {
    method @AnyThread public void addInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback onInvalidatedCallback);
    method @AnyThread public final void addInvalidatedCallback(kotlin.jvm.functions.Function0<kotlin.Unit> onInvalidatedCallback);
    method @AnyThread public void invalidate();
    method @WorkerThread public boolean isInvalid();
    method public <ToValue> androidx.paging.DataSource<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method public <ToValue> androidx.paging.DataSource<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method public <ToValue> androidx.paging.DataSource<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method public <ToValue> androidx.paging.DataSource<Key,ToValue> mapByPage(kotlin.jvm.functions.Function1<? super java.util.List<? extends Value>,? extends java.util.List<? extends ToValue>> function);
    method @AnyThread public void removeInvalidatedCallback(androidx.paging.DataSource.InvalidatedCallback onInvalidatedCallback);
    method @AnyThread public final void removeInvalidatedCallback(kotlin.jvm.functions.Function0<kotlin.Unit> onInvalidatedCallback);
    property @WorkerThread public boolean isInvalid;
  }

  public abstract static class DataSource.Factory<Key, Value> {
    ctor public DataSource.Factory();
    method public final kotlin.jvm.functions.Function0<androidx.paging.PagingSource<Key,Value>> asPagingSourceFactory(kotlinx.coroutines.CoroutineDispatcher fetchDispatcher = Dispatchers.IO);
    method public final kotlin.jvm.functions.Function0<androidx.paging.PagingSource<Key,Value>> asPagingSourceFactory();
    method public abstract androidx.paging.DataSource<Key,Value> create();
    method public <ToValue> androidx.paging.DataSource.Factory<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method public <ToValue> androidx.paging.DataSource.Factory<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method public <ToValue> androidx.paging.DataSource.Factory<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method public <ToValue> androidx.paging.DataSource.Factory<Key,ToValue> mapByPage(kotlin.jvm.functions.Function1<? super java.util.List<? extends Value>,? extends java.util.List<? extends ToValue>> function);
  }

  public static interface DataSource.InvalidatedCallback {
    method @AnyThread public void onInvalidated();
  }

  @kotlin.RequiresOptIn public @interface ExperimentalPagingApi {
  }

  @Deprecated public abstract class ItemKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
    ctor @Deprecated public ItemKeyedDataSource();
    method @Deprecated public abstract Key getKey(Value item);
    method @Deprecated public abstract void loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadCallback<Value> callback);
    method @Deprecated public abstract void loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadCallback<Value> callback);
    method @Deprecated public abstract void loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadInitialCallback<Value> callback);
    method @Deprecated public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method @Deprecated public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method @Deprecated public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method @Deprecated public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> mapByPage(kotlin.jvm.functions.Function1<? super java.util.List<? extends Value>,? extends java.util.List<? extends ToValue>> function);
  }

  @Deprecated public abstract static class ItemKeyedDataSource.LoadCallback<Value> {
    ctor @Deprecated public ItemKeyedDataSource.LoadCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends Value> data);
  }

  @Deprecated public abstract static class ItemKeyedDataSource.LoadInitialCallback<Value> extends androidx.paging.ItemKeyedDataSource.LoadCallback<Value> {
    ctor @Deprecated public ItemKeyedDataSource.LoadInitialCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends Value> data, int position, int totalCount);
  }

  @Deprecated public static class ItemKeyedDataSource.LoadInitialParams<Key> {
    ctor @Deprecated public ItemKeyedDataSource.LoadInitialParams(Key? requestedInitialKey, int requestedLoadSize, boolean placeholdersEnabled);
    field @Deprecated public final boolean placeholdersEnabled;
    field @Deprecated public final Key? requestedInitialKey;
    field @Deprecated public final int requestedLoadSize;
  }

  @Deprecated public static class ItemKeyedDataSource.LoadParams<Key> {
    ctor @Deprecated public ItemKeyedDataSource.LoadParams(Key key, int requestedLoadSize);
    field @Deprecated public final Key key;
    field @Deprecated public final int requestedLoadSize;
  }

  public abstract sealed class LoadState {
    method public final boolean getEndOfPaginationReached();
  }

  public static final class LoadState.Error extends androidx.paging.LoadState {
    ctor public LoadState.Error(Throwable error);
    method public Throwable getError();
  }

  public static final class LoadState.Loading extends androidx.paging.LoadState {
    field public static final androidx.paging.LoadState.Loading! INSTANCE;
  }

  public static final class LoadState.NotLoading extends androidx.paging.LoadState {
    ctor public LoadState.NotLoading(boolean endOfPaginationReached);
  }

  public final class LoadStates {
    ctor public LoadStates(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append);
    method public androidx.paging.LoadState component1();
    method public androidx.paging.LoadState component2();
    method public androidx.paging.LoadState component3();
    method public androidx.paging.LoadStates copy(androidx.paging.LoadState refresh, androidx.paging.LoadState prepend, androidx.paging.LoadState append);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public inline void forEach(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> op);
    method public androidx.paging.LoadState getAppend();
    method public androidx.paging.LoadState getPrepend();
    method public androidx.paging.LoadState getRefresh();
  }

  public enum LoadType {
    enum_constant public static final androidx.paging.LoadType APPEND;
    enum_constant public static final androidx.paging.LoadType PREPEND;
    enum_constant public static final androidx.paging.LoadType REFRESH;
  }

  public final class PageEventKt {
  }

  @Deprecated public abstract class PageKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
    ctor @Deprecated public PageKeyedDataSource();
    method @Deprecated public abstract void loadAfter(androidx.paging.PageKeyedDataSource.LoadParams<Key> params, androidx.paging.PageKeyedDataSource.LoadCallback<Key,Value> callback);
    method @Deprecated public abstract void loadBefore(androidx.paging.PageKeyedDataSource.LoadParams<Key> params, androidx.paging.PageKeyedDataSource.LoadCallback<Key,Value> callback);
    method @Deprecated public abstract void loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams<Key> params, androidx.paging.PageKeyedDataSource.LoadInitialCallback<Key,Value> callback);
    method @Deprecated public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method @Deprecated public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method @Deprecated public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method @Deprecated public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> mapByPage(kotlin.jvm.functions.Function1<? super java.util.List<? extends Value>,? extends java.util.List<? extends ToValue>> function);
  }

  @Deprecated public abstract static class PageKeyedDataSource.LoadCallback<Key, Value> {
    ctor @Deprecated public PageKeyedDataSource.LoadCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends Value> data, Key? adjacentPageKey);
  }

  @Deprecated public abstract static class PageKeyedDataSource.LoadInitialCallback<Key, Value> {
    ctor @Deprecated public PageKeyedDataSource.LoadInitialCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends Value> data, int position, int totalCount, Key? previousPageKey, Key? nextPageKey);
    method @Deprecated public abstract void onResult(java.util.List<? extends Value> data, Key? previousPageKey, Key? nextPageKey);
  }

  @Deprecated public static class PageKeyedDataSource.LoadInitialParams<Key> {
    ctor @Deprecated public PageKeyedDataSource.LoadInitialParams(int requestedLoadSize, boolean placeholdersEnabled);
    field @Deprecated public final boolean placeholdersEnabled;
    field @Deprecated public final int requestedLoadSize;
  }

  @Deprecated public static class PageKeyedDataSource.LoadParams<Key> {
    ctor @Deprecated public PageKeyedDataSource.LoadParams(Key key, int requestedLoadSize);
    field @Deprecated public final Key key;
    field @Deprecated public final int requestedLoadSize;
  }

  @Deprecated public abstract class PagedList<T> extends java.util.AbstractList<T> {
    method @Deprecated public final void addWeakCallback(java.util.List<? extends T>? previousSnapshot, androidx.paging.PagedList.Callback callback);
    method @Deprecated public final void addWeakCallback(androidx.paging.PagedList.Callback callback);
    method @Deprecated public final void addWeakLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
    method @Deprecated public abstract void detach();
    method @Deprecated public T? get(int index);
    method @Deprecated public final androidx.paging.PagedList.Config getConfig();
    method @Deprecated public final androidx.paging.DataSource<?,T> getDataSource();
    method @Deprecated public abstract Object? getLastKey();
    method @Deprecated public final int getLoadedCount();
    method @Deprecated public final int getPositionOffset();
    method @Deprecated public int getSize();
    method @Deprecated public abstract boolean isDetached();
    method @Deprecated public boolean isImmutable();
    method @Deprecated public final void loadAround(int index);
    method @Deprecated public final void removeWeakCallback(androidx.paging.PagedList.Callback callback);
    method @Deprecated public final void removeWeakLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
    method @Deprecated public void retry();
    method @Deprecated public final java.util.List<T> snapshot();
    property @Deprecated public final androidx.paging.DataSource<?,T> dataSource;
    property public abstract boolean isDetached;
    property public boolean isImmutable;
    property public abstract Object? lastKey;
    property public final int loadedCount;
    property public final int positionOffset;
    property public int size;
  }

  @Deprecated @MainThread public abstract static class PagedList.BoundaryCallback<T> {
    ctor @Deprecated public PagedList.BoundaryCallback();
    method @Deprecated public void onItemAtEndLoaded(T itemAtEnd);
    method @Deprecated public void onItemAtFrontLoaded(T itemAtFront);
    method @Deprecated public void onZeroItemsLoaded();
  }

  @Deprecated public static final class PagedList.Builder<Key, Value> {
    ctor @Deprecated public PagedList.Builder(androidx.paging.DataSource<Key,Value> dataSource, androidx.paging.PagedList.Config config);
    ctor @Deprecated public PagedList.Builder(androidx.paging.DataSource<Key,Value> dataSource, int pageSize);
    ctor @Deprecated public PagedList.Builder(androidx.paging.PagingSource<Key,Value> pagingSource, androidx.paging.PagingSource.LoadResult.Page<Key,Value> initialPage, androidx.paging.PagedList.Config config);
    ctor @Deprecated public PagedList.Builder(androidx.paging.PagingSource<Key,Value> pagingSource, androidx.paging.PagingSource.LoadResult.Page<Key,Value> initialPage, int pageSize);
    method @Deprecated public androidx.paging.PagedList<Value> build();
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setBoundaryCallback(androidx.paging.PagedList.BoundaryCallback<Value>? boundaryCallback);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setCoroutineScope(kotlinx.coroutines.CoroutineScope coroutineScope);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setFetchDispatcher(kotlinx.coroutines.CoroutineDispatcher fetchDispatcher);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setFetchExecutor(java.util.concurrent.Executor fetchExecutor);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setInitialKey(Key? initialKey);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setNotifyDispatcher(kotlinx.coroutines.CoroutineDispatcher notifyDispatcher);
    method @Deprecated public androidx.paging.PagedList.Builder<Key,Value> setNotifyExecutor(java.util.concurrent.Executor notifyExecutor);
  }

  @Deprecated public abstract static class PagedList.Callback {
    ctor @Deprecated public PagedList.Callback();
    method @Deprecated public abstract void onChanged(int position, int count);
    method @Deprecated public abstract void onInserted(int position, int count);
    method @Deprecated public abstract void onRemoved(int position, int count);
  }

  @Deprecated public static final class PagedList.Config {
    field @Deprecated public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
    field @Deprecated public final boolean enablePlaceholders;
    field @Deprecated public final int initialLoadSizeHint;
    field @Deprecated public final int maxSize;
    field @Deprecated public final int pageSize;
    field @Deprecated public final int prefetchDistance;
  }

  @Deprecated public static final class PagedList.Config.Builder {
    ctor @Deprecated public PagedList.Config.Builder();
    method @Deprecated public androidx.paging.PagedList.Config build();
    method @Deprecated public androidx.paging.PagedList.Config.Builder setEnablePlaceholders(boolean enablePlaceholders);
    method @Deprecated public androidx.paging.PagedList.Config.Builder setInitialLoadSizeHint(@IntRange(from=1) int initialLoadSizeHint);
    method @Deprecated public androidx.paging.PagedList.Config.Builder setMaxSize(@IntRange(from=2) int maxSize);
    method @Deprecated public androidx.paging.PagedList.Config.Builder setPageSize(@IntRange(from=1) int pageSize);
    method @Deprecated public androidx.paging.PagedList.Config.Builder setPrefetchDistance(@IntRange(from=0) int prefetchDistance);
  }

  public final class PagedListConfigKt {
    method public static androidx.paging.PagedList.Config Config(int pageSize, int prefetchDistance = pageSize, boolean enablePlaceholders = true, int initialLoadSizeHint = pageSize * androidx.paging.PagedList.Config.Builder.DEFAULT_INITIAL_PAGE_MULTIPLIER, int maxSize = 2147483647);
  }

  public final class PagedListKt {
    method @Deprecated public static <Key, Value> androidx.paging.PagedList<Value> PagedList(androidx.paging.DataSource<Key,Value> dataSource, androidx.paging.PagedList.Config config, java.util.concurrent.Executor notifyExecutor, java.util.concurrent.Executor fetchExecutor, androidx.paging.PagedList.BoundaryCallback<Value>? boundaryCallback = null, Key? initialKey = null);
  }

  public final class Pager<Key, Value> {
    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, androidx.paging.RemoteMediator<Key,Value>? remoteMediator, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
    ctor public Pager(androidx.paging.PagingConfig config, Key? initialKey, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
    ctor public Pager(androidx.paging.PagingConfig config, kotlin.jvm.functions.Function0<? extends androidx.paging.PagingSource<Key,Value>> pagingSourceFactory);
    method public kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> getFlow();
    property public final kotlinx.coroutines.flow.Flow<androidx.paging.PagingData<Value>> flow;
  }

  public final class PagingConfig {
    ctor public PagingConfig(int pageSize, @IntRange(from=null) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=null) int initialLoadSize, @IntRange(from=null) int maxSize, int jumpThreshold);
    ctor public PagingConfig(int pageSize, @IntRange(from=null) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=null) int initialLoadSize, @IntRange(from=null) int maxSize);
    ctor public PagingConfig(int pageSize, @IntRange(from=null) int prefetchDistance, boolean enablePlaceholders, @IntRange(from=null) int initialLoadSize);
    ctor public PagingConfig(int pageSize, @IntRange(from=null) int prefetchDistance, boolean enablePlaceholders);
    ctor public PagingConfig(int pageSize, @IntRange(from=null) int prefetchDistance);
    ctor public PagingConfig(int pageSize);
    field public static final androidx.paging.PagingConfig.Companion! Companion;
    field public static final int MAX_SIZE_UNBOUNDED = 2147483647; // 0x7fffffff
    field public final boolean enablePlaceholders;
    field public final int initialLoadSize;
    field public final int jumpThreshold;
    field public final int maxSize;
    field public final int pageSize;
    field public final int prefetchDistance;
  }

  public static final class PagingConfig.Companion {
  }

  public final class PagingData<T> {
    method public static <T> androidx.paging.PagingData<T> empty();
    method @CheckResult public androidx.paging.PagingData<T> filter(kotlin.jvm.functions.Function1<? super T,java.lang.Boolean> predicate);
    method @CheckResult public <R> androidx.paging.PagingData<R> flatMap(kotlin.jvm.functions.Function1<? super T,? extends java.lang.Iterable<? extends R>> transform);
    method @CheckResult public androidx.paging.PagingData<T> insertFooterItem(T item);
    method @CheckResult public androidx.paging.PagingData<T> insertHeaderItem(T item);
    method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
    method @CheckResult public <R> androidx.paging.PagingData<R> map(kotlin.jvm.functions.Function1<? super T,? extends R> transform);
    field public static final androidx.paging.PagingData.Companion! Companion;
  }

  public static final class PagingData.Companion {
    method public <T> androidx.paging.PagingData<T> empty();
    method @CheckResult public <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T> pagingData, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
  }

  public final class PagingDataKt {
    method @CheckResult public static <T extends R, R> androidx.paging.PagingData<R> insertSeparators(androidx.paging.PagingData<T>, kotlin.jvm.functions.Function2<? super T,? super T,? extends R> generator);
  }

  public abstract class PagingSource<Key, Value> {
    ctor public PagingSource();
    method public final boolean getInvalid();
    method public boolean getJumpingSupported();
    method public boolean getKeyReuseSupported();
    method @androidx.paging.ExperimentalPagingApi public Key? getRefreshKey(androidx.paging.PagingState<Key,Value> state);
    method public void invalidate();
    method public abstract suspend Object? load(androidx.paging.PagingSource.LoadParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.PagingSource.LoadResult<Key,Value>> p);
    method public final void registerInvalidatedCallback(kotlin.jvm.functions.Function0<kotlin.Unit> onInvalidatedCallback);
    method public final void unregisterInvalidatedCallback(kotlin.jvm.functions.Function0<kotlin.Unit> onInvalidatedCallback);
    property public final boolean invalid;
    property public boolean jumpingSupported;
    property public boolean keyReuseSupported;
  }

  public abstract static sealed class PagingSource.LoadParams<Key> {
    method public abstract Key? getKey();
    method public final int getLoadSize();
    method @Deprecated public final int getPageSize();
    method public final boolean getPlaceholdersEnabled();
    property public abstract Key? key;
  }

  public static final class PagingSource.LoadParams.Append<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
    ctor public PagingSource.LoadParams.Append(Key key, int loadSize, boolean placeholdersEnabled);
    method public Key getKey();
  }

  public static final class PagingSource.LoadParams.Prepend<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled, int pageSize);
    ctor public PagingSource.LoadParams.Prepend(Key key, int loadSize, boolean placeholdersEnabled);
    method public Key getKey();
  }

  public static final class PagingSource.LoadParams.Refresh<Key> extends androidx.paging.PagingSource.LoadParams<Key> {
    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
    ctor public PagingSource.LoadParams.Refresh(Key? key, int loadSize, boolean placeholdersEnabled);
    method public Key? getKey();
  }

  public abstract static sealed class PagingSource.LoadResult<Key, Value> {
  }

  public static final class PagingSource.LoadResult.Error<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
    ctor public PagingSource.LoadResult.Error(Throwable throwable);
    method public Throwable component1();
    method public androidx.paging.PagingSource.LoadResult.Error<Key,Value> copy(Throwable throwable);
    method public Throwable getThrowable();
  }

  public static final class PagingSource.LoadResult.Page<Key, Value> extends androidx.paging.PagingSource.LoadResult<Key,Value> {
    ctor public PagingSource.LoadResult.Page(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, @IntRange(from=null) int itemsBefore, @IntRange(from=null) int itemsAfter);
    method public java.util.List<Value> component1();
    method public Key? component2();
    method public Key? component3();
    method public int component4();
    method public int component5();
    method public androidx.paging.PagingSource.LoadResult.Page<Key,Value> copy(java.util.List<? extends Value> data, Key? prevKey, Key? nextKey, int itemsBefore, int itemsAfter);
    method public java.util.List<Value> getData();
    method public int getItemsAfter();
    method public int getItemsBefore();
    method public Key? getNextKey();
    method public Key? getPrevKey();
    field public static final int COUNT_UNDEFINED = -2147483648; // 0x80000000
    field public static final androidx.paging.PagingSource.LoadResult.Page.Companion! Companion;
  }

  public static final class PagingSource.LoadResult.Page.Companion {
  }

  public final class PagingSourceKt {
  }

  public final class PagingState<Key, Value> {
    method public Value? closestItemToPosition(int anchorPosition);
    method public androidx.paging.PagingSource.LoadResult.Page<Key,Value>? closestPageToPosition(int anchorPosition);
    method public Value? firstItemOrNull();
    method public Integer? getAnchorPosition();
    method public androidx.paging.PagingConfig getConfig();
    method public java.util.List<androidx.paging.PagingSource.LoadResult.Page<Key,Value>> getPages();
    method public boolean isEmpty();
    method public Value? lastItemOrNull();
  }

  @Deprecated public abstract class PositionalDataSource<T> extends androidx.paging.DataSource<java.lang.Integer,T> {
    ctor @Deprecated public PositionalDataSource();
    method @Deprecated public static final int computeInitialLoadPosition(androidx.paging.PositionalDataSource.LoadInitialParams params, int totalCount);
    method @Deprecated public static final int computeInitialLoadSize(androidx.paging.PositionalDataSource.LoadInitialParams params, int initialLoadPosition, int totalCount);
    method @Deprecated @WorkerThread public abstract void loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams params, androidx.paging.PositionalDataSource.LoadInitialCallback<T> callback);
    method @Deprecated @WorkerThread public abstract void loadRange(androidx.paging.PositionalDataSource.LoadRangeParams params, androidx.paging.PositionalDataSource.LoadRangeCallback<T> callback);
    method @Deprecated public final <V> androidx.paging.PositionalDataSource<V> map(androidx.arch.core.util.Function<T,V> function);
    method @Deprecated public final <V> androidx.paging.PositionalDataSource<V> map(kotlin.jvm.functions.Function1<? super T,? extends V> function);
    method @Deprecated public final <V> androidx.paging.PositionalDataSource<V> mapByPage(androidx.arch.core.util.Function<java.util.List<T>,java.util.List<V>> function);
    method @Deprecated public final <V> androidx.paging.PositionalDataSource<V> mapByPage(kotlin.jvm.functions.Function1<? super java.util.List<? extends T>,? extends java.util.List<? extends V>> function);
  }

  @Deprecated public abstract static class PositionalDataSource.LoadInitialCallback<T> {
    ctor @Deprecated public PositionalDataSource.LoadInitialCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends T> data, int position, int totalCount);
    method @Deprecated public abstract void onResult(java.util.List<? extends T> data, int position);
  }

  @Deprecated public static class PositionalDataSource.LoadInitialParams {
    ctor @Deprecated public PositionalDataSource.LoadInitialParams(int requestedStartPosition, int requestedLoadSize, int pageSize, boolean placeholdersEnabled);
    field @Deprecated public final int pageSize;
    field @Deprecated public final boolean placeholdersEnabled;
    field @Deprecated public final int requestedLoadSize;
    field @Deprecated public final int requestedStartPosition;
  }

  @Deprecated public abstract static class PositionalDataSource.LoadRangeCallback<T> {
    ctor @Deprecated public PositionalDataSource.LoadRangeCallback();
    method @Deprecated public abstract void onResult(java.util.List<? extends T> data);
  }

  @Deprecated public static class PositionalDataSource.LoadRangeParams {
    ctor @Deprecated public PositionalDataSource.LoadRangeParams(int startPosition, int loadSize);
    field @Deprecated public final int loadSize;
    field @Deprecated public final int startPosition;
  }

  @androidx.paging.ExperimentalPagingApi public abstract class RemoteMediator<Key, Value> {
    ctor public RemoteMediator();
    method public suspend Object? initialize(kotlin.coroutines.Continuation<? super androidx.paging.RemoteMediator.InitializeAction> $completion);
    method public abstract suspend Object? load(androidx.paging.LoadType loadType, androidx.paging.PagingState<Key,Value> state, kotlin.coroutines.Continuation<? super androidx.paging.RemoteMediator.MediatorResult> p);
  }

  public enum RemoteMediator.InitializeAction {
    enum_constant public static final androidx.paging.RemoteMediator.InitializeAction LAUNCH_INITIAL_REFRESH;
    enum_constant public static final androidx.paging.RemoteMediator.InitializeAction SKIP_INITIAL_REFRESH;
  }

  public abstract static sealed class RemoteMediator.MediatorResult {
  }

  public static final class RemoteMediator.MediatorResult.Error extends androidx.paging.RemoteMediator.MediatorResult {
    ctor public RemoteMediator.MediatorResult.Error(Throwable throwable);
    method public Throwable getThrowable();
  }

  public static final class RemoteMediator.MediatorResult.Success extends androidx.paging.RemoteMediator.MediatorResult {
    ctor public RemoteMediator.MediatorResult.Success(boolean endOfPaginationReached);
    method public boolean endOfPaginationReached();
  }

  public final class SeparatorsKt {
  }

}

package androidx.paging.multicast {

  public final class ChannelManagerKt {
  }

}

