<div class='type'>Interface</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>



```kotlin
interface PullToRefreshState
```


The state of a `PullToRefreshBox` which tracks the distance that the container and indicator have
been pulled.

Each instance of `PullToRefreshBox` should have its own `PullToRefreshState`.

`PullToRefreshState` can be used with other progress indicators like so:


## Properties

<div class='sourceset sourceset-common'>Common</div>


```kotlin
@get:FloatRange(from = 0.0) val distanceFraction: Float
```


Distance percentage towards the refresh threshold. 0.0 indicates no distance, 1.0 indicates
being at the threshold offset, > 1.0 indicates overshoot beyond the provided threshold.



<div class='sourceset sourceset-common'>Common</div>


```kotlin
val isAnimating: Boolean
```


whether the state is currently animating the indicator to the threshold offset, or back to
the hidden offset



## Functions



<h2 id="animatetothreshold">animateToThreshold</h2>

```kotlin
suspend fun animateToThreshold()
```


Animate the distance towards the anchor or threshold position, where the indicator will be
shown when refreshing.




<hr class="docs-overload-divider">


<h2 id="animatetohidden">animateToHidden</h2>

```kotlin
suspend fun animateToHidden()
```


Animate the distance towards the position where the indicator will be hidden when idle




<hr class="docs-overload-divider">


<h2 id="snapto-targetvalue">snapTo</h2>

```kotlin
suspend fun snapTo(@FloatRange(from = 0.0) targetValue: Float)
```


Snap the indicator to the desired threshold fraction