// Signature format: 4.0
package androidx.compose.ui.unit {

  public final class AndroidDensity_androidKt {
    method public static androidx.compose.ui.unit.Density Density(android.content.Context context);
  }

  @androidx.compose.runtime.Immutable public final inline class Constraints {
    ctor public Constraints();
  }

  public static final class Constraints.Companion {
    method @androidx.compose.runtime.Stable public long fixed(int width, int height);
    method @androidx.compose.runtime.Stable public long fixedHeight(int height);
    method @androidx.compose.runtime.Stable public long fixedWidth(int width);
  }

  public final class ConstraintsKt {
    method @androidx.compose.runtime.Stable public static long Constraints(optional int minWidth, optional int maxWidth, optional int minHeight, optional int maxHeight);
    method public static long constrain(long, long otherConstraints);
    method @androidx.compose.runtime.Stable public static long constrain(long, long size);
    method @androidx.compose.runtime.Stable public static int constrainHeight(long, int height);
    method @androidx.compose.runtime.Stable public static int constrainWidth(long, int width);
    method @androidx.compose.runtime.Stable public static boolean isSatisfiedBy(long, long size);
    method @androidx.compose.runtime.Stable public static long offset(long, optional int horizontal, optional int vertical);
  }

  @androidx.compose.runtime.Immutable public interface Density {
    method public float getDensity();
    method public float getFontScale();
    method @androidx.compose.runtime.Stable public default int roundToPx(float);
    method @androidx.compose.runtime.Stable public default int roundToPx(long);
    method @androidx.compose.runtime.Stable public default float toDp(long);
    method @androidx.compose.runtime.Stable public default float toDp(int);
    method @androidx.compose.runtime.Stable public default float toDp(float);
    method @androidx.compose.runtime.Stable public default float toPx(float);
    method @androidx.compose.runtime.Stable public default float toPx(long);
    method @androidx.compose.runtime.Stable public default androidx.compose.ui.geometry.Rect toRect(androidx.compose.ui.unit.DpRect);
    method @androidx.compose.runtime.Stable public default long toSp(float);
    method @androidx.compose.runtime.Stable public default long toSp(int);
    method @androidx.compose.runtime.Stable public default long toSp(float);
    property public abstract float density;
    property public abstract float fontScale;
  }

  public final class DensityKt {
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.Density Density(float density, optional float fontScale);
  }

  @androidx.compose.runtime.Immutable public final inline class Dp implements java.lang.Comparable<androidx.compose.ui.unit.Dp> {
    ctor public Dp();
    method @androidx.compose.runtime.Stable public operator int compareTo(float other);
    method public float getValue();
    property public final float value;
  }

  public static final class Dp.Companion {
    method public float getHairline();
    method public float getInfinity();
    method public float getUnspecified();
    property public final float Hairline;
    property public final float Infinity;
    property public final float Unspecified;
  }

  public final class DpKt {
    method @androidx.compose.runtime.Stable public static long DpOffset(float x, float y);
    method @androidx.compose.runtime.Stable public static inline float coerceAtLeast(float, float minimumValue);
    method @androidx.compose.runtime.Stable public static inline float coerceAtMost(float, float maximumValue);
    method @androidx.compose.runtime.Stable public static inline float coerceIn(float, float minimumValue, float maximumValue);
    method public static inline float getDp(int);
    method public static inline float getDp(double);
    method public static inline float getDp(float);
    method public static inline float getHeight(androidx.compose.ui.unit.DpRect);
    method public static inline float getWidth(androidx.compose.ui.unit.DpRect);
    method public static inline boolean isFinite(float);
    method public static inline boolean isSpecified(float);
    method public static inline boolean isUnspecified(float);
    method @androidx.compose.runtime.Stable public static float lerp(float start, float stop, float fraction);
    method @androidx.compose.runtime.Stable public static long lerp(long start, long stop, float fraction);
    method @androidx.compose.runtime.Stable public static inline float max(float a, float b);
    method @androidx.compose.runtime.Stable public static inline float min(float a, float b);
    method public static inline float takeOrElse(float, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.Dp> block);
    method @androidx.compose.runtime.Stable public static inline operator float times(float, float other);
    method @androidx.compose.runtime.Stable public static inline operator float times(double, float other);
    method @androidx.compose.runtime.Stable public static inline operator float times(int, float other);
  }

  @androidx.compose.runtime.Immutable public final inline class DpOffset {
    ctor public DpOffset();
  }

  public static final class DpOffset.Companion {
    method public long getZero();
    property public final long Zero;
  }

  @androidx.compose.runtime.Immutable public final class DpRect {
    ctor public DpRect(@androidx.compose.runtime.Stable float left, @androidx.compose.runtime.Stable float top, @androidx.compose.runtime.Stable float right, @androidx.compose.runtime.Stable float bottom);
    method public float component1-D9Ej5fM();
    method public float component2-D9Ej5fM();
    method public float component3-D9Ej5fM();
    method public float component4-D9Ej5fM();
    method public androidx.compose.ui.unit.DpRect copy-a9UjIt4(float left, float top, float right, float bottom);
    method public float getBottom();
    method public float getLeft();
    method public float getRight();
    method public float getTop();
    property public final float bottom;
    property public final float left;
    property public final float right;
    property public final float top;
    field public static final androidx.compose.ui.unit.DpRect.Companion Companion;
  }

  public static final class DpRect.Companion {
  }

  @androidx.compose.runtime.Immutable public final inline class IntOffset {
    ctor public IntOffset();
  }

  public static final class IntOffset.Companion {
    method public long getZero();
    property public final long Zero;
  }

  public final class IntOffsetKt {
    method @androidx.compose.runtime.Stable public static long IntOffset(int x, int y);
    method @androidx.compose.runtime.Stable public static long lerp(long start, long stop, float fraction);
    method @androidx.compose.runtime.Stable public static operator long minus(long, long offset);
    method @androidx.compose.runtime.Stable public static operator long minus(long, long offset);
    method @androidx.compose.runtime.Stable public static operator long plus(long, long offset);
    method @androidx.compose.runtime.Stable public static operator long plus(long, long offset);
    method @androidx.compose.runtime.Stable public static inline long round(long);
    method @androidx.compose.runtime.Stable public static inline long toOffset(long);
  }

  @androidx.compose.runtime.Immutable public final class IntRect {
    ctor public IntRect(@androidx.compose.runtime.Stable int left, @androidx.compose.runtime.Stable int top, @androidx.compose.runtime.Stable int right, @androidx.compose.runtime.Stable int bottom);
    method public int component1();
    method public int component2();
    method public int component3();
    method public int component4();
    method public boolean contains(long offset);
    method public androidx.compose.ui.unit.IntRect copy(int left, int top, int right, int bottom);
    method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect deflate(int delta);
    method public int getBottom();
    method public long getBottomCenter();
    method public long getBottomLeft();
    method public long getBottomRight();
    method public long getCenter();
    method public long getCenterLeft();
    method public long getCenterRight();
    method public int getHeight();
    method public int getLeft();
    method public int getMaxDimension();
    method public int getMinDimension();
    method public int getRight();
    method public long getSize();
    method public int getTop();
    method public long getTopCenter();
    method public long getTopLeft();
    method public long getTopRight();
    method public int getWidth();
    method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect inflate(int delta);
    method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect intersect(androidx.compose.ui.unit.IntRect other);
    method public boolean isEmpty();
    method public boolean overlaps(androidx.compose.ui.unit.IntRect other);
    method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate(long offset);
    method @androidx.compose.runtime.Stable public androidx.compose.ui.unit.IntRect translate(int translateX, int translateY);
    property public final int bottom;
    property public final long bottomCenter;
    property public final long bottomLeft;
    property public final long bottomRight;
    property public final long center;
    property public final long centerLeft;
    property public final long centerRight;
    property public final int height;
    property public final boolean isEmpty;
    property public final int left;
    property public final int maxDimension;
    property public final int minDimension;
    property public final int right;
    property public final long size;
    property public final int top;
    property public final long topCenter;
    property public final long topLeft;
    property public final long topRight;
    property public final int width;
    field public static final androidx.compose.ui.unit.IntRect.Companion Companion;
  }

  public static final class IntRect.Companion {
    method public androidx.compose.ui.unit.IntRect getZero();
    property public final androidx.compose.ui.unit.IntRect Zero;
  }

  public final class IntRectKt {
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect(long offset, long size);
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect(long topLeft, long bottomRight);
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect IntRect(long center, int radius);
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect lerp(androidx.compose.ui.unit.IntRect start, androidx.compose.ui.unit.IntRect stop, float fraction);
  }

  @androidx.compose.runtime.Immutable public final inline class IntSize {
    ctor public IntSize();
  }

  public static final class IntSize.Companion {
    method public long getZero();
    property public final long Zero;
  }

  public final class IntSizeKt {
    method @androidx.compose.runtime.Stable public static long IntSize(int width, int height);
    method public static long getCenter(long);
    method @androidx.compose.runtime.Stable public static operator long times(int, long size);
    method @androidx.compose.runtime.Stable public static androidx.compose.ui.unit.IntRect toIntRect(long);
    method @androidx.compose.runtime.Stable public static long toSize(long);
  }

  public enum LayoutDirection {
    enum_constant public static final androidx.compose.ui.unit.LayoutDirection Ltr;
    enum_constant public static final androidx.compose.ui.unit.LayoutDirection Rtl;
  }

  @androidx.compose.runtime.Immutable public final inline class TextUnit {
    ctor public TextUnit();
  }

  public static final class TextUnit.Companion {
    method public long getUnspecified();
    property public final long Unspecified;
  }

  public final class TextUnitKt {
    method @kotlin.PublishedApi internal static void checkArithmetic(long a);
    method @kotlin.PublishedApi internal static void checkArithmetic(long a, long b);
    method @kotlin.PublishedApi internal static void checkArithmetic(long a, long b, long c);
    method public static long getEm(float);
    method public static long getEm(double);
    method public static long getEm(int);
    method public static long getSp(float);
    method public static long getSp(double);
    method public static long getSp(int);
    method public static inline boolean isSpecified(long);
    method public static boolean isUnspecified(long);
    method @androidx.compose.runtime.Stable public static long lerp(long start, long stop, float fraction);
    method @kotlin.PublishedApi internal static long pack(long unitType, float v);
    method public static inline long takeOrElse(long, kotlin.jvm.functions.Function0<androidx.compose.ui.unit.TextUnit> block);
    method @androidx.compose.runtime.Stable public static inline operator long times(float, long other);
    method @androidx.compose.runtime.Stable public static inline operator long times(double, long other);
    method @androidx.compose.runtime.Stable public static inline operator long times(int, long other);
  }

  public final inline class TextUnitType {
    ctor public TextUnitType();
  }

  public static final class TextUnitType.Companion {
    method public long getEm();
    method public long getSp();
    method public long getUnspecified();
    property public final long Em;
    property public final long Sp;
    property public final long Unspecified;
  }

  @androidx.compose.runtime.Immutable public final inline class Velocity {
    ctor public Velocity();
  }

  public static final class Velocity.Companion {
    method public long getZero();
    property public final long Zero;
  }

  public final class VelocityKt {
    method @androidx.compose.runtime.Stable public static long Velocity(float x, float y);
  }

}

