// Signature format: 3.0
package androidx.paging {


  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 abstract suspend Object load$lintWithKotlin(androidx.paging.DataSource.Params<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    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 @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final kotlin.jvm.functions.Function0<androidx.paging.PagedSource<Key,Value>> asPagedSourceFactory();
    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();
  }

  public final class DataSourceKt {
    ctor public DataSourceKt();
  }


  public abstract class ItemKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
    ctor public ItemKeyedDataSource();
    method public abstract Key getKey(Value item);
    method public final suspend Object load$lintWithKotlin(androidx.paging.DataSource.Params<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    method public abstract void loadAfter(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadCallback<Value> callback);
    method @VisibleForTesting public final suspend Object loadAfter$lintWithKotlin(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    method public abstract void loadBefore(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadCallback<Value> callback);
    method @VisibleForTesting public final suspend Object loadBefore$lintWithKotlin(androidx.paging.ItemKeyedDataSource.LoadParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    method public abstract void loadInitial(androidx.paging.ItemKeyedDataSource.LoadInitialParams<Key> params, androidx.paging.ItemKeyedDataSource.LoadInitialCallback<Value> callback);
    method @VisibleForTesting public final suspend Object loadInitial$lintWithKotlin(androidx.paging.ItemKeyedDataSource.LoadInitialParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    method public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method public final <ToValue> androidx.paging.ItemKeyedDataSource<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method 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);
  }

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

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

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

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

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final class LegacyPagedSource<Key, Value> extends androidx.paging.PagedSource<Key,Value> {
    ctor public LegacyPagedSource(internal androidx.paging.DataSource<Key,Value> dataSource);
    method public suspend Object load(androidx.paging.PagedSource.LoadParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.PagedSource.LoadResult<Key,Value>> p);
  }

  public abstract sealed class LoadState {
  }

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

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

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

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

  public enum LoadType {
    enum_constant public static final androidx.paging.LoadType END;
    enum_constant public static final androidx.paging.LoadType REFRESH;
    enum_constant public static final androidx.paging.LoadType START;
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public interface NullPaddedList<T> {
    method public T! getFromStorage(int localIndex);
    method public int getLeadingNullCount();
    method public int getSize();
    method public int getStorageCount();
    method public int getTrailingNullCount();
    property public abstract int leadingNullCount;
    property public abstract int size;
    property public abstract int storageCount;
    property public abstract int trailingNullCount;
  }

  public abstract class PageKeyedDataSource<Key, Value> extends androidx.paging.DataSource<Key,Value> {
    ctor public PageKeyedDataSource();
    method public final suspend Object load$lintWithKotlin(androidx.paging.DataSource.Params<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<Value>> p);
    method public abstract void loadAfter(androidx.paging.PageKeyedDataSource.LoadParams<Key> params, androidx.paging.PageKeyedDataSource.LoadCallback<Key,Value> callback);
    method public abstract void loadBefore(androidx.paging.PageKeyedDataSource.LoadParams<Key> params, androidx.paging.PageKeyedDataSource.LoadCallback<Key,Value> callback);
    method public abstract void loadInitial(androidx.paging.PageKeyedDataSource.LoadInitialParams<Key> params, androidx.paging.PageKeyedDataSource.LoadInitialCallback<Key,Value> callback);
    method public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> map(androidx.arch.core.util.Function<Value,ToValue> function);
    method public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> map(kotlin.jvm.functions.Function1<? super Value,? extends ToValue> function);
    method public final <ToValue> androidx.paging.PageKeyedDataSource<Key,ToValue> mapByPage(androidx.arch.core.util.Function<java.util.List<Value>,java.util.List<ToValue>> function);
    method 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);
  }

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

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

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

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

  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 public final void addWeakCallback(androidx.paging.PagedList.Callback callback);
    method public final void addWeakLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final <K, T> androidx.paging.PagedList<T> create(androidx.paging.PagedSource<K,T> pagedSource, androidx.paging.PagedSource.LoadResult.Page<K,T>? initialPage, kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.CoroutineDispatcher notifyDispatcher, kotlinx.coroutines.CoroutineDispatcher fetchDispatcher, androidx.paging.PagedList.BoundaryCallback<T>? boundaryCallback, androidx.paging.PagedList.Config config, K? key);
    method public abstract void detach();
    method public T? get(int index);
    method public final androidx.paging.PagedList.Config getConfig();
    method @Deprecated public final androidx.paging.DataSource<?,T> getDataSource();
    method public abstract Object? getLastKey();
    method public final int getLoadedCount();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final androidx.paging.NullPaddedList<T> getNullPaddedList();
    method public final int getPositionOffset();
    method public int getSize();
    method public abstract boolean isDetached();
    method public boolean isImmutable();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public final int lastLoad();
    method public final void loadAround(int index);
    method public final void removeWeakCallback(androidx.paging.PagedList.Callback callback);
    method public final void removeWeakLoadStateListener(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> listener);
    method public void retry();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public void setInitialLoadState(androidx.paging.LoadType loadType, androidx.paging.LoadState loadState);
    method 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;
  }

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

  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 public PagedList.Builder(androidx.paging.PagedSource<Key,Value> pagedSource, androidx.paging.PagedSource.LoadResult.Page<Key,Value> initialPage, androidx.paging.PagedList.Config config);
    ctor public PagedList.Builder(androidx.paging.PagedSource<Key,Value> pagedSource, androidx.paging.PagedSource.LoadResult.Page<Key,Value> initialPage, int pageSize);
    method public androidx.paging.PagedList<Value> build();
    method public androidx.paging.PagedList.Builder<Key,Value> setBoundaryCallback(androidx.paging.PagedList.BoundaryCallback<Value>? boundaryCallback);
    method public androidx.paging.PagedList.Builder<Key,Value> setCoroutineScope(kotlinx.coroutines.CoroutineScope coroutineScope);
    method 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 public androidx.paging.PagedList.Builder<Key,Value> setInitialKey(Key? initialKey);
    method 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);
  }

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

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static final class PagedList.Companion {
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public <K, T> androidx.paging.PagedList<T> create(androidx.paging.PagedSource<K,T> pagedSource, androidx.paging.PagedSource.LoadResult.Page<K,T>? initialPage, kotlinx.coroutines.CoroutineScope coroutineScope, kotlinx.coroutines.CoroutineDispatcher notifyDispatcher, kotlinx.coroutines.CoroutineDispatcher fetchDispatcher, androidx.paging.PagedList.BoundaryCallback<T>? boundaryCallback, androidx.paging.PagedList.Config config, K? key);
  }

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

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

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public abstract static class PagedList.LoadStateManager {
    method public final void dispatchCurrentLoadState(kotlin.jvm.functions.Function2<? super androidx.paging.LoadType,? super androidx.paging.LoadState,kotlin.Unit> callback);
    method public final androidx.paging.LoadState getEndState();
    method public final androidx.paging.LoadState getRefreshState();
    method public final androidx.paging.LoadState getStartState();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public abstract void onStateChanged(androidx.paging.LoadType type, androidx.paging.LoadState state);
    method public final void setEndState(androidx.paging.LoadState p);
    method public final void setRefreshState(androidx.paging.LoadState p);
    method public final void setStartState(androidx.paging.LoadState p);
    method public final void setState(androidx.paging.LoadType type, androidx.paging.LoadState state);
    property public final androidx.paging.LoadState endState;
    property public final androidx.paging.LoadState refreshState;
    property public final androidx.paging.LoadState startState;
  }

  public final class PagedListConfigKt {
    ctor public 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 {
    ctor public 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 abstract class PagedSource<Key, Value> {
    ctor public PagedSource();
    method public final boolean getInvalid();
    method public Key? getRefreshKeyFromPage(int indexInPage, androidx.paging.PagedSource.LoadResult.Page<Key,Value> page);
    method public void invalidate();
    method public abstract suspend Object load(androidx.paging.PagedSource.LoadParams<Key> params, kotlin.coroutines.Continuation<? super androidx.paging.PagedSource.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;
  }

  public static final class PagedSource.LoadParams<Key> {
    ctor public PagedSource.LoadParams(androidx.paging.LoadType loadType, Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
    method public androidx.paging.LoadType component1();
    method public Key? component2();
    method public int component3();
    method public boolean component4();
    method public int component5();
    method public androidx.paging.PagedSource.LoadParams<Key> copy(androidx.paging.LoadType loadType, Key? key, int loadSize, boolean placeholdersEnabled, int pageSize);
    method public Key? getKey();
    method public int getLoadSize();
    method public androidx.paging.LoadType getLoadType();
    method public int getPageSize();
    method public boolean getPlaceholdersEnabled();
  }

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

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

  public static final class PagedSource.LoadResult.Page<Key, Value> extends androidx.paging.PagedSource.LoadResult<Key,Value> {
    ctor public PagedSource.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.PagedSource.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.PagedSource.LoadResult.Page.Companion! Companion;
  }

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

  public final class PagedSourceKt {
    ctor public PagedSourceKt();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public static <Key> androidx.paging.PagedSource.LoadParams<Key> toRefreshLoadParams(androidx.paging.PagedList.Config, Key? key);
  }

  public abstract class PositionalDataSource<T> extends androidx.paging.DataSource<java.lang.Integer,T> {
    ctor public PositionalDataSource();
    method public static final int computeInitialLoadPosition(androidx.paging.PositionalDataSource.LoadInitialParams params, int totalCount);
    method public static final int computeInitialLoadSize(androidx.paging.PositionalDataSource.LoadInitialParams params, int initialLoadPosition, int totalCount);
    method public final suspend Object load$lintWithKotlin(androidx.paging.DataSource.Params<java.lang.Integer> params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<T>> p);
    method @WorkerThread public abstract void loadInitial(androidx.paging.PositionalDataSource.LoadInitialParams params, androidx.paging.PositionalDataSource.LoadInitialCallback<T> callback);
    method @VisibleForTesting public final suspend Object loadInitial$lintWithKotlin(androidx.paging.PositionalDataSource.LoadInitialParams params, kotlin.coroutines.Continuation<? super androidx.paging.DataSource.BaseResult<T>> p);
    method @WorkerThread public abstract void loadRange(androidx.paging.PositionalDataSource.LoadRangeParams params, androidx.paging.PositionalDataSource.LoadRangeCallback<T> callback);
    method public final <V> androidx.paging.PositionalDataSource<V> map(androidx.arch.core.util.Function<T,V> function);
    method public final <V> androidx.paging.PositionalDataSource<V> map(kotlin.jvm.functions.Function1<? super T,? extends V> function);
    method public final <V> androidx.paging.PositionalDataSource<V> mapByPage(androidx.arch.core.util.Function<java.util.List<T>,java.util.List<V>> function);
    method 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);
  }


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

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

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

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

}

package androidx.paging.futures {

  public final class DirectExecutorKt {
    ctor public DirectExecutorKt();
  }

}

