// Signature format: 3.0
package androidx.recyclerview.selection {

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract class AutoScroller {
    ctor public AutoScroller();
    method public abstract void reset();
    method public abstract void scroll(android.graphics.Point);
  }

  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public class DefaultSelectionTracker<K> extends androidx.recyclerview.selection.SelectionTracker<K> {
    ctor public DefaultSelectionTracker(String, androidx.recyclerview.selection.ItemKeyProvider, androidx.recyclerview.selection.SelectionTracker.SelectionPredicate, androidx.recyclerview.selection.StorageStrategy<K>);
    method public void addObserver(androidx.recyclerview.selection.SelectionTracker.SelectionObserver);
    method public void anchorRange(int);
    method public void clearProvisionalSelection();
    method public boolean clearSelection();
    method public void copySelection(androidx.recyclerview.selection.MutableSelection);
    method public boolean deselect(K);
    method public void endRange();
    method public void extendProvisionalRange(int);
    method public void extendRange(int);
    method protected androidx.recyclerview.widget.RecyclerView.AdapterDataObserver! getAdapterDataObserver();
    method public androidx.recyclerview.selection.Selection! getSelection();
    method public boolean hasSelection();
    method public boolean isRangeActive();
    method public boolean isSelected(K?);
    method public void mergeProvisionalSelection();
    method public final void onRestoreInstanceState(android.os.Bundle?);
    method public final void onSaveInstanceState(android.os.Bundle);
    method protected void restoreSelection(androidx.recyclerview.selection.Selection);
    method public boolean select(K);
    method public boolean setItemsSelected(Iterable<K>, boolean);
    method public void setProvisionalSelection(java.util.Set<K>);
    method public void startRange(int);
  }

  public abstract class ItemDetailsLookup<K> {
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected boolean overItemWithSelectionKey(android.view.MotionEvent);
  }

  public abstract class SelectionTracker<K> {
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract void anchorRange(int);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected abstract void clearProvisionalSelection();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract void endRange();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected abstract void extendProvisionalRange(int);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract void extendRange(int);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected abstract androidx.recyclerview.widget.RecyclerView.AdapterDataObserver! getAdapterDataObserver();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract boolean isRangeActive();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected abstract void mergeProvisionalSelection();
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) protected abstract void setProvisionalSelection(java.util.Set<K>);
    method @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP_PREFIX) public abstract void startRange(int);
  }

}

