// Signature format: 4.0
package androidx.graphics.shapes {

  public final class CornerRounding {
    ctor public CornerRounding(optional @FloatRange(from=0.0) float radius, optional @FloatRange(from=0.0, to=1.0) float smoothing);
    method public float getRadius();
    method public float getSmoothing();
    property public final float radius;
    property public final float smoothing;
    field public static final androidx.graphics.shapes.CornerRounding.Companion Companion;
    field public static final androidx.graphics.shapes.CornerRounding Unrounded;
  }

  public static final class CornerRounding.Companion {
  }

  public final class Cubic {
    ctor public Cubic(android.graphics.PointF p0, android.graphics.PointF p1, android.graphics.PointF p2, android.graphics.PointF p3);
    ctor public Cubic(androidx.graphics.shapes.Cubic cubic);
    method public static androidx.graphics.shapes.Cubic circularArc(android.graphics.PointF center, android.graphics.PointF p0, android.graphics.PointF p1);
    method public operator androidx.graphics.shapes.Cubic div(float x);
    method public operator androidx.graphics.shapes.Cubic div(int x);
    method public android.graphics.PointF getP0();
    method public android.graphics.PointF getP1();
    method public android.graphics.PointF getP2();
    method public android.graphics.PointF getP3();
    method public static androidx.graphics.shapes.Cubic interpolate(androidx.graphics.shapes.Cubic start, androidx.graphics.shapes.Cubic end, float t);
    method public operator androidx.graphics.shapes.Cubic plus(androidx.graphics.shapes.Cubic o);
    method public android.graphics.PointF pointOnCurve(float t);
    method public android.graphics.PointF pointOnCurve(float t, optional android.graphics.PointF result);
    method public androidx.graphics.shapes.Cubic reverse();
    method public kotlin.Pair<androidx.graphics.shapes.Cubic,androidx.graphics.shapes.Cubic> split(float t);
    method public static androidx.graphics.shapes.Cubic straightLine(android.graphics.PointF p0, android.graphics.PointF p1);
    method public operator androidx.graphics.shapes.Cubic times(float x);
    method public operator androidx.graphics.shapes.Cubic times(int x);
    method public void transform(android.graphics.Matrix matrix);
    method public void transform(android.graphics.Matrix matrix, optional float[] points);
    property public final android.graphics.PointF p0;
    property public final android.graphics.PointF p1;
    property public final android.graphics.PointF p2;
    property public final android.graphics.PointF p3;
    field public static final androidx.graphics.shapes.Cubic.Companion Companion;
  }

  public static final class Cubic.Companion {
    method public androidx.graphics.shapes.Cubic circularArc(android.graphics.PointF center, android.graphics.PointF p0, android.graphics.PointF p1);
    method public androidx.graphics.shapes.Cubic interpolate(androidx.graphics.shapes.Cubic start, androidx.graphics.shapes.Cubic end, float t);
    method public androidx.graphics.shapes.Cubic straightLine(android.graphics.PointF p0, android.graphics.PointF p1);
  }

  public final class CubicShape {
    ctor public CubicShape(androidx.graphics.shapes.CubicShape sourceShape);
    ctor public CubicShape(java.util.List<androidx.graphics.shapes.Cubic> cubics);
    method public android.graphics.RectF getBounds();
    method public java.util.List<androidx.graphics.shapes.Cubic> getCubics();
    method public android.graphics.Path toPath();
    method public void transform(android.graphics.Matrix matrix);
    method public void transform(android.graphics.Matrix matrix, optional float[] points);
    property public final android.graphics.RectF bounds;
    property public final java.util.List<androidx.graphics.shapes.Cubic> cubics;
  }

  public final class CubicShapeKt {
    method public static void drawCubicShape(android.graphics.Canvas, androidx.graphics.shapes.CubicShape shape, android.graphics.Paint paint);
  }

  public final class Morph {
    ctor public Morph(androidx.graphics.shapes.RoundedPolygon start, androidx.graphics.shapes.RoundedPolygon end);
    method public java.util.List<androidx.graphics.shapes.Cubic> asCubics();
    method public android.graphics.Path asPath();
    method public android.graphics.RectF getBounds();
    method public float getProgress();
    method public void setProgress(float);
    method public void transform(android.graphics.Matrix matrix);
    property public final android.graphics.RectF bounds;
    property public final float progress;
  }

  public final class MorphKt {
    method public static void drawMorph(android.graphics.Canvas, androidx.graphics.shapes.Morph morph, android.graphics.Paint paint);
  }

  public final class RoundedPolygon {
    ctor public RoundedPolygon(androidx.graphics.shapes.RoundedPolygon source);
    ctor public RoundedPolygon(@IntRange(from=3L) int numVertices, optional float radius, optional android.graphics.PointF center, optional androidx.graphics.shapes.CornerRounding rounding, optional java.util.List<androidx.graphics.shapes.CornerRounding>? perVertexRounding);
    ctor public RoundedPolygon(java.util.List<? extends android.graphics.PointF> vertices, optional androidx.graphics.shapes.CornerRounding rounding, optional java.util.List<androidx.graphics.shapes.CornerRounding>? perVertexRounding, optional android.graphics.PointF? center);
    method public android.graphics.RectF getBounds();
    method public android.graphics.PointF getCenter();
    method public void setBounds(android.graphics.RectF);
    method public androidx.graphics.shapes.CubicShape toCubicShape();
    method public android.graphics.Path toPath();
    method public void transform(android.graphics.Matrix matrix);
    property public final android.graphics.RectF bounds;
    property public final android.graphics.PointF center;
    field public static final androidx.graphics.shapes.RoundedPolygon.Companion Companion;
  }

  public static final class RoundedPolygon.Companion {
  }

  public final class RoundedPolygonKt {
    method public static void drawPolygon(android.graphics.Canvas, androidx.graphics.shapes.RoundedPolygon polygon, android.graphics.Paint paint);
  }

  public final class ShapesKt {
    method public static androidx.graphics.shapes.RoundedPolygon circle(androidx.graphics.shapes.RoundedPolygon.Companion);
    method public static androidx.graphics.shapes.RoundedPolygon circle(androidx.graphics.shapes.RoundedPolygon.Companion, optional @IntRange(from=3L) int numVertices);
    method public static androidx.graphics.shapes.RoundedPolygon circle(androidx.graphics.shapes.RoundedPolygon.Companion, optional @IntRange(from=3L) int numVertices, optional float radius);
    method public static androidx.graphics.shapes.RoundedPolygon circle(androidx.graphics.shapes.RoundedPolygon.Companion, optional @IntRange(from=3L) int numVertices, optional float radius, optional android.graphics.PointF center);
    method public static androidx.graphics.shapes.RoundedPolygon rectangle(androidx.graphics.shapes.RoundedPolygon.Companion, optional float width, optional float height, optional androidx.graphics.shapes.CornerRounding rounding, optional java.util.List<androidx.graphics.shapes.CornerRounding>? perVertexRounding, optional android.graphics.PointF center);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius, optional float innerRadius);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius, optional float innerRadius, optional androidx.graphics.shapes.CornerRounding rounding);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius, optional float innerRadius, optional androidx.graphics.shapes.CornerRounding rounding, optional androidx.graphics.shapes.CornerRounding? innerRounding);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius, optional float innerRadius, optional androidx.graphics.shapes.CornerRounding rounding, optional androidx.graphics.shapes.CornerRounding? innerRounding, optional java.util.List<androidx.graphics.shapes.CornerRounding>? perVertexRounding);
    method public static androidx.graphics.shapes.RoundedPolygon star(androidx.graphics.shapes.RoundedPolygon.Companion, int numVerticesPerRadius, optional float radius, optional float innerRadius, optional androidx.graphics.shapes.CornerRounding rounding, optional androidx.graphics.shapes.CornerRounding? innerRounding, optional java.util.List<androidx.graphics.shapes.CornerRounding>? perVertexRounding, optional android.graphics.PointF center);
  }

}

