// Signature format: 4.0
package me.saket.telephoto.flick {

  public final class FlickToDismissKt {
    method @androidx.compose.runtime.Composable public static void FlickToDismiss(me.saket.telephoto.flick.FlickToDismissState state, optional androidx.compose.ui.Modifier modifier, kotlin.jvm.functions.Function1<? super androidx.compose.foundation.layout.BoxScope,kotlin.Unit> content);
  }

  @androidx.compose.runtime.Stable public sealed interface FlickToDismissState {
    method public me.saket.telephoto.flick.FlickToDismissState.GestureState getGestureState();
    method public float getOffset();
    method @FloatRange(from=0.0, to=1.0) public float getOffsetFraction();
    method public float getRotationZ();
    property public abstract me.saket.telephoto.flick.FlickToDismissState.GestureState gestureState;
    property public abstract float offset;
    property @FloatRange(from=0.0, to=1.0) public abstract float offsetFraction;
    property public abstract float rotationZ;
  }

  @androidx.compose.runtime.Immutable public static sealed interface FlickToDismissState.GestureState {
  }

  public static final class FlickToDismissState.GestureState.Dismissed implements me.saket.telephoto.flick.FlickToDismissState.GestureState {
    field public static final me.saket.telephoto.flick.FlickToDismissState.GestureState.Dismissed INSTANCE;
  }

  @dev.drewhamilton.poko.Poko public static final class FlickToDismissState.GestureState.Dismissing implements me.saket.telephoto.flick.FlickToDismissState.GestureState {
    ctor public FlickToDismissState.GestureState.Dismissing(long animationDuration);
    method public long getAnimationDuration();
    property public final long animationDuration;
  }

  @dev.drewhamilton.poko.Poko public static final class FlickToDismissState.GestureState.Dragging implements me.saket.telephoto.flick.FlickToDismissState.GestureState {
    ctor public FlickToDismissState.GestureState.Dragging(boolean willDismissOnRelease);
    method public boolean getWillDismissOnRelease();
    property public final boolean willDismissOnRelease;
  }

  public static final class FlickToDismissState.GestureState.Idle implements me.saket.telephoto.flick.FlickToDismissState.GestureState {
    field public static final me.saket.telephoto.flick.FlickToDismissState.GestureState.Idle INSTANCE;
  }

  public static final class FlickToDismissState.GestureState.Resetting implements me.saket.telephoto.flick.FlickToDismissState.GestureState {
    field public static final me.saket.telephoto.flick.FlickToDismissState.GestureState.Resetting INSTANCE;
  }

  public final class FlickToDismissStateKt {
    method @androidx.compose.runtime.Composable public static me.saket.telephoto.flick.FlickToDismissState rememberFlickToDismissState(optional float dismissThresholdRatio, optional boolean rotateOnDrag);
  }

}

