[go: nahoru, domu]

Update version to dev04.

dev03 has shipped. Time to move to dev04.

Test: none
Change-Id: I3003427eef619ae88eee6c5571f7f438bbc9d326
diff --git a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
index 0ad43be..e58f404 100644
--- a/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
+++ b/buildSrc/src/main/kotlin/androidx/build/LibraryVersions.kt
@@ -46,7 +46,7 @@
     val CARDVIEW = Version("1.1.0-alpha01")
     val COLLECTION = Version("1.2.0-alpha01")
     val CONTENTPAGER = Version("1.1.0-alpha01")
-    val COMPOSE = Version("0.1.0-dev03")
+    val COMPOSE = Version("0.1.0-dev04")
     val CONTENTACCESS = Version("1.0.0-alpha01")
     val COORDINATORLAYOUT = Version("1.2.0-alpha01")
     val CORE = Version("1.3.0-alpha01")
@@ -112,7 +112,7 @@
     val TEXTCLASSIFIER = Version("1.0.0-alpha03")
     val TRANSITION = Version("1.4.0-alpha01")
     val TVPROVIDER = Version("1.1.0-alpha01")
-    val UI = Version("0.1.0-dev03")
+    val UI = Version("0.1.0-dev04")
     val VECTORDRAWABLE = Version("1.2.0-alpha01")
     val VECTORDRAWABLE_ANIMATED = Version("1.2.0-alpha01")
     val VERSIONED_PARCELABLE = Version("1.2.0-alpha01")
diff --git a/ui/ui-android-text/api/0.1.0-dev04.txt b/ui/ui-android-text/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..4608a1f
--- /dev/null
+++ b/ui/ui-android-text/api/0.1.0-dev04.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.text {
+
+  public final class LayoutIntrinsicsKt {
+    ctor public LayoutIntrinsicsKt();
+  }
+
+  public final class TextLayoutKt {
+    ctor public TextLayoutKt();
+  }
+
+}
+
diff --git a/ui/ui-android-text/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-android-text/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..4608a1f
--- /dev/null
+++ b/ui/ui-android-text/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,13 @@
+// Signature format: 3.0
+package androidx.text {
+
+  public final class LayoutIntrinsicsKt {
+    ctor public LayoutIntrinsicsKt();
+  }
+
+  public final class TextLayoutKt {
+    ctor public TextLayoutKt();
+  }
+
+}
+
diff --git a/ui/ui-android-text/api/res-0.1.0-dev04.txt b/ui/ui-android-text/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-android-text/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-android-text/api/restricted_0.1.0-dev04.txt b/ui/ui-android-text/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..0ce85ee
--- /dev/null
+++ b/ui/ui-android-text/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,109 @@
+// Signature format: 3.0
+package androidx.text {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class LayoutCompat {
+    field public static final int ALIGN_CENTER = 2; // 0x2
+    field public static final int ALIGN_LEFT = 3; // 0x3
+    field public static final int ALIGN_NORMAL = 0; // 0x0
+    field public static final int ALIGN_OPPOSITE = 1; // 0x1
+    field public static final int ALIGN_RIGHT = 4; // 0x4
+    field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
+    field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
+    field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
+    field public static final int DEFAULT_ALIGNMENT = 0; // 0x0
+    field public static final int DEFAULT_BREAK_STRATEGY = 0; // 0x0
+    field public static final int DEFAULT_HYPHENATION_FREQUENCY = 0; // 0x0
+    field public static final boolean DEFAULT_INCLUDE_PADDING = true;
+    field public static final int DEFAULT_JUSTIFICATION_MODE = 0; // 0x0
+    field public static final float DEFAULT_LINESPACING_EXTRA = 0.0f;
+    field public static final float DEFAULT_LINESPACING_MULTIPLIER = 1.0f;
+    field public static final int DEFAULT_MAX_LINES = 2147483647; // 0x7fffffff
+    field public static final int DEFAULT_TEXT_DIRECTION = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_FULL = 2; // 0x2
+    field public static final int HYPHENATION_FREQUENCY_NONE = 0; // 0x0
+    field public static final int HYPHENATION_FREQUENCY_NORMAL = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_INTER_WORD = 1; // 0x1
+    field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
+    field public static final int TEXT_DIRECTION_ANY_RTL_LTR = 4; // 0x4
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_LTR = 2; // 0x2
+    field public static final int TEXT_DIRECTION_FIRST_STRONG_RTL = 3; // 0x3
+    field public static final int TEXT_DIRECTION_LOCALE = 5; // 0x5
+    field public static final int TEXT_DIRECTION_LTR = 0; // 0x0
+    field public static final int TEXT_DIRECTION_RTL = 1; // 0x1
+  }
+
+
+  public final class LayoutIntrinsicsKt {
+    ctor public LayoutIntrinsicsKt();
+  }
+
+
+
+  public final class TextLayoutKt {
+    ctor public TextLayoutKt();
+  }
+
+}
+
+package androidx.text.selection {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class WordBoundary {
+    ctor public WordBoundary(java.util.Locale!, CharSequence!);
+    method public int getWordEnd(int);
+    method public int getWordStart(int);
+  }
+
+}
+
+package androidx.text.style {
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class BaselineShiftSpan extends android.text.style.MetricAffectingSpan {
+    ctor public BaselineShiftSpan(float);
+    method public float getMultiplier();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class FontFeatureSpan extends android.text.style.MetricAffectingSpan {
+    ctor public FontFeatureSpan(String);
+    method public String! getFontFeatureSettings();
+    method public void updateDrawState(android.text.TextPaint!);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class LetterSpacingSpan extends android.text.style.MetricAffectingSpan {
+    ctor public LetterSpacingSpan(float);
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class LineHeightSpan implements android.text.style.LineHeightSpan {
+    ctor public LineHeightSpan(@Px int);
+    method public void chooseHeight(CharSequence, int, int, int, int, android.graphics.Paint.FontMetricsInt);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class ShadowSpan extends android.text.style.CharacterStyle {
+    ctor public ShadowSpan(@ColorInt int, float, float, float);
+    method public int getColor();
+    method public float getOffsetX();
+    method public float getOffsetY();
+    method public float getRadius();
+    method public void updateDrawState(android.text.TextPaint);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class SkewXSpan extends android.text.style.MetricAffectingSpan {
+    ctor public SkewXSpan(float);
+    method public float getSkewX();
+    method public void updateDrawState(android.text.TextPaint!);
+    method public void updateMeasureState(android.text.TextPaint!);
+  }
+
+  @RestrictTo(androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP) public class TypefaceSpan extends android.text.style.MetricAffectingSpan {
+    ctor public TypefaceSpan(android.graphics.Typeface);
+    method public android.graphics.Typeface getTypeface();
+    method public void updateDrawState(android.text.TextPaint);
+    method public void updateMeasureState(android.text.TextPaint);
+  }
+
+}
+
diff --git a/ui/ui-animation-core/api/0.1.0-dev04.txt b/ui/ui-animation-core/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..227080e
--- /dev/null
+++ b/ui/ui-animation-core/api/0.1.0-dev04.txt
@@ -0,0 +1,322 @@
+// Signature format: 3.0
+package androidx.animation {
+
+  public final class AnimatedFloat extends androidx.animation.BaseAnimatedValue<java.lang.Float> {
+    ctor public AnimatedFloat(androidx.animation.ValueHolder<java.lang.Float> valueHolder);
+    method public void doAnimationFrame$lintWithKotlin(long time);
+    method public float getVelocity();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public void setVelocity(float p);
+    method public void snapTo(float targetValue);
+    property public final float velocity;
+  }
+
+  public final class AnimatedValue<T> extends androidx.animation.BaseAnimatedValue<T> {
+    ctor public AnimatedValue(androidx.animation.ValueHolder<T> valueHolder);
+  }
+
+  public final class AnimatedValueKt {
+    ctor public AnimatedValueKt();
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+  }
+
+  public abstract class AnimationBuilder<T> {
+    ctor public AnimationBuilder();
+  }
+
+  public final class AnimationBuilderKt {
+    ctor public AnimationBuilderKt();
+    field public static final int DefaultDuration = 300; // 0x12c
+    field public static final int Infinite = 2147483647; // 0x7fffffff
+  }
+
+  public interface AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public interface AnimationClockObserver {
+    method public void onAnimationFrame(long frameTimeMillis);
+  }
+
+  public enum AnimationEndReason {
+    enum_constant public static final androidx.animation.AnimationEndReason BoundReached;
+    enum_constant public static final androidx.animation.AnimationEndReason Interrupted;
+    enum_constant public static final androidx.animation.AnimationEndReason TargetReached;
+  }
+
+  public final class AnimationKt {
+    ctor public AnimationKt();
+    field public static final boolean DEBUG = false;
+  }
+
+  public abstract sealed class BaseAnimatedValue<T> implements androidx.animation.DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void setRunning$lintWithKotlin(boolean p);
+    method public void setTargetValue$lintWithKotlin(T! p);
+    method public void setValue$lintWithKotlin(T? newVal);
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public boolean isRunning;
+    property public T! targetValue;
+    property public T! value;
+  }
+
+  public abstract sealed class BaseAnimationClock implements androidx.animation.AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public final class CubicBezierEasing implements kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> {
+    ctor public CubicBezierEasing(float a, float b, float c, float d);
+    method public Float! invoke(float fraction);
+  }
+
+  public interface DecayAnimation {
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public abstract float absVelocityThreshold;
+  }
+
+  public final class DecayAnimationKt {
+    ctor public DecayAnimationKt();
+  }
+
+  public final class DefaultAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public DefaultAnimationClock();
+    method public void dispatchTime$lintWithKotlin(long frameTimeMillis);
+  }
+
+  public abstract class DurationBasedAnimationBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public DurationBasedAnimationBuilder();
+    method public abstract androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public final int getDelay();
+    method public final int getDuration();
+    method public final void setDelay(int value);
+    method public final void setDuration(int value);
+    property public final int delay;
+    property public final int duration;
+  }
+
+  public interface DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder());
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public abstract boolean isRunning;
+    property public abstract T! targetValue;
+    property public abstract T! value;
+  }
+
+  public final class EasingKt {
+    ctor public EasingKt();
+    method public static androidx.animation.CubicBezierEasing getFastOutLinearInEasing();
+    method public static androidx.animation.CubicBezierEasing getFastOutSlowInEasing();
+    method public static kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getLinearEasing();
+    method public static androidx.animation.CubicBezierEasing getLinearOutSlowInEasing();
+  }
+
+  public final class ExponentialDecay implements androidx.animation.DecayAnimation {
+    ctor public ExponentialDecay(@FloatRange(from=null, fromInclusive=null) float frictionMultiplier, @FloatRange(from=null, fromInclusive=null) float absVelocityThreshold);
+    ctor public ExponentialDecay();
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public float absVelocityThreshold;
+  }
+
+  public final class FloatPropKey implements androidx.animation.PropKey<java.lang.Float> {
+    ctor public FloatPropKey();
+    method public Float! interpolate(float a, float b, float fraction);
+  }
+
+  public final class IntPropKey implements androidx.animation.PropKey<java.lang.Integer> {
+    ctor public IntPropKey();
+    method public Integer! interpolate(int a, int b, float fraction);
+  }
+
+  public enum InterruptionHandling {
+    enum_constant public static final androidx.animation.InterruptionHandling PHYSICS;
+    enum_constant public static final androidx.animation.InterruptionHandling SNAP_TO_END;
+    enum_constant public static final androidx.animation.InterruptionHandling TWEEN;
+    enum_constant public static final androidx.animation.InterruptionHandling UNINTERRUPTIBLE;
+  }
+
+  public final class KeyframesBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public KeyframesBuilder();
+    method public infix androidx.animation.KeyframesBuilder<T>.KeyframeEntity at(T?, int timeStamp);
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public infix void with(androidx.animation.KeyframesBuilder<T>.KeyframeEntity, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> easing);
+  }
+
+  public final class KeyframesBuilder.KeyframeEntity {
+  }
+
+  public final class ManualAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public ManualAnimationClock(long initTimeMillis);
+    method public long getClockTimeMillis();
+    method public void setClockTimeMillis(long value);
+    property public final long clockTimeMillis;
+  }
+
+  public interface MutableTransitionState {
+    method public operator <T> void set(androidx.animation.PropKey<T> propKey, T? prop);
+  }
+
+  public class PhysicsBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public PhysicsBuilder(float dampingRatio, float stiffness);
+    ctor public PhysicsBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public final float getDampingRatio();
+    method public final float getStiffness();
+    method public final void setDampingRatio(float p);
+    method public final void setStiffness(float p);
+  }
+
+  public interface PropKey<T> {
+    method public T! interpolate(T? a, T? b, float fraction);
+  }
+
+  public final class RepeatableBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public RepeatableBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public androidx.animation.DurationBasedAnimationBuilder<T>? getAnimation();
+    method public Integer? getIterations();
+    method public void setAnimation(androidx.animation.DurationBasedAnimationBuilder<T>? p);
+    method public void setIterations(Integer? value);
+    property public final androidx.animation.DurationBasedAnimationBuilder<T>? animation;
+    property public final Integer? iterations;
+  }
+
+  public final class SnapBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public SnapBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+  }
+
+  public final class Spring {
+    ctor public Spring();
+    field public static final androidx.animation.Spring.Companion! Companion;
+    field public static final float DampingRatioHighBouncy = 0.2f;
+    field public static final float DampingRatioLowBouncy = 0.75f;
+    field public static final float DampingRatioMediumBouncy = 0.5f;
+    field public static final float DampingRatioNoBouncy = 1.0f;
+    field public static final float StiffnessHigh = 10000.0f;
+    field public static final float StiffnessLow = 200.0f;
+    field public static final float StiffnessMedium = 1500.0f;
+    field public static final float StiffnessVeryLow = 50.0f;
+  }
+
+  public static final class Spring.Companion {
+  }
+
+  public final class SpringSimulationKt {
+    ctor public SpringSimulationKt();
+  }
+
+  public final class TargetAnimation {
+    ctor public TargetAnimation(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public float component1();
+    method public androidx.animation.AnimationBuilder<java.lang.Float> component2();
+    method public androidx.animation.TargetAnimation copy(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public androidx.animation.AnimationBuilder<java.lang.Float> getAnimation();
+    method public float getTarget();
+  }
+
+  public final class TransitionAnimation<T> implements androidx.animation.TransitionState {
+    ctor public TransitionAnimation(androidx.animation.TransitionDefinition<T> def, androidx.animation.AnimationClockObservable clock, T? initState);
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+    method public kotlin.jvm.functions.Function1<T,kotlin.Unit>? getOnStateChangeFinished();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnUpdate();
+    method public boolean isRunning();
+    method public void setOnStateChangeFinished(kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? p);
+    method public void setOnUpdate(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    method public void toState(T? name);
+    property public final boolean isRunning;
+    property public final kotlin.jvm.functions.Function1<T,kotlin.Unit>? onStateChangeFinished;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? onUpdate;
+  }
+
+  public final class TransitionDefinition<T> {
+    ctor public TransitionDefinition();
+    method public androidx.animation.TransitionState getStateFor(T? name);
+    method public void snapTransition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, T? nextState = null);
+    method public void state(T? name, kotlin.jvm.functions.Function1<? super androidx.animation.MutableTransitionState,kotlin.Unit> init);
+    method public void transition(T? fromState = null, T? toState = null, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+    method public void transition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionDefinitionKt {
+    ctor public TransitionDefinitionKt();
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>);
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>, androidx.animation.AnimationClockObservable clock, T? initState = null);
+    method public static <T> androidx.animation.TransitionDefinition<T> transitionDefinition(kotlin.jvm.functions.Function1<? super androidx.animation.TransitionDefinition<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionSpec<S> {
+    method public androidx.animation.InterruptionHandling getInterruptionHandling();
+    method public S? getNextState();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.animation.KeyframesBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> physics(kotlin.jvm.functions.Function1<? super androidx.animation.PhysicsBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> repeatable(kotlin.jvm.functions.Function1<? super androidx.animation.RepeatableBuilder<T>,kotlin.Unit> init);
+    method public void setInterruptionHandling(androidx.animation.InterruptionHandling p);
+    method public void setNextState(S? p);
+    method public <T> androidx.animation.AnimationBuilder<T> snap();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> tween(kotlin.jvm.functions.Function1<? super androidx.animation.TweenBuilder<T>,kotlin.Unit> init);
+    method public infix <T> void using(androidx.animation.PropKey<T>, androidx.animation.AnimationBuilder<T> builder);
+    property public final androidx.animation.InterruptionHandling interruptionHandling;
+    property public final S? nextState;
+  }
+
+  public interface TransitionState {
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+  }
+
+  public final class TransitionStateKt {
+    ctor public TransitionStateKt();
+  }
+
+  public final class TweenBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public TweenBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getEasing();
+    method public void setEasing(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> p);
+    property public final kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> easing;
+  }
+
+  public interface ValueHolder<T> {
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T! p);
+    property public abstract kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> interpolator;
+    property public abstract T! value;
+  }
+
+  public final class ValueHolderImpl<T> implements androidx.animation.ValueHolder<T> {
+    ctor public ValueHolderImpl(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public T! component1();
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> component2();
+    method public androidx.animation.ValueHolderImpl<T> copy(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+}
+
diff --git a/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..227080e
--- /dev/null
+++ b/ui/ui-animation-core/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,322 @@
+// Signature format: 3.0
+package androidx.animation {
+
+  public final class AnimatedFloat extends androidx.animation.BaseAnimatedValue<java.lang.Float> {
+    ctor public AnimatedFloat(androidx.animation.ValueHolder<java.lang.Float> valueHolder);
+    method public void doAnimationFrame$lintWithKotlin(long time);
+    method public float getVelocity();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public void setVelocity(float p);
+    method public void snapTo(float targetValue);
+    property public final float velocity;
+  }
+
+  public final class AnimatedValue<T> extends androidx.animation.BaseAnimatedValue<T> {
+    ctor public AnimatedValue(androidx.animation.ValueHolder<T> valueHolder);
+  }
+
+  public final class AnimatedValueKt {
+    ctor public AnimatedValueKt();
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+  }
+
+  public abstract class AnimationBuilder<T> {
+    ctor public AnimationBuilder();
+  }
+
+  public final class AnimationBuilderKt {
+    ctor public AnimationBuilderKt();
+    field public static final int DefaultDuration = 300; // 0x12c
+    field public static final int Infinite = 2147483647; // 0x7fffffff
+  }
+
+  public interface AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public interface AnimationClockObserver {
+    method public void onAnimationFrame(long frameTimeMillis);
+  }
+
+  public enum AnimationEndReason {
+    enum_constant public static final androidx.animation.AnimationEndReason BoundReached;
+    enum_constant public static final androidx.animation.AnimationEndReason Interrupted;
+    enum_constant public static final androidx.animation.AnimationEndReason TargetReached;
+  }
+
+  public final class AnimationKt {
+    ctor public AnimationKt();
+    field public static final boolean DEBUG = false;
+  }
+
+  public abstract sealed class BaseAnimatedValue<T> implements androidx.animation.DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void setRunning$lintWithKotlin(boolean p);
+    method public void setTargetValue$lintWithKotlin(T! p);
+    method public void setValue$lintWithKotlin(T? newVal);
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public boolean isRunning;
+    property public T! targetValue;
+    property public T! value;
+  }
+
+  public abstract sealed class BaseAnimationClock implements androidx.animation.AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public final class CubicBezierEasing implements kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> {
+    ctor public CubicBezierEasing(float a, float b, float c, float d);
+    method public Float! invoke(float fraction);
+  }
+
+  public interface DecayAnimation {
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public abstract float absVelocityThreshold;
+  }
+
+  public final class DecayAnimationKt {
+    ctor public DecayAnimationKt();
+  }
+
+  public final class DefaultAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public DefaultAnimationClock();
+    method public void dispatchTime$lintWithKotlin(long frameTimeMillis);
+  }
+
+  public abstract class DurationBasedAnimationBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public DurationBasedAnimationBuilder();
+    method public abstract androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public final int getDelay();
+    method public final int getDuration();
+    method public final void setDelay(int value);
+    method public final void setDuration(int value);
+    property public final int delay;
+    property public final int duration;
+  }
+
+  public interface DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder());
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public abstract boolean isRunning;
+    property public abstract T! targetValue;
+    property public abstract T! value;
+  }
+
+  public final class EasingKt {
+    ctor public EasingKt();
+    method public static androidx.animation.CubicBezierEasing getFastOutLinearInEasing();
+    method public static androidx.animation.CubicBezierEasing getFastOutSlowInEasing();
+    method public static kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getLinearEasing();
+    method public static androidx.animation.CubicBezierEasing getLinearOutSlowInEasing();
+  }
+
+  public final class ExponentialDecay implements androidx.animation.DecayAnimation {
+    ctor public ExponentialDecay(@FloatRange(from=null, fromInclusive=null) float frictionMultiplier, @FloatRange(from=null, fromInclusive=null) float absVelocityThreshold);
+    ctor public ExponentialDecay();
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public float absVelocityThreshold;
+  }
+
+  public final class FloatPropKey implements androidx.animation.PropKey<java.lang.Float> {
+    ctor public FloatPropKey();
+    method public Float! interpolate(float a, float b, float fraction);
+  }
+
+  public final class IntPropKey implements androidx.animation.PropKey<java.lang.Integer> {
+    ctor public IntPropKey();
+    method public Integer! interpolate(int a, int b, float fraction);
+  }
+
+  public enum InterruptionHandling {
+    enum_constant public static final androidx.animation.InterruptionHandling PHYSICS;
+    enum_constant public static final androidx.animation.InterruptionHandling SNAP_TO_END;
+    enum_constant public static final androidx.animation.InterruptionHandling TWEEN;
+    enum_constant public static final androidx.animation.InterruptionHandling UNINTERRUPTIBLE;
+  }
+
+  public final class KeyframesBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public KeyframesBuilder();
+    method public infix androidx.animation.KeyframesBuilder<T>.KeyframeEntity at(T?, int timeStamp);
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public infix void with(androidx.animation.KeyframesBuilder<T>.KeyframeEntity, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> easing);
+  }
+
+  public final class KeyframesBuilder.KeyframeEntity {
+  }
+
+  public final class ManualAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public ManualAnimationClock(long initTimeMillis);
+    method public long getClockTimeMillis();
+    method public void setClockTimeMillis(long value);
+    property public final long clockTimeMillis;
+  }
+
+  public interface MutableTransitionState {
+    method public operator <T> void set(androidx.animation.PropKey<T> propKey, T? prop);
+  }
+
+  public class PhysicsBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public PhysicsBuilder(float dampingRatio, float stiffness);
+    ctor public PhysicsBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public final float getDampingRatio();
+    method public final float getStiffness();
+    method public final void setDampingRatio(float p);
+    method public final void setStiffness(float p);
+  }
+
+  public interface PropKey<T> {
+    method public T! interpolate(T? a, T? b, float fraction);
+  }
+
+  public final class RepeatableBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public RepeatableBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public androidx.animation.DurationBasedAnimationBuilder<T>? getAnimation();
+    method public Integer? getIterations();
+    method public void setAnimation(androidx.animation.DurationBasedAnimationBuilder<T>? p);
+    method public void setIterations(Integer? value);
+    property public final androidx.animation.DurationBasedAnimationBuilder<T>? animation;
+    property public final Integer? iterations;
+  }
+
+  public final class SnapBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public SnapBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+  }
+
+  public final class Spring {
+    ctor public Spring();
+    field public static final androidx.animation.Spring.Companion! Companion;
+    field public static final float DampingRatioHighBouncy = 0.2f;
+    field public static final float DampingRatioLowBouncy = 0.75f;
+    field public static final float DampingRatioMediumBouncy = 0.5f;
+    field public static final float DampingRatioNoBouncy = 1.0f;
+    field public static final float StiffnessHigh = 10000.0f;
+    field public static final float StiffnessLow = 200.0f;
+    field public static final float StiffnessMedium = 1500.0f;
+    field public static final float StiffnessVeryLow = 50.0f;
+  }
+
+  public static final class Spring.Companion {
+  }
+
+  public final class SpringSimulationKt {
+    ctor public SpringSimulationKt();
+  }
+
+  public final class TargetAnimation {
+    ctor public TargetAnimation(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public float component1();
+    method public androidx.animation.AnimationBuilder<java.lang.Float> component2();
+    method public androidx.animation.TargetAnimation copy(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public androidx.animation.AnimationBuilder<java.lang.Float> getAnimation();
+    method public float getTarget();
+  }
+
+  public final class TransitionAnimation<T> implements androidx.animation.TransitionState {
+    ctor public TransitionAnimation(androidx.animation.TransitionDefinition<T> def, androidx.animation.AnimationClockObservable clock, T? initState);
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+    method public kotlin.jvm.functions.Function1<T,kotlin.Unit>? getOnStateChangeFinished();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnUpdate();
+    method public boolean isRunning();
+    method public void setOnStateChangeFinished(kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? p);
+    method public void setOnUpdate(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    method public void toState(T? name);
+    property public final boolean isRunning;
+    property public final kotlin.jvm.functions.Function1<T,kotlin.Unit>? onStateChangeFinished;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? onUpdate;
+  }
+
+  public final class TransitionDefinition<T> {
+    ctor public TransitionDefinition();
+    method public androidx.animation.TransitionState getStateFor(T? name);
+    method public void snapTransition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, T? nextState = null);
+    method public void state(T? name, kotlin.jvm.functions.Function1<? super androidx.animation.MutableTransitionState,kotlin.Unit> init);
+    method public void transition(T? fromState = null, T? toState = null, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+    method public void transition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionDefinitionKt {
+    ctor public TransitionDefinitionKt();
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>);
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>, androidx.animation.AnimationClockObservable clock, T? initState = null);
+    method public static <T> androidx.animation.TransitionDefinition<T> transitionDefinition(kotlin.jvm.functions.Function1<? super androidx.animation.TransitionDefinition<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionSpec<S> {
+    method public androidx.animation.InterruptionHandling getInterruptionHandling();
+    method public S? getNextState();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.animation.KeyframesBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> physics(kotlin.jvm.functions.Function1<? super androidx.animation.PhysicsBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> repeatable(kotlin.jvm.functions.Function1<? super androidx.animation.RepeatableBuilder<T>,kotlin.Unit> init);
+    method public void setInterruptionHandling(androidx.animation.InterruptionHandling p);
+    method public void setNextState(S? p);
+    method public <T> androidx.animation.AnimationBuilder<T> snap();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> tween(kotlin.jvm.functions.Function1<? super androidx.animation.TweenBuilder<T>,kotlin.Unit> init);
+    method public infix <T> void using(androidx.animation.PropKey<T>, androidx.animation.AnimationBuilder<T> builder);
+    property public final androidx.animation.InterruptionHandling interruptionHandling;
+    property public final S? nextState;
+  }
+
+  public interface TransitionState {
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+  }
+
+  public final class TransitionStateKt {
+    ctor public TransitionStateKt();
+  }
+
+  public final class TweenBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public TweenBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getEasing();
+    method public void setEasing(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> p);
+    property public final kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> easing;
+  }
+
+  public interface ValueHolder<T> {
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T! p);
+    property public abstract kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> interpolator;
+    property public abstract T! value;
+  }
+
+  public final class ValueHolderImpl<T> implements androidx.animation.ValueHolder<T> {
+    ctor public ValueHolderImpl(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public T! component1();
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> component2();
+    method public androidx.animation.ValueHolderImpl<T> copy(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+}
+
diff --git a/ui/ui-animation-core/api/res-0.1.0-dev04.txt b/ui/ui-animation-core/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-animation-core/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-animation-core/api/restricted_0.1.0-dev04.txt b/ui/ui-animation-core/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..227080e
--- /dev/null
+++ b/ui/ui-animation-core/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,322 @@
+// Signature format: 3.0
+package androidx.animation {
+
+  public final class AnimatedFloat extends androidx.animation.BaseAnimatedValue<java.lang.Float> {
+    ctor public AnimatedFloat(androidx.animation.ValueHolder<java.lang.Float> valueHolder);
+    method public void doAnimationFrame$lintWithKotlin(long time);
+    method public float getVelocity();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    method public void setVelocity(float p);
+    method public void snapTo(float targetValue);
+    property public final float velocity;
+  }
+
+  public final class AnimatedValue<T> extends androidx.animation.BaseAnimatedValue<T> {
+    ctor public AnimatedValue(androidx.animation.ValueHolder<T> valueHolder);
+  }
+
+  public final class AnimatedValueKt {
+    ctor public AnimatedValueKt();
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+    method public static void fling(androidx.animation.AnimatedFloat, float startVelocity, androidx.animation.DecayAnimation decay = androidx.animation.ExponentialDecay(), kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? >
+  }
+
+  public abstract class AnimationBuilder<T> {
+    ctor public AnimationBuilder();
+  }
+
+  public final class AnimationBuilderKt {
+    ctor public AnimationBuilderKt();
+    field public static final int DefaultDuration = 300; // 0x12c
+    field public static final int Infinite = 2147483647; // 0x7fffffff
+  }
+
+  public interface AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public interface AnimationClockObserver {
+    method public void onAnimationFrame(long frameTimeMillis);
+  }
+
+  public enum AnimationEndReason {
+    enum_constant public static final androidx.animation.AnimationEndReason BoundReached;
+    enum_constant public static final androidx.animation.AnimationEndReason Interrupted;
+    enum_constant public static final androidx.animation.AnimationEndReason TargetReached;
+  }
+
+  public final class AnimationKt {
+    ctor public AnimationKt();
+    field public static final boolean DEBUG = false;
+  }
+
+  public abstract sealed class BaseAnimatedValue<T> implements androidx.animation.DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void setRunning$lintWithKotlin(boolean p);
+    method public void setTargetValue$lintWithKotlin(T! p);
+    method public void setValue$lintWithKotlin(T? newVal);
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public boolean isRunning;
+    property public T! targetValue;
+    property public T! value;
+  }
+
+  public abstract sealed class BaseAnimationClock implements androidx.animation.AnimationClockObservable {
+    method public void subscribe(androidx.animation.AnimationClockObserver observer);
+    method public void unsubscribe(androidx.animation.AnimationClockObserver observer);
+  }
+
+  public final class CubicBezierEasing implements kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> {
+    ctor public CubicBezierEasing(float a, float b, float c, float d);
+    method public Float! invoke(float fraction);
+  }
+
+  public interface DecayAnimation {
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public abstract float absVelocityThreshold;
+  }
+
+  public final class DecayAnimationKt {
+    ctor public DecayAnimationKt();
+  }
+
+  public final class DefaultAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public DefaultAnimationClock();
+    method public void dispatchTime$lintWithKotlin(long frameTimeMillis);
+  }
+
+  public abstract class DurationBasedAnimationBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public DurationBasedAnimationBuilder();
+    method public abstract androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public final int getDelay();
+    method public final int getDuration();
+    method public final void setDelay(int value);
+    method public final void setDuration(int value);
+    property public final int delay;
+    property public final int duration;
+  }
+
+  public interface DynamicTargetAnimation<T> {
+    method public void animateTo(T? targetValue);
+    method public void animateTo(T? targetValue, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder());
+    method public void animateTo(T? targetValue, androidx.animation.AnimationBuilder<T> anim = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super T,kotlin.Unit> onEnd);
+    method public T! getTargetValue();
+    method public T! getValue();
+    method public boolean isRunning();
+    method public void snapTo(T? targetValue);
+    method public void stop();
+    property public abstract boolean isRunning;
+    property public abstract T! targetValue;
+    property public abstract T! value;
+  }
+
+  public final class EasingKt {
+    ctor public EasingKt();
+    method public static androidx.animation.CubicBezierEasing getFastOutLinearInEasing();
+    method public static androidx.animation.CubicBezierEasing getFastOutSlowInEasing();
+    method public static kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getLinearEasing();
+    method public static androidx.animation.CubicBezierEasing getLinearOutSlowInEasing();
+  }
+
+  public final class ExponentialDecay implements androidx.animation.DecayAnimation {
+    ctor public ExponentialDecay(@FloatRange(from=null, fromInclusive=null) float frictionMultiplier, @FloatRange(from=null, fromInclusive=null) float absVelocityThreshold);
+    ctor public ExponentialDecay();
+    method public float getAbsVelocityThreshold();
+    method public float getTarget(float start, float startVelocity);
+    method public float getValue(long playTime, float start, float startVelocity);
+    method public float getVelocity(long playTime, float start, float startVelocity);
+    method public boolean isFinished(long playTime, float start, float startVelocity);
+    property public float absVelocityThreshold;
+  }
+
+  public final class FloatPropKey implements androidx.animation.PropKey<java.lang.Float> {
+    ctor public FloatPropKey();
+    method public Float! interpolate(float a, float b, float fraction);
+  }
+
+  public final class IntPropKey implements androidx.animation.PropKey<java.lang.Integer> {
+    ctor public IntPropKey();
+    method public Integer! interpolate(int a, int b, float fraction);
+  }
+
+  public enum InterruptionHandling {
+    enum_constant public static final androidx.animation.InterruptionHandling PHYSICS;
+    enum_constant public static final androidx.animation.InterruptionHandling SNAP_TO_END;
+    enum_constant public static final androidx.animation.InterruptionHandling TWEEN;
+    enum_constant public static final androidx.animation.InterruptionHandling UNINTERRUPTIBLE;
+  }
+
+  public final class KeyframesBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public KeyframesBuilder();
+    method public infix androidx.animation.KeyframesBuilder<T>.KeyframeEntity at(T?, int timeStamp);
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public infix void with(androidx.animation.KeyframesBuilder<T>.KeyframeEntity, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> easing);
+  }
+
+  public final class KeyframesBuilder.KeyframeEntity {
+  }
+
+  public final class ManualAnimationClock extends androidx.animation.BaseAnimationClock {
+    ctor public ManualAnimationClock(long initTimeMillis);
+    method public long getClockTimeMillis();
+    method public void setClockTimeMillis(long value);
+    property public final long clockTimeMillis;
+  }
+
+  public interface MutableTransitionState {
+    method public operator <T> void set(androidx.animation.PropKey<T> propKey, T? prop);
+  }
+
+  public class PhysicsBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public PhysicsBuilder(float dampingRatio, float stiffness);
+    ctor public PhysicsBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public final float getDampingRatio();
+    method public final float getStiffness();
+    method public final void setDampingRatio(float p);
+    method public final void setStiffness(float p);
+  }
+
+  public interface PropKey<T> {
+    method public T! interpolate(T? a, T? b, float fraction);
+  }
+
+  public final class RepeatableBuilder<T> extends androidx.animation.AnimationBuilder<T> {
+    ctor public RepeatableBuilder();
+    method public androidx.animation.Animation<T> build$lintWithKotlin();
+    method public androidx.animation.DurationBasedAnimationBuilder<T>? getAnimation();
+    method public Integer? getIterations();
+    method public void setAnimation(androidx.animation.DurationBasedAnimationBuilder<T>? p);
+    method public void setIterations(Integer? value);
+    property public final androidx.animation.DurationBasedAnimationBuilder<T>? animation;
+    property public final Integer? iterations;
+  }
+
+  public final class SnapBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public SnapBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+  }
+
+  public final class Spring {
+    ctor public Spring();
+    field public static final androidx.animation.Spring.Companion! Companion;
+    field public static final float DampingRatioHighBouncy = 0.2f;
+    field public static final float DampingRatioLowBouncy = 0.75f;
+    field public static final float DampingRatioMediumBouncy = 0.5f;
+    field public static final float DampingRatioNoBouncy = 1.0f;
+    field public static final float StiffnessHigh = 10000.0f;
+    field public static final float StiffnessLow = 200.0f;
+    field public static final float StiffnessMedium = 1500.0f;
+    field public static final float StiffnessVeryLow = 50.0f;
+  }
+
+  public static final class Spring.Companion {
+  }
+
+  public final class SpringSimulationKt {
+    ctor public SpringSimulationKt();
+  }
+
+  public final class TargetAnimation {
+    ctor public TargetAnimation(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public float component1();
+    method public androidx.animation.AnimationBuilder<java.lang.Float> component2();
+    method public androidx.animation.TargetAnimation copy(float target, androidx.animation.AnimationBuilder<java.lang.Float> animation);
+    method public androidx.animation.AnimationBuilder<java.lang.Float> getAnimation();
+    method public float getTarget();
+  }
+
+  public final class TransitionAnimation<T> implements androidx.animation.TransitionState {
+    ctor public TransitionAnimation(androidx.animation.TransitionDefinition<T> def, androidx.animation.AnimationClockObservable clock, T? initState);
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+    method public kotlin.jvm.functions.Function1<T,kotlin.Unit>? getOnStateChangeFinished();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnUpdate();
+    method public boolean isRunning();
+    method public void setOnStateChangeFinished(kotlin.jvm.functions.Function1<? super T,kotlin.Unit>? p);
+    method public void setOnUpdate(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    method public void toState(T? name);
+    property public final boolean isRunning;
+    property public final kotlin.jvm.functions.Function1<T,kotlin.Unit>? onStateChangeFinished;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit>? onUpdate;
+  }
+
+  public final class TransitionDefinition<T> {
+    ctor public TransitionDefinition();
+    method public androidx.animation.TransitionState getStateFor(T? name);
+    method public void snapTransition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, T? nextState = null);
+    method public void state(T? name, kotlin.jvm.functions.Function1<? super androidx.animation.MutableTransitionState,kotlin.Unit> init);
+    method public void transition(T? fromState = null, T? toState = null, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+    method public void transition(kotlin.Pair<? extends T,? extends T>![] fromToPairs, kotlin.jvm.functions.Function1<? super androidx.animation.TransitionSpec<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionDefinitionKt {
+    ctor public TransitionDefinitionKt();
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>);
+    method public static <T> androidx.animation.TransitionAnimation<T> createAnimation(androidx.animation.TransitionDefinition<T>, androidx.animation.AnimationClockObservable clock, T? initState = null);
+    method public static <T> androidx.animation.TransitionDefinition<T> transitionDefinition(kotlin.jvm.functions.Function1<? super androidx.animation.TransitionDefinition<T>,kotlin.Unit> init);
+  }
+
+  public final class TransitionSpec<S> {
+    method public androidx.animation.InterruptionHandling getInterruptionHandling();
+    method public S? getNextState();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> keyframes(kotlin.jvm.functions.Function1<? super androidx.animation.KeyframesBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> physics(kotlin.jvm.functions.Function1<? super androidx.animation.PhysicsBuilder<T>,kotlin.Unit> init);
+    method public <T> androidx.animation.AnimationBuilder<T> repeatable(kotlin.jvm.functions.Function1<? super androidx.animation.RepeatableBuilder<T>,kotlin.Unit> init);
+    method public void setInterruptionHandling(androidx.animation.InterruptionHandling p);
+    method public void setNextState(S? p);
+    method public <T> androidx.animation.AnimationBuilder<T> snap();
+    method public <T> androidx.animation.DurationBasedAnimationBuilder<T> tween(kotlin.jvm.functions.Function1<? super androidx.animation.TweenBuilder<T>,kotlin.Unit> init);
+    method public infix <T> void using(androidx.animation.PropKey<T>, androidx.animation.AnimationBuilder<T> builder);
+    property public final androidx.animation.InterruptionHandling interruptionHandling;
+    property public final S? nextState;
+  }
+
+  public interface TransitionState {
+    method public operator <T> T! get(androidx.animation.PropKey<T> propKey);
+  }
+
+  public final class TransitionStateKt {
+    ctor public TransitionStateKt();
+  }
+
+  public final class TweenBuilder<T> extends androidx.animation.DurationBasedAnimationBuilder<T> {
+    ctor public TweenBuilder();
+    method public androidx.animation.DurationBasedAnimation<T> build$lintWithKotlin();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> getEasing();
+    method public void setEasing(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> p);
+    property public final kotlin.jvm.functions.Function1<java.lang.Float,java.lang.Float> easing;
+  }
+
+  public interface ValueHolder<T> {
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T! p);
+    property public abstract kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> interpolator;
+    property public abstract T! value;
+  }
+
+  public final class ValueHolderImpl<T> implements androidx.animation.ValueHolder<T> {
+    ctor public ValueHolderImpl(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public T! component1();
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> component2();
+    method public androidx.animation.ValueHolderImpl<T> copy(T! value, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+    method public kotlin.jvm.functions.Function3<T,T,java.lang.Float,T> getInterpolator();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+}
+
diff --git a/ui/ui-animation/api/0.1.0-dev04.txt b/ui/ui-animation/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..fc57f9b
--- /dev/null
+++ b/ui/ui-animation/api/0.1.0-dev04.txt
@@ -0,0 +1,44 @@
+// Signature format: 3.0
+package androidx.ui.animation {
+
+  public final class AnimatedValueEffectsKt {
+    ctor public AnimatedValueEffectsKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedValue<androidx.ui.graphics.Color>> animatedColor(androidx.ui.graphics.Color initVal);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedFloat> animatedFloat(float initVal);
+    method @CheckResult(suggest="+") public static <T> androidx.compose.Effect<androidx.animation.AnimatedValue<T>> animatedValue(T? initVal, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+  }
+
+  public final class ColorPropKey implements androidx.animation.PropKey<androidx.ui.graphics.Color> {
+    ctor public ColorPropKey();
+    method public androidx.ui.graphics.Color interpolate(androidx.ui.graphics.Color a, androidx.ui.graphics.Color b, float fraction);
+  }
+
+  public final class CrossfadeKt {
+    ctor public CrossfadeKt();
+    method public static <T> void Crossfade(T? current, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> children);
+  }
+
+  public final class DpPropKey implements androidx.animation.PropKey<androidx.ui.core.Dp> {
+    ctor public DpPropKey();
+    method public androidx.ui.core.Dp interpolate(androidx.ui.core.Dp a, androidx.ui.core.Dp b, float fraction);
+  }
+
+  public final class PxPositionPropKey implements androidx.animation.PropKey<androidx.ui.core.PxPosition> {
+    ctor public PxPositionPropKey();
+    method public androidx.ui.core.PxPosition interpolate(androidx.ui.core.PxPosition a, androidx.ui.core.PxPosition b, float fraction);
+  }
+
+  public final class PxPropKey implements androidx.animation.PropKey<androidx.ui.core.Px> {
+    ctor public PxPropKey();
+    method public androidx.ui.core.Px interpolate(androidx.ui.core.Px a, androidx.ui.core.Px b, float fraction);
+  }
+
+  public final class TransitionKt {
+    ctor public TransitionKt();
+    method public static <T> void Transition(androidx.animation.TransitionDefinition<T> definition, T? toState, androidx.animation.AnimationClockObservable clock = +ambient(AnimationClockAmbient), T? initState = toState, kotlin.jvm.functions.Function1<? super T,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super androidx.animation.TransitionState,kotlin.Unit> children);
+    method public static boolean getTransitionsEnabled();
+    method public static void setTransitionsEnabled(boolean p);
+  }
+
+}
+
diff --git a/ui/ui-animation/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-animation/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..fc57f9b
--- /dev/null
+++ b/ui/ui-animation/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,44 @@
+// Signature format: 3.0
+package androidx.ui.animation {
+
+  public final class AnimatedValueEffectsKt {
+    ctor public AnimatedValueEffectsKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedValue<androidx.ui.graphics.Color>> animatedColor(androidx.ui.graphics.Color initVal);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedFloat> animatedFloat(float initVal);
+    method @CheckResult(suggest="+") public static <T> androidx.compose.Effect<androidx.animation.AnimatedValue<T>> animatedValue(T? initVal, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+  }
+
+  public final class ColorPropKey implements androidx.animation.PropKey<androidx.ui.graphics.Color> {
+    ctor public ColorPropKey();
+    method public androidx.ui.graphics.Color interpolate(androidx.ui.graphics.Color a, androidx.ui.graphics.Color b, float fraction);
+  }
+
+  public final class CrossfadeKt {
+    ctor public CrossfadeKt();
+    method public static <T> void Crossfade(T? current, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> children);
+  }
+
+  public final class DpPropKey implements androidx.animation.PropKey<androidx.ui.core.Dp> {
+    ctor public DpPropKey();
+    method public androidx.ui.core.Dp interpolate(androidx.ui.core.Dp a, androidx.ui.core.Dp b, float fraction);
+  }
+
+  public final class PxPositionPropKey implements androidx.animation.PropKey<androidx.ui.core.PxPosition> {
+    ctor public PxPositionPropKey();
+    method public androidx.ui.core.PxPosition interpolate(androidx.ui.core.PxPosition a, androidx.ui.core.PxPosition b, float fraction);
+  }
+
+  public final class PxPropKey implements androidx.animation.PropKey<androidx.ui.core.Px> {
+    ctor public PxPropKey();
+    method public androidx.ui.core.Px interpolate(androidx.ui.core.Px a, androidx.ui.core.Px b, float fraction);
+  }
+
+  public final class TransitionKt {
+    ctor public TransitionKt();
+    method public static <T> void Transition(androidx.animation.TransitionDefinition<T> definition, T? toState, androidx.animation.AnimationClockObservable clock = +ambient(AnimationClockAmbient), T? initState = toState, kotlin.jvm.functions.Function1<? super T,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super androidx.animation.TransitionState,kotlin.Unit> children);
+    method public static boolean getTransitionsEnabled();
+    method public static void setTransitionsEnabled(boolean p);
+  }
+
+}
+
diff --git a/ui/ui-animation/api/res-0.1.0-dev04.txt b/ui/ui-animation/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-animation/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-animation/api/restricted_0.1.0-dev04.txt b/ui/ui-animation/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..fc57f9b
--- /dev/null
+++ b/ui/ui-animation/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,44 @@
+// Signature format: 3.0
+package androidx.ui.animation {
+
+  public final class AnimatedValueEffectsKt {
+    ctor public AnimatedValueEffectsKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedValue<androidx.ui.graphics.Color>> animatedColor(androidx.ui.graphics.Color initVal);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.animation.AnimatedFloat> animatedFloat(float initVal);
+    method @CheckResult(suggest="+") public static <T> androidx.compose.Effect<androidx.animation.AnimatedValue<T>> animatedValue(T? initVal, kotlin.jvm.functions.Function3<? super T,? super T,? super java.lang.Float,? extends T> interpolator);
+  }
+
+  public final class ColorPropKey implements androidx.animation.PropKey<androidx.ui.graphics.Color> {
+    ctor public ColorPropKey();
+    method public androidx.ui.graphics.Color interpolate(androidx.ui.graphics.Color a, androidx.ui.graphics.Color b, float fraction);
+  }
+
+  public final class CrossfadeKt {
+    ctor public CrossfadeKt();
+    method public static <T> void Crossfade(T? current, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> children);
+  }
+
+  public final class DpPropKey implements androidx.animation.PropKey<androidx.ui.core.Dp> {
+    ctor public DpPropKey();
+    method public androidx.ui.core.Dp interpolate(androidx.ui.core.Dp a, androidx.ui.core.Dp b, float fraction);
+  }
+
+  public final class PxPositionPropKey implements androidx.animation.PropKey<androidx.ui.core.PxPosition> {
+    ctor public PxPositionPropKey();
+    method public androidx.ui.core.PxPosition interpolate(androidx.ui.core.PxPosition a, androidx.ui.core.PxPosition b, float fraction);
+  }
+
+  public final class PxPropKey implements androidx.animation.PropKey<androidx.ui.core.Px> {
+    ctor public PxPropKey();
+    method public androidx.ui.core.Px interpolate(androidx.ui.core.Px a, androidx.ui.core.Px b, float fraction);
+  }
+
+  public final class TransitionKt {
+    ctor public TransitionKt();
+    method public static <T> void Transition(androidx.animation.TransitionDefinition<T> definition, T? toState, androidx.animation.AnimationClockObservable clock = +ambient(AnimationClockAmbient), T? initState = toState, kotlin.jvm.functions.Function1<? super T,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super androidx.animation.TransitionState,kotlin.Unit> children);
+    method public static boolean getTransitionsEnabled();
+    method public static void setTransitionsEnabled(boolean p);
+  }
+
+}
+
diff --git a/ui/ui-core/api/0.1.0-dev04.txt b/ui/ui-core/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..1844fff
--- /dev/null
+++ b/ui/ui-core/api/0.1.0-dev04.txt
@@ -0,0 +1,2714 @@
+// Signature format: 3.0
+package androidx.ui {
+
+  public final class MathHelpersKt {
+    ctor public MathHelpersKt();
+    method public static float lerp(float start, float stop, float fraction);
+    method public static int lerp(int start, int stop, float fraction);
+    method public static long lerp(long start, long stop, float fraction);
+    method public static String toHexString(int);
+    method public static String toStringAsFixed(float, int digits);
+  }
+
+  public enum VertexMode {
+    method public final android.graphics.Canvas.VertexMode toFrameworkVertexMode();
+    enum_constant public static final androidx.ui.VertexMode triangleFan;
+    enum_constant public static final androidx.ui.VertexMode triangleStrip;
+    enum_constant public static final androidx.ui.VertexMode triangles;
+  }
+
+  public final class Vertices {
+    ctor public Vertices(androidx.ui.VertexMode vertexMode, java.util.List<androidx.ui.engine.geometry.Offset> positions, java.util.List<androidx.ui.engine.geometry.Offset> textureCoordinates, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Integer> indices);
+    method public int[] getColors();
+    method public short[] getIndices();
+    method public float[] getPositions();
+    method public float[] getTextureCoordinates();
+    method public androidx.ui.VertexMode getVertexMode();
+    property public final int[] colors;
+    property public final short[] indices;
+    property public final float[] positions;
+    property public final float[] textureCoordinates;
+  }
+
+}
+
+package androidx.ui.autofill {
+
+  public interface Autofill {
+    method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+    method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+  }
+
+  public final class AutofillNode {
+    ctor public AutofillNode(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> component1();
+    method public android.graphics.Rect? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? component3();
+    method public androidx.ui.autofill.AutofillNode copy(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> getAutofillTypes();
+    method public android.graphics.Rect? getBoundingBox();
+    method public int getId();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? getOnFill();
+    method public void setBoundingBox(android.graphics.Rect? p);
+    property public final int id;
+  }
+
+  public final class AutofillTree {
+    ctor public AutofillTree();
+    method public java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> getChildren();
+    method public kotlin.Unit? performAutofill(int id, String value);
+    method public operator void plusAssign(androidx.ui.autofill.AutofillNode autofillNode);
+    property public final java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> children;
+  }
+
+  public enum AutofillType {
+    enum_constant public static final androidx.ui.autofill.AutofillType EmailAddress;
+    enum_constant public static final androidx.ui.autofill.AutofillType Name;
+  }
+
+}
+
+package androidx.ui.core {
+
+  public enum Alignment {
+    method public final androidx.ui.core.IntPxPosition align(androidx.ui.core.IntPxSize size);
+    enum_constant public static final androidx.ui.core.Alignment BottomCenter;
+    enum_constant public static final androidx.ui.core.Alignment BottomLeft;
+    enum_constant public static final androidx.ui.core.Alignment BottomRight;
+    enum_constant public static final androidx.ui.core.Alignment Center;
+    enum_constant public static final androidx.ui.core.Alignment CenterLeft;
+    enum_constant public static final androidx.ui.core.Alignment CenterRight;
+    enum_constant public static final androidx.ui.core.Alignment TopCenter;
+    enum_constant public static final androidx.ui.core.Alignment TopLeft;
+    enum_constant public static final androidx.ui.core.Alignment TopRight;
+  }
+
+  public abstract sealed class AlignmentLine {
+    method public final boolean getHorizontal();
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static androidx.ui.core.IntPx merge(androidx.ui.core.AlignmentLine, androidx.ui.core.IntPx position1, androidx.ui.core.IntPx position2);
+  }
+
+  public final class Bounds {
+    ctor public Bounds(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.core.Bounds copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    ctor public Constraints();
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.Constraints copy(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    method public androidx.ui.core.IntPx getMaxHeight();
+    method public androidx.ui.core.IntPx getMaxWidth();
+    method public androidx.ui.core.IntPx getMinHeight();
+    method public androidx.ui.core.IntPx getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints tightConstraints(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForHeight(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForWidth(androidx.ui.core.IntPx width);
+  }
+
+  public final class ConstraintsKt {
+    ctor public ConstraintsKt();
+    method public static androidx.ui.core.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasTightHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasTightWidth(androidx.ui.core.Constraints);
+    method public static boolean isTight(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset(androidx.ui.core.Constraints, androidx.ui.core.IntPx horizontal = 0.ipx, androidx.ui.core.IntPx vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints tightMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints tightMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints withTight(androidx.ui.core.Constraints, androidx.ui.core.IntPx? width = null, androidx.ui.core.IntPx? height = null);
+  }
+
+  public final class ConsumedData {
+    ctor public ConsumedData(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    ctor public ConsumedData();
+    method public androidx.ui.core.PxPosition component1();
+    method public boolean component2();
+    method public androidx.ui.core.ConsumedData copy(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    method public boolean getDownChange();
+    method public androidx.ui.core.PxPosition getPositionChange();
+  }
+
+  public final class Density {
+    ctor public Density(float density, float fontScale);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.core.Density copy(float density, float fontScale);
+    method public float getDensity();
+    method public float getFontScale();
+  }
+
+  public final class DensityKt {
+    ctor public DensityKt();
+    method public static androidx.ui.core.Density Density(android.content.Context context);
+    method public static androidx.ui.core.DensityScope DensityScope(androidx.ui.core.Density density);
+    method public static <R> R! withDensity(androidx.ui.core.Density density, kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
+  }
+
+  public interface DensityScope {
+    method public androidx.ui.core.Density getDensity();
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.Px);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.Dp toDp(float);
+    method public default androidx.ui.core.Dp toDp(int);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.PxSize toPx-s2Mz6-8(long);
+    method public default androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.Bounds);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Dp);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Px);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.TextUnit toSp(float);
+    method public default androidx.ui.core.TextUnit toSp(int);
+    property public abstract androidx.ui.core.Density density;
+  }
+
+  public enum Direction {
+    enum_constant public static final androidx.ui.core.Direction DOWN;
+    enum_constant public static final androidx.ui.core.Direction LEFT;
+    enum_constant public static final androidx.ui.core.Direction RIGHT;
+    enum_constant public static final androidx.ui.core.Direction UP;
+  }
+
+  public final class Dp implements java.lang.Comparable<androidx.ui.core.Dp> {
+    ctor public Dp(float value);
+    method public inline operator int compareTo(androidx.ui.core.Dp other);
+    method public float component1();
+    method public androidx.ui.core.Dp copy(float value);
+    method public inline operator androidx.ui.core.Dp div(float other);
+    method public inline operator androidx.ui.core.Dp div(int other);
+    method public inline operator float div(androidx.ui.core.Dp other);
+    method public inline operator float div-KkBJKWw(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Dp minus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp plus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp times(float other);
+    method public inline operator androidx.ui.core.Dp times(int other);
+    method public inline operator float times(androidx.ui.core.Dp other);
+    method public inline operator float times-KkBJKWw(float other);
+    method public inline operator androidx.ui.core.Dp unaryMinus();
+    field public static final androidx.ui.core.Dp.Companion! Companion;
+  }
+
+  public static final class Dp.Companion {
+    method public androidx.ui.core.Dp getHairline();
+    method public androidx.ui.core.Dp getInfinity();
+    property public final androidx.ui.core.Dp Hairline;
+    property public final androidx.ui.core.Dp Infinity;
+  }
+
+  public final inline class DpCubed implements java.lang.Comparable<androidx.ui.core.DpCubed> {
+    ctor public DpCubed();
+    method public inline operator int compareTo-zqpl1kg(float p);
+    method public static inline operator int compareTo-zqpl1kg(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator androidx.ui.core.Dp div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float plus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class DpInverse implements java.lang.Comparable<androidx.ui.core.DpInverse> {
+    ctor public DpInverse();
+    method public inline operator int compareTo-ASDJgtI(float p);
+    method public static inline operator int compareTo-ASDJgtI(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-ASDJgtI(float $this, float dimension);
+    method public static inline operator float plus-ASDJgtI(float $this, float dimension);
+    method public static inline operator androidx.ui.core.Dp times-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float times-zqpl1kg(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class DpKt {
+    ctor public DpKt();
+    method public static inline long Position(androidx.ui.core.Dp x, androidx.ui.core.Dp y);
+    method public static inline long Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static long center-s2Mz6-8(long);
+    method public static inline androidx.ui.core.Dp coerceAtLeast(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue);
+    method public static inline androidx.ui.core.Dp coerceAtMost(androidx.ui.core.Dp, androidx.ui.core.Dp maximumValue);
+    method public static inline androidx.ui.core.Dp coerceIn(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue, androidx.ui.core.Dp maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Dp other);
+    method public static inline operator float div(double, androidx.ui.core.Dp other);
+    method public static inline operator float div(int, androidx.ui.core.Dp other);
+    method public static androidx.ui.core.Dp getDistance-JXBE4ew(long);
+    method public static inline androidx.ui.core.Dp getDp(int);
+    method public static inline androidx.ui.core.Dp getDp(double);
+    method public static inline androidx.ui.core.Dp getDp(float);
+    method public static inline androidx.ui.core.Dp getHeight(androidx.ui.core.Bounds);
+    method public static inline androidx.ui.core.Dp getWidth(androidx.ui.core.Bounds);
+    method public static inline boolean isFinite(androidx.ui.core.Dp);
+    method public static androidx.ui.core.Dp lerp(androidx.ui.core.Dp start, androidx.ui.core.Dp stop, float fraction);
+    method public static long lerp-SuMVOfk(long start, long stop, float fraction);
+    method public static inline androidx.ui.core.Dp max(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline androidx.ui.core.Dp min(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline operator androidx.ui.core.Dp times(float, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(double, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(int, androidx.ui.core.Dp other);
+    method public static inline operator long times-Ze-JISM(int, long size);
+    method public static inline operator long times-doH9uME(float, long size);
+    method public static inline operator long times-nKWVx08(double, long size);
+    method public static androidx.ui.core.Bounds toBounds-s2Mz6-8(long);
+    method public static inline long toSize(androidx.ui.core.Bounds);
+  }
+
+  public final inline class DpSquared implements java.lang.Comparable<androidx.ui.core.DpSquared> {
+    ctor public DpSquared();
+    method public inline operator int compareTo-KkBJKWw(float p);
+    method public static inline operator int compareTo-KkBJKWw(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Dp div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-KkBJKWw(float $this, float other);
+    method public static inline operator float plus-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static String toString-impl(float $this);
+  }
+
+  public interface DrawModifier extends androidx.ui.core.Modifier.Element {
+    method public void draw(androidx.ui.core.Density density, kotlin.jvm.functions.Function0<kotlin.Unit> drawContent, androidx.ui.graphics.Canvas canvas, androidx.ui.core.PxSize size);
+  }
+
+  public final class DrawModifierKt {
+    ctor public DrawModifierKt();
+    method public static androidx.ui.core.DrawModifier draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+    method public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+  }
+
+  public interface DrawReceiver extends androidx.ui.core.DensityScope {
+    method public void drawChildren();
+  }
+
+  public final class Duration implements java.lang.Comparable<androidx.ui.core.Duration> {
+    ctor public Duration(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Duration other);
+    method public long component1();
+    method public androidx.ui.core.Duration copy(long nanoseconds);
+    method public operator androidx.ui.core.Duration div(int quotient);
+    method public operator androidx.ui.core.Duration div(double quotient);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration plus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration times(int factor);
+    method public operator androidx.ui.core.Duration times(double factor);
+    field public static final androidx.ui.core.Duration.Companion! Companion;
+  }
+
+  public static final class Duration.Companion {
+    method public androidx.ui.core.Duration getZero();
+    property public final androidx.ui.core.Duration Zero;
+  }
+
+  public final class Durations {
+    ctor public Durations();
+    method public static androidx.ui.core.Duration Duration(long days = 0, long hours = 0, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0, long nanoseconds = 0);
+    method public static androidx.ui.core.Duration getDays(long);
+    method public static androidx.ui.core.Duration getDays(int);
+    method public static androidx.ui.core.Duration getHours(long);
+    method public static androidx.ui.core.Duration getHours(int);
+    method public static androidx.ui.core.Duration getMicroseconds(long);
+    method public static androidx.ui.core.Duration getMicroseconds(int);
+    method public static androidx.ui.core.Duration getMilliseconds(long);
+    method public static androidx.ui.core.Duration getMilliseconds(int);
+    method public static androidx.ui.core.Duration getMinutes(long);
+    method public static androidx.ui.core.Duration getMinutes(int);
+    method public static androidx.ui.core.Duration getNanoseconds(long);
+    method public static androidx.ui.core.Duration getNanoseconds(int);
+    method public static long getNanosecondsPerDay();
+    method public static long getNanosecondsPerHour();
+    method public static long getNanosecondsPerMillisecond();
+    method public static long getNanosecondsPerMinute();
+    method public static long getNanosecondsPerSecond();
+    method public static androidx.ui.core.Duration getSeconds(long);
+    method public static androidx.ui.core.Duration getSeconds(int);
+    method public static long inDays(androidx.ui.core.Duration);
+    method public static long inHours(androidx.ui.core.Duration);
+    method public static long inMicroseconds(androidx.ui.core.Duration);
+    method public static long inMilliseconds(androidx.ui.core.Duration);
+    method public static long inMinutes(androidx.ui.core.Duration);
+    method public static long inSeconds(androidx.ui.core.Duration);
+    field public static final long HoursPerDay = 24L; // 0x18L
+    field public static final long MicrosecondsPerMillisecond = 1000L; // 0x3e8L
+    field public static final long MillisecondsPerSecond = 1000L; // 0x3e8L
+    field public static final long MinutesPerHour = 60L; // 0x3cL
+    field public static final long NanosecondsPerMicrosecond = 1000L; // 0x3e8L
+    field public static final long SecondsPerMinute = 60L; // 0x3cL
+  }
+
+  public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+  public final class InlineClassHelperKt {
+    ctor public InlineClassHelperKt();
+    method public static inline long packFloats(float val1, float val2);
+    method public static inline long packInts(int val1, int val2);
+    method public static inline float unpackFloat1(long value);
+    method public static inline float unpackFloat2(long value);
+    method public static inline int unpackInt1(long value);
+    method public static inline int unpackInt2(long value);
+  }
+
+  public final class IntPx implements java.lang.Comparable<androidx.ui.core.IntPx> {
+    ctor public IntPx(int value);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public int component1();
+    method public androidx.ui.core.IntPx copy(int value);
+    method public operator androidx.ui.core.IntPx div(float other);
+    method public operator androidx.ui.core.IntPx div(double other);
+    method public operator androidx.ui.core.IntPx div(int other);
+    method public int getValue();
+    method public operator androidx.ui.core.IntPx minus(androidx.ui.core.IntPx other);
+    method public operator androidx.ui.core.IntPx plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.IntPx rem(int other);
+    method public operator androidx.ui.core.IntPx times(float other);
+    method public operator androidx.ui.core.IntPx times(double other);
+    method public operator androidx.ui.core.IntPx times(int other);
+    method public operator androidx.ui.core.IntPx unaryMinus();
+    field public static final androidx.ui.core.IntPx.Companion! Companion;
+  }
+
+  public static final class IntPx.Companion {
+    method public androidx.ui.core.IntPx getInfinity();
+    method public androidx.ui.core.IntPx getZero();
+    property public final androidx.ui.core.IntPx Infinity;
+    property public final androidx.ui.core.IntPx Zero;
+  }
+
+  public final class IntPxBounds {
+    ctor public IntPxBounds(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.IntPxBounds copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx getBottom();
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getTop();
+  }
+
+  public final class IntPxKt {
+    ctor public IntPxKt();
+    method public static inline androidx.ui.core.IntPxPosition IntPxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.IntPxSize IntPxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static androidx.ui.core.IntPxPosition center(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPx coerceAtLeast(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue);
+    method public static inline androidx.ui.core.IntPx coerceAtMost(androidx.ui.core.IntPx, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx coerceIn(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx getHeight(androidx.ui.core.IntPxBounds);
+    method public static inline androidx.ui.core.IntPx getIpx(int);
+    method public static inline androidx.ui.core.IntPx getWidth(androidx.ui.core.IntPxBounds);
+    method public static inline boolean isFinite(androidx.ui.core.IntPx);
+    method public static androidx.ui.core.IntPx lerp(androidx.ui.core.IntPx start, androidx.ui.core.IntPx stop, float fraction);
+    method public static androidx.ui.core.IntPxPosition lerp(androidx.ui.core.IntPxPosition start, androidx.ui.core.IntPxPosition stop, float fraction);
+    method public static inline androidx.ui.core.IntPx max(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx min(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx round(androidx.ui.core.Px);
+    method public static inline operator androidx.ui.core.IntPx times(float, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(double, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(int, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPxSize times(int, androidx.ui.core.IntPxSize size);
+    method public static inline androidx.ui.core.Px toPx(androidx.ui.core.IntPx);
+    method public static inline androidx.ui.core.PxPosition toPxPosition(androidx.ui.core.IntPxPosition);
+    method public static inline androidx.ui.core.PxSize toPxSize(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPxSize toSize(androidx.ui.core.IntPxBounds);
+  }
+
+  public final class IntPxPosition {
+    method public androidx.ui.core.IntPxPosition copy(long value);
+    method public inline androidx.ui.core.IntPx getX();
+    method public inline androidx.ui.core.IntPx getY();
+    method public inline operator androidx.ui.core.IntPxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition unaryMinus();
+    property public final inline androidx.ui.core.IntPx x;
+    property public final inline androidx.ui.core.IntPx y;
+    field public static final androidx.ui.core.IntPxPosition.Companion! Companion;
+  }
+
+  public static final class IntPxPosition.Companion {
+    method public androidx.ui.core.IntPxPosition getOrigin();
+    property public final androidx.ui.core.IntPxPosition Origin;
+  }
+
+  public final class IntPxSize {
+    method public androidx.ui.core.IntPxSize copy(long value);
+    method public inline operator androidx.ui.core.IntPxSize div(int other);
+    method public inline androidx.ui.core.IntPx getHeight();
+    method public inline androidx.ui.core.IntPx getWidth();
+    method public inline operator androidx.ui.core.IntPxSize times(int other);
+    property public final inline androidx.ui.core.IntPx height;
+    property public final inline androidx.ui.core.IntPx width;
+  }
+
+  public interface IntrinsicMeasurable {
+    method public Object? getParentData();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    property public abstract Object? parentData;
+  }
+
+  public final class IntrinsicMeasurableKt {
+    ctor public IntrinsicMeasurableKt();
+  }
+
+  public interface LayoutCoordinates {
+    method public androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutCoordinates child, androidx.ui.core.PxPosition childLocal);
+    method public androidx.ui.core.LayoutCoordinates? getParentCoordinates();
+    method public androidx.ui.core.PxPosition getPosition();
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getProvidedAlignmentLines();
+    method public androidx.ui.core.PxSize getSize();
+    method public androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.PxPosition global);
+    method public androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.PxPosition local);
+    method public androidx.ui.core.PxPosition localToRoot(androidx.ui.core.PxPosition local);
+    property public abstract androidx.ui.core.LayoutCoordinates? parentCoordinates;
+    property public abstract androidx.ui.core.PxPosition position;
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> providedAlignmentLines;
+    property public abstract androidx.ui.core.PxSize size;
+  }
+
+  public final class LayoutCoordinatesKt {
+    ctor public LayoutCoordinatesKt();
+    method public static inline androidx.ui.core.PxPosition getGlobalPosition(androidx.ui.core.LayoutCoordinates);
+    method public static inline androidx.ui.core.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+  public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
+    method public default androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
+    method public default androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public default Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
+    method public default androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
+    method public default androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
+  }
+
+  public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+  }
+
+  public abstract class MeasureScope implements androidx.ui.core.DensityScope {
+    ctor public MeasureScope();
+    method public final androidx.ui.core.MeasureScope.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines = emptyMap(), kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+  }
+
+  public static interface MeasureScope.LayoutResult {
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getAlignmentLines();
+    method public androidx.ui.core.IntPx getHeight();
+    method public androidx.ui.core.IntPx getWidth();
+    method public void placeChildren(androidx.ui.core.Placeable.PlacementScope placementScope);
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines;
+    property public abstract androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPx width;
+  }
+
+  public final class MeasureScopeKt {
+    ctor public MeasureScopeKt();
+  }
+
+  public interface Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public default infix androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+  }
+
+  public static interface Modifier.Element extends androidx.ui.core.Modifier {
+    method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+  }
+
+  public static final class Modifier.None implements androidx.ui.core.Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+    field public static final androidx.ui.core.Modifier.None! INSTANCE;
+  }
+
+  public abstract class Placeable {
+    ctor public Placeable();
+    method public abstract operator androidx.ui.core.IntPx? get(androidx.ui.core.AlignmentLine line);
+    method public final androidx.ui.core.IntPx getHeight();
+    method public abstract androidx.ui.core.IntPxSize getSize();
+    method public final androidx.ui.core.IntPx getWidth();
+    method protected abstract void performPlace(androidx.ui.core.IntPxPosition position);
+    property public final androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPxSize size;
+    property public final androidx.ui.core.IntPx width;
+    field public static final androidx.ui.core.Placeable.PlacementScope! PlacementScope;
+  }
+
+  public static final class Placeable.PlacementScope {
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.PxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.Px x, androidx.ui.core.Px y);
+  }
+
+  public enum PointerEventPass {
+    enum_constant public static final androidx.ui.core.PointerEventPass InitialDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostUp;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreUp;
+  }
+
+  public final class PointerInputChange {
+    ctor public PointerInputChange(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.PointerInputData component3();
+    method public androidx.ui.core.ConsumedData component4();
+    method public androidx.ui.core.PointerInputChange copy(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public androidx.ui.core.ConsumedData getConsumed();
+    method public androidx.ui.core.PointerInputData getCurrent();
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPrevious();
+  }
+
+  public final class PointerInputData {
+    ctor public PointerInputData(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    ctor public PointerInputData();
+    method public androidx.ui.core.Uptime? component1();
+    method public androidx.ui.core.PxPosition? component2();
+    method public boolean component3();
+    method public androidx.ui.core.PointerInputData copy(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    method public boolean getDown();
+    method public androidx.ui.core.PxPosition? getPosition();
+    method public androidx.ui.core.Uptime? getUptime();
+  }
+
+  public final class PointerInputKt {
+    ctor public PointerInputKt();
+    method public static boolean anyPositionChangeConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDown(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDownIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUp(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUpIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumeDownChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumePositionChange(androidx.ui.core.PointerInputChange, androidx.ui.core.Px consumedDx, androidx.ui.core.Px consumedDy);
+    method public static androidx.ui.core.PxPosition positionChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PxPosition positionChangeIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChanged(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
+  }
+
+  public final inline class Position {
+    ctor public Position();
+    method public static long constructor-impl(internal long value);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getX-impl(long $this);
+    method public static androidx.ui.core.Dp getY-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long minus-JXBE4ew(long $this, long other);
+    method public static inline operator long plus-JXBE4ew(long $this, long other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class Px implements java.lang.Comparable<androidx.ui.core.Px> {
+    ctor public Px(float value);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public float component1();
+    method public androidx.ui.core.Px copy(float value);
+    method public inline operator androidx.ui.core.Px div(float other);
+    method public inline operator androidx.ui.core.Px div(int other);
+    method public inline operator float div(androidx.ui.core.Px other);
+    method public inline operator float div-kVJEwbQ(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px times(float other);
+    method public inline operator androidx.ui.core.Px times(int other);
+    method public inline operator float times(androidx.ui.core.Px other);
+    method public inline operator float times-kVJEwbQ(float other);
+    method public inline operator androidx.ui.core.Px unaryMinus();
+    field public static final androidx.ui.core.Px.Companion! Companion;
+  }
+
+  public static final class Px.Companion {
+    method public androidx.ui.core.Px getInfinity();
+    method public androidx.ui.core.Px getZero();
+    property public final androidx.ui.core.Px Infinity;
+    property public final androidx.ui.core.Px Zero;
+  }
+
+  public final class PxBounds {
+    ctor public PxBounds(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px component1();
+    method public androidx.ui.core.Px component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.core.Px component4();
+    method public androidx.ui.core.PxBounds copy(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px getBottom();
+    method public androidx.ui.core.Px getLeft();
+    method public androidx.ui.core.Px getRight();
+    method public androidx.ui.core.Px getTop();
+  }
+
+  public final inline class PxCubed implements java.lang.Comparable<androidx.ui.core.PxCubed> {
+    ctor public PxCubed();
+    method public inline operator int compareTo-syUR1PY(float p);
+    method public static inline operator int compareTo-syUR1PY(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-syUR1PY(float $this, float dimension);
+    method public static inline operator float plus-syUR1PY(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class PxInverse implements java.lang.Comparable<androidx.ui.core.PxInverse> {
+    ctor public PxInverse();
+    method public inline operator int compareTo-MXEAIGs(float p);
+    method public static inline operator int compareTo-MXEAIGs(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float plus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-syUR1PY(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class PxKt {
+    ctor public PxKt();
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.Px x, androidx.ui.core.Px y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.Px width, androidx.ui.core.Px height);
+    method public static androidx.ui.core.PxPosition center(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px coerceAtLeast(androidx.ui.core.Px, androidx.ui.core.Px minimumValue);
+    method public static inline androidx.ui.core.Px coerceAtMost(androidx.ui.core.Px, androidx.ui.core.Px maximumValue);
+    method public static inline androidx.ui.core.Px coerceIn(androidx.ui.core.Px, androidx.ui.core.Px minimumValue, androidx.ui.core.Px maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Px other);
+    method public static inline operator float div(double, androidx.ui.core.Px other);
+    method public static inline operator float div(int, androidx.ui.core.Px other);
+    method public static androidx.ui.core.Px getDistance(androidx.ui.core.PxPosition);
+    method public static inline androidx.ui.core.Px getHeight(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px! getMinDimension(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px getPx(int);
+    method public static inline androidx.ui.core.Px getPx(double);
+    method public static inline androidx.ui.core.Px getPx(float);
+    method public static inline androidx.ui.core.Px getWidth(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px lerp(androidx.ui.core.Px start, androidx.ui.core.Px stop, float fraction);
+    method public static androidx.ui.core.PxPosition lerp(androidx.ui.core.PxPosition start, androidx.ui.core.PxPosition stop, float fraction);
+    method public static inline androidx.ui.core.Px max(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.Px min(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.IntPxPosition round(androidx.ui.core.PxPosition);
+    method public static inline operator androidx.ui.core.Px times(float, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(double, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(int, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.PxSize times(int, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(float, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(double, androidx.ui.core.PxSize size);
+    method public static androidx.ui.core.PxBounds toBounds(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.engine.geometry.Offset toOffset(androidx.ui.core.PxPosition);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxBounds);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxSize);
+    method public static androidx.ui.core.PxSize toSize(androidx.ui.core.PxBounds);
+  }
+
+  public final class PxPosition {
+    method public androidx.ui.core.PxPosition copy(long value);
+    method public inline androidx.ui.core.Px getX();
+    method public inline androidx.ui.core.Px getY();
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition unaryMinus();
+    property public final inline androidx.ui.core.Px x;
+    property public final inline androidx.ui.core.Px y;
+    field public static final androidx.ui.core.PxPosition.Companion! Companion;
+  }
+
+  public static final class PxPosition.Companion {
+    method public androidx.ui.core.PxPosition getOrigin();
+    property public final androidx.ui.core.PxPosition Origin;
+  }
+
+  public final class PxSize {
+    method public androidx.ui.core.PxSize copy(long value);
+    method public inline operator androidx.ui.core.PxSize div(int other);
+    method public inline operator androidx.ui.core.PxSize div(float other);
+    method public inline operator androidx.ui.core.PxSize div(double other);
+    method public inline androidx.ui.core.Px getHeight();
+    method public inline androidx.ui.core.Px getWidth();
+    method public inline operator androidx.ui.core.PxSize times(int other);
+    method public inline operator androidx.ui.core.PxSize times(float other);
+    method public inline operator androidx.ui.core.PxSize times(double other);
+    property public final inline androidx.ui.core.Px height;
+    property public final inline androidx.ui.core.Px width;
+    field public static final androidx.ui.core.PxSize.Companion! Companion;
+  }
+
+  public static final class PxSize.Companion {
+    method public androidx.ui.core.PxSize getZero();
+    property public final androidx.ui.core.PxSize Zero;
+  }
+
+  public final inline class PxSquared implements java.lang.Comparable<androidx.ui.core.PxSquared> {
+    ctor public PxSquared();
+    method public inline operator int compareTo-kVJEwbQ(float p);
+    method public static inline operator int compareTo-kVJEwbQ(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Px div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator float div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-kVJEwbQ(float $this, float other);
+    method public static inline operator float plus-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class RectHelperKt {
+    ctor public RectHelperKt();
+    method public static android.graphics.Rect toFrameworkRect(androidx.ui.engine.geometry.Rect);
+    method public static android.graphics.RectF toFrameworkRectF(androidx.ui.engine.geometry.Rect);
+  }
+
+  public final inline class Size {
+    ctor public Size();
+    method public static long constructor-impl(internal long value);
+    method public static inline operator long div-impl(long $this, int other);
+    method public static inline operator long div-impl(long $this, float other);
+    method public static inline operator long div-impl(long $this, double other);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getHeight-impl(long $this);
+    method public static androidx.ui.core.Dp getWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long times-impl(long $this, int other);
+    method public static inline operator long times-impl(long $this, float other);
+    method public static inline operator long times-impl(long $this, double other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class TextUnit {
+    ctor public TextUnit(long packedValue);
+    method public inline operator int compareTo(androidx.ui.core.TextUnit other);
+    method public long component1();
+    method public androidx.ui.core.TextUnit copy(long packedValue);
+    method public inline operator androidx.ui.core.TextUnit div(float other);
+    method public inline operator androidx.ui.core.TextUnit div(double other);
+    method public inline operator androidx.ui.core.TextUnit div(int other);
+    method public inline operator float div(androidx.ui.core.TextUnit other);
+    method public long getPackedValue();
+    method public androidx.ui.core.TextUnitType getType();
+    method public float getValue();
+    method public boolean isEm();
+    method public boolean isInherit();
+    method public boolean isSp();
+    method public inline operator androidx.ui.core.TextUnit minus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit plus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit times(float other);
+    method public inline operator androidx.ui.core.TextUnit times(double other);
+    method public inline operator androidx.ui.core.TextUnit times(int other);
+    method public inline operator androidx.ui.core.TextUnit unaryMinus();
+    property public final boolean isEm;
+    property public final boolean isInherit;
+    property public final boolean isSp;
+    property public final androidx.ui.core.TextUnitType type;
+    property public final float value;
+    field public static final androidx.ui.core.TextUnit.Companion! Companion;
+  }
+
+  public static final class TextUnit.Companion {
+    method public androidx.ui.core.TextUnit Em(int value);
+    method public androidx.ui.core.TextUnit Em(float value);
+    method public androidx.ui.core.TextUnit Em(double value);
+    method public androidx.ui.core.TextUnit Sp(int value);
+    method public androidx.ui.core.TextUnit Sp(float value);
+    method public androidx.ui.core.TextUnit Sp(double value);
+    method public androidx.ui.core.TextUnit getInherit();
+    property public final androidx.ui.core.TextUnit Inherit;
+  }
+
+  public final class TextUnitKt {
+    ctor public TextUnitKt();
+    method public static inline androidx.ui.core.TextUnit coerceAtLeast(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue);
+    method public static inline androidx.ui.core.TextUnit coerceAtMost(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit maximumValue);
+    method public static inline androidx.ui.core.TextUnit coerceIn(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue, androidx.ui.core.TextUnit maximumValue);
+    method public static androidx.ui.core.TextUnit getEm(float);
+    method public static androidx.ui.core.TextUnit getEm(double);
+    method public static androidx.ui.core.TextUnit getEm(int);
+    method public static androidx.ui.core.TextUnit getSp(float);
+    method public static androidx.ui.core.TextUnit getSp(double);
+    method public static androidx.ui.core.TextUnit getSp(int);
+    method public static androidx.ui.core.TextUnit lerpTextUnit(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b, float t);
+    method public static inline androidx.ui.core.TextUnit max(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline androidx.ui.core.TextUnit min(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline operator androidx.ui.core.TextUnit times(float, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(double, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(int, androidx.ui.core.TextUnit other);
+  }
+
+  public enum TextUnitType {
+    enum_constant public static final androidx.ui.core.TextUnitType Em;
+    enum_constant public static final androidx.ui.core.TextUnitType Inherit;
+    enum_constant public static final androidx.ui.core.TextUnitType Sp;
+  }
+
+  public final class Uptime implements java.lang.Comparable<androidx.ui.core.Uptime> {
+    ctor public Uptime(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Uptime other);
+    method public long component1();
+    method public androidx.ui.core.Uptime copy(long nanoseconds);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Uptime minus(androidx.ui.core.Duration duration);
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Uptime other);
+    method public operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration duration);
+    field public static final androidx.ui.core.Uptime.Companion! Companion;
+  }
+
+  public static final class Uptime.Companion {
+    method public androidx.ui.core.Uptime getBoot();
+    property public final androidx.ui.core.Uptime Boot;
+  }
+
+  public final class UptimeKt {
+    ctor public UptimeKt();
+    method public static operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration, androidx.ui.core.Uptime uptime);
+  }
+
+  public final class Velocity {
+    ctor public Velocity(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.core.Velocity copy(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition getPixelsPerSecond();
+    method public operator androidx.ui.core.Velocity unaryMinus();
+    field public static final androidx.ui.core.Velocity.Companion! Companion;
+  }
+
+  public static final class Velocity.Companion {
+    method public androidx.ui.core.Velocity getZero();
+    property public final androidx.ui.core.Velocity Zero;
+  }
+
+  public final class VelocityKt {
+    ctor public VelocityKt();
+    method public static operator androidx.ui.core.Velocity minus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+    method public static operator androidx.ui.core.Velocity plus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+  }
+
+  public final class VerticalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+}
+
+package androidx.ui.engine.geometry {
+
+  public final class Offset implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Offset(float dx, float dy);
+    method public infix androidx.ui.engine.geometry.Rect and(androidx.ui.engine.geometry.Size other);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Offset copy(float dx, float dy);
+    method public operator androidx.ui.engine.geometry.Offset div(float operand);
+    method public float getDirection();
+    method public float getDistance();
+    method public float getDistanceSquared();
+    method public float getDx();
+    method public float getDy();
+    method public operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset plus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset rem(float operand);
+    method public androidx.ui.engine.geometry.Offset scale(float scaleX, float scaleY);
+    method public operator androidx.ui.engine.geometry.Offset times(float operand);
+    method public androidx.ui.engine.geometry.Offset translate(float translateX, float translateY);
+    method public androidx.ui.engine.geometry.Offset truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Offset unaryMinus();
+    field public static final androidx.ui.engine.geometry.Offset.Companion! Companion;
+  }
+
+  public static final class Offset.Companion {
+    method public androidx.ui.engine.geometry.Offset getInfinite();
+    method public androidx.ui.engine.geometry.Offset getZero();
+    method public boolean isValid(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Offset lerp(androidx.ui.engine.geometry.Offset start, androidx.ui.engine.geometry.Offset stop, float fraction);
+    property public final androidx.ui.engine.geometry.Offset infinite;
+    property public final androidx.ui.engine.geometry.Offset zero;
+  }
+
+  public interface OffsetBase {
+    method public float getDx();
+    method public float getDy();
+    method public default boolean isFinite();
+    method public default boolean isGreaterOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isGreaterThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isInfinite();
+    method public default boolean isLessOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isLessThan(androidx.ui.engine.geometry.OffsetBase other);
+    property public abstract float dx;
+    property public abstract float dy;
+  }
+
+  public final class OffsetKt {
+    ctor public OffsetKt();
+    method public static androidx.ui.core.PxPosition toPxPosition(androidx.ui.engine.geometry.Offset);
+  }
+
+  public abstract sealed class Outline {
+  }
+
+  public static final class Outline.Generic extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Generic(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path component1();
+    method public androidx.ui.engine.geometry.Outline.Generic copy(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path getPath();
+  }
+
+  public static final class Outline.Rectangle extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rectangle(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect component1();
+    method public androidx.ui.engine.geometry.Outline.Rectangle copy(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect getRect();
+  }
+
+  public static final class Outline.Rounded extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rounded(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect component1();
+    method public androidx.ui.engine.geometry.Outline.Rounded copy(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect getRrect();
+  }
+
+  public final class OutlineKt {
+    ctor public OutlineKt();
+    method public static void addOutline(androidx.ui.graphics.Path, androidx.ui.engine.geometry.Outline outline);
+    method public static void drawOutline(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Outline outline, androidx.ui.graphics.Paint paint);
+  }
+
+  public final class RRect {
+    ctor public RRect(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method public float component1();
+    method public float component10();
+    method public float component11();
+    method public float component12();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public float component6();
+    method public float component7();
+    method public float component8();
+    method public float component9();
+    method public boolean contains(androidx.ui.engine.geometry.Offset point);
+    method public androidx.ui.engine.geometry.RRect copy(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method @Deprecated public androidx.ui.engine.geometry.RRect deflate(float delta);
+    method public float getBottom();
+    method public float getBottomLeftRadiusX();
+    method public float getBottomLeftRadiusY();
+    method public float getBottomRightRadiusX();
+    method public float getBottomRightRadiusY();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getRight();
+    method public float getTop();
+    method public float getTopLeftRadiusX();
+    method public float getTopLeftRadiusY();
+    method public float getTopRightRadiusX();
+    method public float getTopRightRadiusY();
+    method public float getWidth();
+    method public static androidx.ui.engine.geometry.RRect getZero();
+    method @Deprecated public androidx.ui.engine.geometry.RRect inflate(float delta);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.RRect.Companion! Companion;
+  }
+
+  public static final class RRect.Companion {
+    method public androidx.ui.engine.geometry.RRect getZero();
+    property public final androidx.ui.engine.geometry.RRect Zero;
+  }
+
+  public final class RRectKt {
+    ctor public RRectKt();
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.Radius bottomLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius bottomRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.RRect);
+    method public static float getLongestSide(androidx.ui.engine.geometry.RRect);
+    method public static float getShortestSide(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect grow(androidx.ui.engine.geometry.RRect, float delta);
+    method public static boolean isCircle(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEllipse(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEmpty(androidx.ui.engine.geometry.RRect);
+    method public static boolean isFinite(androidx.ui.engine.geometry.RRect);
+    method public static boolean isRect(androidx.ui.engine.geometry.RRect);
+    method public static boolean isStadium(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect lerp(androidx.ui.engine.geometry.RRect start, androidx.ui.engine.geometry.RRect stop, float fraction);
+    method public static androidx.ui.engine.geometry.Rect middleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect outerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect safeInnerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect shift(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Offset offset);
+    method public static androidx.ui.engine.geometry.RRect shrink(androidx.ui.engine.geometry.RRect, float delta);
+    method public static androidx.ui.engine.geometry.Rect tallMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect wideMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect withRadius(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Radius radius);
+  }
+
+  public final class Radius {
+    ctor public Radius(float x, float y);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Radius copy(float x, float y);
+    method public operator androidx.ui.engine.geometry.Radius div(float operand);
+    method public float getX();
+    method public float getY();
+    method public operator androidx.ui.engine.geometry.Radius minus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius plus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius rem(float operand);
+    method public operator androidx.ui.engine.geometry.Radius times(float operand);
+    method public androidx.ui.engine.geometry.Radius truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Radius unaryMinus();
+    field public static final androidx.ui.engine.geometry.Radius.Companion! Companion;
+  }
+
+  public static final class Radius.Companion {
+    method public androidx.ui.engine.geometry.Radius circular(float radius);
+    method public androidx.ui.engine.geometry.Radius elliptical(float x, float y);
+    method public androidx.ui.engine.geometry.Radius getZero();
+    property public final androidx.ui.engine.geometry.Radius zero;
+  }
+
+  public final class RadiusKt {
+    ctor public RadiusKt();
+    method public static androidx.ui.engine.geometry.Radius lerp(androidx.ui.engine.geometry.Radius start, androidx.ui.engine.geometry.Radius stop, float fraction);
+  }
+
+  public final class Rect {
+    ctor public Rect(float left, float top, float right, float bottom);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect copy(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect deflate(float delta);
+    method public androidx.ui.engine.geometry.Rect expandToInclude(androidx.ui.engine.geometry.Rect other);
+    method public float getBottom();
+    method public androidx.ui.engine.geometry.Offset getBottomCenter();
+    method public androidx.ui.engine.geometry.Offset getBottomLeft();
+    method public androidx.ui.engine.geometry.Offset getBottomRight();
+    method public androidx.ui.engine.geometry.Offset getCenter();
+    method public androidx.ui.engine.geometry.Offset getCenterLeft();
+    method public androidx.ui.engine.geometry.Offset getCenterRight();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getLongestSide();
+    method public float getRight();
+    method public float getShortestSide();
+    method public androidx.ui.engine.geometry.Size getSize();
+    method public float getTop();
+    method public androidx.ui.engine.geometry.Offset getTopCenter();
+    method public androidx.ui.engine.geometry.Offset getTopLeft();
+    method public androidx.ui.engine.geometry.Offset getTopRight();
+    method public float getWidth();
+    method public androidx.ui.engine.geometry.Rect inflate(float delta);
+    method public androidx.ui.engine.geometry.Rect intersect(androidx.ui.engine.geometry.Rect other);
+    method public boolean isEmpty();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public androidx.ui.engine.geometry.Rect join(androidx.ui.engine.geometry.Rect other);
+    method public boolean overlaps(androidx.ui.engine.geometry.Rect other);
+    method public androidx.ui.engine.geometry.Rect shift(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect translate(float translateX, float translateY);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.Rect.Companion! Companion;
+  }
+
+  public static final class Rect.Companion {
+    method public androidx.ui.engine.geometry.Rect fromCircle(androidx.ui.engine.geometry.Offset center, float radius);
+    method public androidx.ui.engine.geometry.Rect fromLTRB(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect fromLTWH(float left, float top, float width, float height);
+    method public androidx.ui.engine.geometry.Rect fromPoints(androidx.ui.engine.geometry.Offset a, androidx.ui.engine.geometry.Offset b);
+    method public androidx.ui.engine.geometry.Rect getLargest();
+    method public androidx.ui.engine.geometry.Rect getZero();
+    method public float get_giantScalar();
+    property public final float _giantScalar;
+    property public final androidx.ui.engine.geometry.Rect largest;
+    property public final androidx.ui.engine.geometry.Rect zero;
+  }
+
+  public final class RectKt {
+    ctor public RectKt();
+    method public static androidx.ui.engine.geometry.Rect lerp(androidx.ui.engine.geometry.Rect start, androidx.ui.engine.geometry.Rect stop, float fraction);
+  }
+
+  public interface Shape {
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public class Size implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Size(float width, float height);
+    method public final androidx.ui.engine.geometry.Offset bottomCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerRight(androidx.ui.engine.geometry.Offset origin);
+    method public final boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public final operator androidx.ui.engine.geometry.Size div(float operand);
+    method public float getDx();
+    method public float getDy();
+    method public final androidx.ui.engine.geometry.Size getFlipped();
+    method public final float getHeight();
+    method public final float getLongestSide();
+    method public final float getShortestSide();
+    method public final float getWidth();
+    method public final boolean isEmpty();
+    method public final operator androidx.ui.engine.geometry.Size minus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Size other);
+    method public final operator androidx.ui.engine.geometry.Size plus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Size rem(float operand);
+    method public final operator androidx.ui.engine.geometry.Size times(float operand);
+    method public final androidx.ui.engine.geometry.Offset topCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Size truncDiv(float operand);
+    property public float dx;
+    property public float dy;
+    field public static final androidx.ui.engine.geometry.Size.Companion! Companion;
+  }
+
+  public static final class Size.Companion {
+    method public androidx.ui.engine.geometry.Size copy(androidx.ui.engine.geometry.Size source);
+    method public androidx.ui.engine.geometry.Size fromHeight(float height);
+    method public androidx.ui.engine.geometry.Size fromRadius(float radius);
+    method public androidx.ui.engine.geometry.Size fromWidth(float width);
+    method public androidx.ui.engine.geometry.Size getInfinite();
+    method public androidx.ui.engine.geometry.Size getZero();
+    method public androidx.ui.engine.geometry.Size? lerp(androidx.ui.engine.geometry.Size start, androidx.ui.engine.geometry.Size stop, float fraction);
+    method public androidx.ui.engine.geometry.Size square(float dimension);
+    property public final androidx.ui.engine.geometry.Size infinite;
+    property public final androidx.ui.engine.geometry.Size zero;
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public enum FocusDetailedState {
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Active;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState ActiveParent;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Captured;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Disabled;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Inactive;
+  }
+
+  public enum FocusState {
+    enum_constant public static final androidx.ui.focus.FocusState Focused;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocused;
+  }
+
+  public final class FocusStateKt {
+    ctor public FocusStateKt();
+    method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
+  }
+
+}
+
+package androidx.ui.graphics {
+
+  public final class AndroidCanvasKt {
+    ctor public AndroidCanvasKt();
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.Image image);
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.PictureRecorder recorder, androidx.ui.engine.geometry.Rect cullRect = Rect.largest);
+    method public static androidx.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+  }
+
+  public final class AndroidImageKt {
+    ctor public AndroidImageKt();
+    method public static androidx.ui.graphics.Image Image(int width, int height, androidx.ui.graphics.ImageConfig config = androidx.ui.graphics.ImageConfig.Argb8888, boolean hasAlpha = true, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Image imageFromResource(android.content.res.Resources res, int resId);
+  }
+
+  public enum BlendMode {
+    method public final android.graphics.PorterDuff.Mode toPorterDuffMode();
+    enum_constant public static final androidx.ui.graphics.BlendMode clear;
+    enum_constant public static final androidx.ui.graphics.BlendMode color;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorBurn;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorDodge;
+    enum_constant public static final androidx.ui.graphics.BlendMode darken;
+    enum_constant public static final androidx.ui.graphics.BlendMode difference;
+    enum_constant public static final androidx.ui.graphics.BlendMode dst;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode exclusion;
+    enum_constant public static final androidx.ui.graphics.BlendMode hardLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode hue;
+    enum_constant public static final androidx.ui.graphics.BlendMode lighten;
+    enum_constant public static final androidx.ui.graphics.BlendMode luminosity;
+    enum_constant public static final androidx.ui.graphics.BlendMode modulate;
+    enum_constant public static final androidx.ui.graphics.BlendMode multiply;
+    enum_constant public static final androidx.ui.graphics.BlendMode overlay;
+    enum_constant public static final androidx.ui.graphics.BlendMode plus;
+    enum_constant public static final androidx.ui.graphics.BlendMode saturation;
+    enum_constant public static final androidx.ui.graphics.BlendMode screen;
+    enum_constant public static final androidx.ui.graphics.BlendMode softLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode src;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode xor;
+  }
+
+  public enum BlurStyle {
+    enum_constant public static final androidx.ui.graphics.BlurStyle inner;
+    enum_constant public static final androidx.ui.graphics.BlurStyle normal;
+    enum_constant public static final androidx.ui.graphics.BlurStyle outer;
+    enum_constant public static final androidx.ui.graphics.BlurStyle solid;
+  }
+
+  public interface Brush {
+    method public void applyTo(androidx.ui.graphics.Paint p);
+  }
+
+  public final class BrushKt {
+    ctor public BrushKt();
+    method public static androidx.ui.graphics.LinearGradient HorizontalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Brush HorizontalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(java.util.List<androidx.ui.graphics.Color> colors, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public interface Canvas {
+    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void clipRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void concat(androidx.ui.vectormath64.Matrix4 matrix4);
+    method public void drawArc(androidx.ui.engine.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public default void drawArcRad(androidx.ui.engine.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public void drawCircle(androidx.ui.engine.geometry.Offset center, float radius, androidx.ui.graphics.Paint paint);
+    method public void drawDoubleRoundRect(androidx.ui.engine.geometry.RRect outer, androidx.ui.engine.geometry.RRect inner, androidx.ui.graphics.Paint paint);
+    method public void drawImage(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Offset topLeftOffset, androidx.ui.graphics.Paint paint);
+    method public void drawImageRect(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Rect src, androidx.ui.engine.geometry.Rect dst, androidx.ui.graphics.Paint paint);
+    method public void drawLine(androidx.ui.engine.geometry.Offset p1, androidx.ui.engine.geometry.Offset p2, androidx.ui.graphics.Paint paint);
+    method public void drawOval(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Paint paint);
+    method public void drawPicture(androidx.ui.graphics.Picture picture);
+    method public void drawPoints(androidx.ui.graphics.PointMode pointMode, java.util.List<androidx.ui.engine.geometry.Offset> points, androidx.ui.graphics.Paint paint);
+    method public void drawRRect(androidx.ui.engine.geometry.RRect rrect, androidx.ui.graphics.Paint paint);
+    method public void drawRawPoints(androidx.ui.graphics.PointMode pointMode, float[] points, androidx.ui.graphics.Paint paint);
+    method public void drawRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawVertices(androidx.ui.Vertices vertices, androidx.ui.graphics.BlendMode blendMode, androidx.ui.graphics.Paint paint);
+    method public android.graphics.Canvas getNativeCanvas();
+    method public void restore();
+    method public void rotate(float degrees);
+    method public default void rotateRad(float radians);
+    method public void save();
+    method public void saveLayer(androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint);
+    method public void scale(float sx, float sy = sx);
+    method public void skew(float sx, float sy);
+    method public default void skewRad(float sxRad, float syRad);
+    method public void translate(float dx, float dy);
+    property public abstract android.graphics.Canvas nativeCanvas;
+  }
+
+  public final class CanvasKt {
+    ctor public CanvasKt();
+    method public static inline void withSave(androidx.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public static inline void withSaveLayer(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public enum ClipOp {
+    enum_constant public static final androidx.ui.graphics.ClipOp difference;
+    enum_constant public static final androidx.ui.graphics.ClipOp intersect;
+  }
+
+  public final class Color {
+    method public androidx.ui.graphics.Color convert(androidx.ui.graphics.colorspace.ColorSpace colorSpace);
+    method public androidx.ui.graphics.Color copy(float alpha = this.alpha, float red = this.red, float green = this.green, float blue = this.blue);
+    method public float getAlpha();
+    method public float getBlue();
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public float getGreen();
+    method public float getRed();
+    method public long getValue();
+    property public final float alpha;
+    property public final float blue;
+    property public final androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public final float green;
+    property public final float red;
+    field public static final androidx.ui.graphics.Color.Companion! Companion;
+  }
+
+  public static final class Color.Companion {
+    method public androidx.ui.graphics.Color getBlack();
+    method public androidx.ui.graphics.Color getBlue();
+    method public androidx.ui.graphics.Color getCyan();
+    method public androidx.ui.graphics.Color getDarkGray();
+    method public androidx.ui.graphics.Color getGray();
+    method public androidx.ui.graphics.Color getGreen();
+    method public androidx.ui.graphics.Color getLightGray();
+    method public androidx.ui.graphics.Color getMagenta();
+    method public androidx.ui.graphics.Color getRed();
+    method public androidx.ui.graphics.Color getTransparent();
+    method public androidx.ui.graphics.Color getWhite();
+    method public androidx.ui.graphics.Color getYellow();
+    property public final androidx.ui.graphics.Color Black;
+    property public final androidx.ui.graphics.Color Blue;
+    property public final androidx.ui.graphics.Color Cyan;
+    property public final androidx.ui.graphics.Color DarkGray;
+    property public final androidx.ui.graphics.Color Gray;
+    property public final androidx.ui.graphics.Color Green;
+    property public final androidx.ui.graphics.Color LightGray;
+    property public final androidx.ui.graphics.Color Magenta;
+    property public final androidx.ui.graphics.Color Red;
+    property public final androidx.ui.graphics.Color Transparent;
+    property public final androidx.ui.graphics.Color White;
+    property public final androidx.ui.graphics.Color Yellow;
+  }
+
+  public final class ColorFilter {
+    ctor public ColorFilter(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.graphics.BlendMode component2();
+    method public androidx.ui.graphics.ColorFilter copy(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color Color(float red, float green, float blue, float alpha = 1f, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Color Color(@ColorInt int color);
+    method public static androidx.ui.graphics.Color Color(long color);
+    method public static androidx.ui.graphics.Color Color(@IntRange(from=0, to=255) int red, @IntRange(from=0, to=255) int green, @IntRange(from=0, to=255) int blue, @IntRange(from=0, to=255) int alpha = 0xFF);
+    method public static androidx.ui.graphics.Color lerp(androidx.ui.graphics.Color start, androidx.ui.graphics.Color stop, @FloatRange(from=0.0, to=1.0) float fraction);
+    method public static float luminance(androidx.ui.graphics.Color);
+    method @ColorInt public static int toArgb(androidx.ui.graphics.Color);
+  }
+
+  public enum FilterQuality {
+    enum_constant public static final androidx.ui.graphics.FilterQuality high;
+    enum_constant public static final androidx.ui.graphics.FilterQuality low;
+    enum_constant public static final androidx.ui.graphics.FilterQuality medium;
+    enum_constant public static final androidx.ui.graphics.FilterQuality none;
+  }
+
+  public final class FixedScale implements androidx.ui.graphics.ScaleFit {
+    ctor public FixedScale(float value);
+    method public float component1();
+    method public androidx.ui.graphics.FixedScale copy(float value);
+    method public float getValue();
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+  }
+
+  public interface Image {
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public androidx.ui.graphics.ImageConfig getConfig();
+    method public boolean getHasAlpha();
+    method public int getHeight();
+    method public android.graphics.Bitmap getNativeImage();
+    method public int getWidth();
+    method public void prepareToDraw();
+    property public abstract androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public abstract androidx.ui.graphics.ImageConfig config;
+    property public abstract boolean hasAlpha;
+    property public abstract int height;
+    property public abstract android.graphics.Bitmap nativeImage;
+    property public abstract int width;
+  }
+
+  public enum ImageByteFormat {
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat png;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawRgba;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawUnmodified;
+  }
+
+  public enum ImageConfig {
+    enum_constant public static final androidx.ui.graphics.ImageConfig Alpha8;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Argb8888;
+    enum_constant public static final androidx.ui.graphics.ImageConfig F16;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Gpu;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Rgb565;
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+  }
+
+  public enum ImageRepeat {
+    enum_constant public static final androidx.ui.graphics.ImageRepeat noRepeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatX;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatY;
+  }
+
+  public final class LinearGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.LinearGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public final class MaskFilter {
+    ctor public MaskFilter(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public androidx.ui.graphics.BlurStyle component1();
+    method public float component2();
+    method public androidx.ui.graphics.MaskFilter copy(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public float getSigma();
+    method public androidx.ui.graphics.BlurStyle getStyle();
+    field public static final androidx.ui.graphics.MaskFilter.Companion! Companion;
+    field public static final int TYPE_BLUR = 1; // 0x1
+    field public static final int TYPE_NONE = 0; // 0x0
+  }
+
+  public static final class MaskFilter.Companion {
+  }
+
+  public final class Paint {
+    ctor public Paint();
+    method public android.graphics.Paint asFrameworkPaint();
+    method public float getAlpha();
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.graphics.ColorFilter? getColorFilter();
+    method public androidx.ui.graphics.FilterQuality getFilterQuality();
+    method public androidx.ui.graphics.MaskFilter getMaskFilter();
+    method public androidx.ui.graphics.Shader? getShader();
+    method public androidx.ui.graphics.StrokeCap getStrokeCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeJoin();
+    method public float getStrokeMiterLimit();
+    method public float getStrokeWidth();
+    method public androidx.ui.graphics.PaintingStyle getStyle();
+    method public boolean isAntiAlias();
+    method public void setAlpha(float value);
+    method public void setAntiAlias(boolean value);
+    method public void setBlendMode(androidx.ui.graphics.BlendMode value);
+    method public void setColor(androidx.ui.graphics.Color color);
+    method public void setColorFilter(androidx.ui.graphics.ColorFilter? value);
+    method public void setFilterQuality(androidx.ui.graphics.FilterQuality value);
+    method public void setMaskFilter(androidx.ui.graphics.MaskFilter value);
+    method public void setShader(androidx.ui.graphics.Shader? value);
+    method public void setStrokeCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeMiterLimit(float value);
+    method public void setStrokeWidth(float value);
+    method public void setStyle(androidx.ui.graphics.PaintingStyle value);
+    property public final float alpha;
+    property public final androidx.ui.graphics.BlendMode blendMode;
+    property public final androidx.ui.graphics.Color color;
+    property public final androidx.ui.graphics.ColorFilter? colorFilter;
+    property public final androidx.ui.graphics.FilterQuality filterQuality;
+    property public final boolean isAntiAlias;
+    property public final androidx.ui.graphics.MaskFilter maskFilter;
+    property public final androidx.ui.graphics.Shader? shader;
+    property public final androidx.ui.graphics.StrokeCap strokeCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeJoin;
+    property public final float strokeMiterLimit;
+    property public final float strokeWidth;
+    property public final androidx.ui.graphics.PaintingStyle style;
+  }
+
+  public enum PaintingStyle {
+    enum_constant public static final androidx.ui.graphics.PaintingStyle fill;
+    enum_constant public static final androidx.ui.graphics.PaintingStyle stroke;
+  }
+
+  public final class Path {
+    ctor public Path(android.graphics.Path internalPath);
+    ctor public Path();
+    method public void _addRect(float left, float top, float right, float bottom);
+    method public void addArc(androidx.ui.engine.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+    method public void addArcRad(androidx.ui.engine.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+    method public void addOval(androidx.ui.engine.geometry.Rect oval);
+    method public void addPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset = Offset.zero, androidx.ui.vectormath64.Matrix4? matrix = null);
+    method public void addPolygon(java.util.List<androidx.ui.engine.geometry.Offset> points, boolean close);
+    method public void addRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void addRect(androidx.ui.engine.geometry.Rect rect);
+    method public void arcTo(androidx.ui.engine.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+    method public void arcToPoint(androidx.ui.engine.geometry.Offset arcEnd, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void arcToRad(androidx.ui.engine.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+    method public void close();
+    method public void conicTo(float x1, float y1, float x2, float y2, float w);
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void extendWithPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset, androidx.ui.vectormath64.Matrix4 matrix);
+    method public androidx.ui.engine.geometry.Rect getBounds();
+    method public androidx.ui.graphics.PathFillType getFillType();
+    method public boolean isConvex();
+    method public boolean isEmpty();
+    method public void lineTo(float dx, float dy);
+    method public void moveTo(float dx, float dy);
+    method public boolean op(androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2, androidx.ui.graphics.PathOperation operation);
+    method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void relativeArcToPoint(androidx.ui.engine.geometry.Offset arcEndDelta, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void relativeConicTo(float x1, float y1, float x2, float y2, float w);
+    method public void relativeCubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void relativeLineTo(float dx, float dy);
+    method public void relativeMoveTo(float dx, float dy);
+    method public void relativeQuadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void reset();
+    method public void setFillType(androidx.ui.graphics.PathFillType value);
+    method public void shift(androidx.ui.engine.geometry.Offset offset);
+    method public android.graphics.Path toFrameworkPath();
+    method public androidx.ui.graphics.Path transform(androidx.ui.vectormath64.Matrix4 matrix);
+    property public final boolean isConvex;
+    property public final boolean isEmpty;
+    field public static final androidx.ui.graphics.Path.Companion! Companion;
+  }
+
+  public static final class Path.Companion {
+    method public androidx.ui.graphics.Path combine(androidx.ui.graphics.PathOperation operation, androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2);
+  }
+
+  public enum PathFillType {
+    enum_constant public static final androidx.ui.graphics.PathFillType evenOdd;
+    enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
+  }
+
+  public enum PathOperation {
+    enum_constant public static final androidx.ui.graphics.PathOperation difference;
+    enum_constant public static final androidx.ui.graphics.PathOperation intersect;
+    enum_constant public static final androidx.ui.graphics.PathOperation reverseDifference;
+    enum_constant public static final androidx.ui.graphics.PathOperation union;
+    enum_constant public static final androidx.ui.graphics.PathOperation xor;
+  }
+
+  public final class Picture {
+    ctor public Picture(android.graphics.Picture frameworkPicture);
+    method public androidx.ui.engine.geometry.Rect cullRect();
+    method public void dispose();
+    method public android.graphics.Picture getFrameworkPicture();
+  }
+
+  public final class PictureRecorder {
+    ctor public PictureRecorder();
+    method public androidx.ui.graphics.Picture endRecording();
+    method public boolean isRecording();
+    property public final boolean isRecording;
+  }
+
+  public enum PointMode {
+    enum_constant public static final androidx.ui.graphics.PointMode lines;
+    enum_constant public static final androidx.ui.graphics.PointMode points;
+    enum_constant public static final androidx.ui.graphics.PointMode polygon;
+  }
+
+  public final class RadialGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.RadialGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public interface ScaleFit {
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+    field public static final androidx.ui.graphics.ScaleFit.Companion! Companion;
+  }
+
+  public static final class ScaleFit.Companion {
+    method public androidx.ui.graphics.ScaleFit getFillHeight();
+    method public androidx.ui.graphics.ScaleFit getFillMaxDimension();
+    method public androidx.ui.graphics.ScaleFit getFillMinDimension();
+    method public androidx.ui.graphics.ScaleFit getFillWidth();
+    method public androidx.ui.graphics.ScaleFit getFit();
+    method public androidx.ui.graphics.FixedScale getNone();
+    property public final androidx.ui.graphics.ScaleFit FillHeight;
+    property public final androidx.ui.graphics.ScaleFit FillMaxDimension;
+    property public final androidx.ui.graphics.ScaleFit FillMinDimension;
+    property public final androidx.ui.graphics.ScaleFit FillWidth;
+    property public final androidx.ui.graphics.ScaleFit Fit;
+    property public final androidx.ui.graphics.FixedScale None;
+  }
+
+  public final class ScaleFitKt {
+    ctor public ScaleFitKt();
+  }
+
+  public final class Shader {
+    ctor public Shader(android.graphics.Shader nativeShader);
+    method public android.graphics.Shader getNativeShader();
+  }
+
+  public class ShaderBrush implements androidx.ui.graphics.Brush {
+    ctor public ShaderBrush(androidx.ui.graphics.Shader shader);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public final androidx.ui.graphics.Shader getShader();
+  }
+
+  public final class ShaderKt {
+    ctor public ShaderKt();
+    method public static androidx.ui.graphics.Shader ImageShader(androidx.ui.graphics.Image image, androidx.ui.graphics.TileMode tileModeX = androidx.ui.graphics.TileMode.Clamp, androidx.ui.graphics.TileMode tileModeY = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader LinearGradientShader(androidx.ui.engine.geometry.Offset from, androidx.ui.engine.geometry.Offset to, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader RadialGradientShader(androidx.ui.engine.geometry.Offset center, float radius, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public final class Shadow {
+    ctor public Shadow(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    ctor public Shadow();
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Offset component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.graphics.Shadow copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    method public androidx.ui.core.Px getBlurRadius();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.engine.geometry.Offset getOffset();
+  }
+
+  public final class ShadowKt {
+    ctor public ShadowKt();
+    method public static androidx.ui.graphics.Shadow lerp(androidx.ui.graphics.Shadow start, androidx.ui.graphics.Shadow stop, float fraction);
+  }
+
+  public final class SolidColor implements androidx.ui.graphics.Brush {
+    ctor public SolidColor(androidx.ui.graphics.Color value);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public androidx.ui.graphics.Color getValue();
+  }
+
+  public enum StrokeCap {
+    enum_constant public static final androidx.ui.graphics.StrokeCap butt;
+    enum_constant public static final androidx.ui.graphics.StrokeCap round;
+    enum_constant public static final androidx.ui.graphics.StrokeCap square;
+  }
+
+  public enum StrokeJoin {
+    enum_constant public static final androidx.ui.graphics.StrokeJoin bevel;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin miter;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin round;
+  }
+
+  public enum TileMode {
+    method public final android.graphics.Shader.TileMode getNativeTileMode();
+    enum_constant public static final androidx.ui.graphics.TileMode Clamp;
+    enum_constant public static final androidx.ui.graphics.TileMode Mirror;
+    enum_constant public static final androidx.ui.graphics.TileMode Repeated;
+  }
+
+  public final class TileModeKt {
+    ctor public TileModeKt();
+    method public static android.graphics.Shader.TileMode NativeClampTileMode();
+    method public static android.graphics.Shader.TileMode NativeMirrorTileMode();
+    method public static android.graphics.Shader.TileMode NativeRepeatedTileMode();
+  }
+
+}
+
+package androidx.ui.graphics.colorspace {
+
+  public enum Adaptation {
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Bradford;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Ciecat02;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation VonKries;
+  }
+
+  public enum ColorModel {
+    method public final int getComponentCount();
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Cmyk;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Lab;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Rgb;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Xyz;
+  }
+
+  public abstract class ColorSpace {
+    ctor public ColorSpace(String name, androidx.ui.graphics.colorspace.ColorModel model);
+    method @Size(min=3) public final float[] fromXyz(float x, float y, float z);
+    method @Size(min=3) public abstract float[] fromXyz(@Size(min=3) float[] v);
+    method @IntRange(from=1, to=4) public final int getComponentCount();
+    method public abstract float getMaxValue(@IntRange(from=0, to=3) int component);
+    method public abstract float getMinValue(@IntRange(from=0, to=3) int component);
+    method public final androidx.ui.graphics.colorspace.ColorModel getModel();
+    method public final String getName();
+    method public boolean isSrgb();
+    method public abstract boolean isWideGamut();
+    method @Size(3) public final float[] toXyz(float r, float g, float b);
+    method @Size(min=3) public abstract float[] toXyz(@Size(min=3) float[] v);
+    property @IntRange(from=1, to=4) public final int componentCount;
+    property public boolean isSrgb;
+    property public abstract boolean isWideGamut;
+  }
+
+  public final class ColorSpaceKt {
+    ctor public ColorSpaceKt();
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.Adaptation adaptation = androidx.ui.graphics.colorspace.Adaptation.Bradford);
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint);
+    method public static androidx.ui.graphics.colorspace.Connector connect(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.ColorSpace destination = ColorSpaces.Srgb, androidx.ui.graphics.colorspace.RenderIntent intent = androidx.ui.graphics.colorspace.RenderIntent.Perceptual);
+  }
+
+  public final class ColorSpaces {
+    method public androidx.ui.graphics.colorspace.Rgb getAces();
+    method public androidx.ui.graphics.colorspace.Rgb getAcescg();
+    method public androidx.ui.graphics.colorspace.Rgb getAdobeRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getBt2020();
+    method public androidx.ui.graphics.colorspace.Rgb getBt709();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieLab();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieXyz();
+    method public androidx.ui.graphics.colorspace.Rgb getDciP3();
+    method public androidx.ui.graphics.colorspace.Rgb getDisplayP3();
+    method public androidx.ui.graphics.colorspace.Rgb getExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getNtsc1953();
+    method public androidx.ui.graphics.colorspace.Rgb getProPhotoRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getSmpteC();
+    method public androidx.ui.graphics.colorspace.Rgb getSrgb();
+    method public androidx.ui.graphics.colorspace.ColorSpace? match(@Size(9) float[] toXYZD50, androidx.ui.graphics.colorspace.TransferParameters function);
+    property public final androidx.ui.graphics.colorspace.Rgb Aces;
+    property public final androidx.ui.graphics.colorspace.Rgb Acescg;
+    property public final androidx.ui.graphics.colorspace.Rgb AdobeRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt2020;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt709;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieLab;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieXyz;
+    property public final androidx.ui.graphics.colorspace.Rgb DciP3;
+    property public final androidx.ui.graphics.colorspace.Rgb DisplayP3;
+    property public final androidx.ui.graphics.colorspace.Rgb ExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Ntsc1953;
+    property public final androidx.ui.graphics.colorspace.Rgb ProPhotoRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb SmpteC;
+    property public final androidx.ui.graphics.colorspace.Rgb Srgb;
+    field public static final androidx.ui.graphics.colorspace.ColorSpaces! INSTANCE;
+  }
+
+  public class Connector {
+    method public final androidx.ui.graphics.colorspace.ColorSpace getDestination();
+    method public final androidx.ui.graphics.colorspace.RenderIntent getRenderIntent();
+    method public final androidx.ui.graphics.colorspace.ColorSpace getSource();
+    method @Size(3) public final float[] transform(float r, float g, float b);
+    method @Size(min=3) public float[] transform(@Size(min=3) float[] v);
+  }
+
+  public final class Illuminant {
+    method public androidx.ui.graphics.colorspace.WhitePoint getA();
+    method public androidx.ui.graphics.colorspace.WhitePoint getB();
+    method public androidx.ui.graphics.colorspace.WhitePoint getC();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD50();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD55();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD60();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD65();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD75();
+    method public androidx.ui.graphics.colorspace.WhitePoint getE();
+    property public final androidx.ui.graphics.colorspace.WhitePoint A;
+    property public final androidx.ui.graphics.colorspace.WhitePoint B;
+    property public final androidx.ui.graphics.colorspace.WhitePoint C;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D50;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D55;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D60;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D65;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D75;
+    property public final androidx.ui.graphics.colorspace.WhitePoint E;
+    field public static final androidx.ui.graphics.colorspace.Illuminant! INSTANCE;
+  }
+
+  public enum RenderIntent {
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Absolute;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Perceptual;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Relative;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Saturation;
+  }
+
+  public final class Rgb extends androidx.ui.graphics.colorspace.ColorSpace {
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, double gamma);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+    method @Size(3) public float[] fromLinear(float r, float g, float b);
+    method @Size(min=3) public float[] fromLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] fromXyz(@Size(min=3) float[] v);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+    method @Size(9) public float[] getInverseTransform();
+    method @Size(min=9) public float[] getInverseTransform(@Size(min=9) float[] inverseTransform);
+    method public float getMaxValue(int component);
+    method public float getMinValue(int component);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+    method @Size(6) public float[] getPrimaries();
+    method @Size(min=6) public float[] getPrimaries(@Size(min=6) float[] primaries);
+    method public androidx.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+    method @Size(9) public float[] getTransform();
+    method @Size(min=9) public float[] getTransform(@Size(min=9) float[] transform);
+    method public androidx.ui.graphics.colorspace.WhitePoint getWhitePoint();
+    method public boolean isWideGamut();
+    method @Size(3) public float[] toLinear(float r, float g, float b);
+    method @Size(min=3) public float[] toLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] toXyz(@Size(min=3) float[] v);
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+    property public boolean isSrgb;
+    property public boolean isWideGamut;
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+  }
+
+  public final class TransferParameters {
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double component1();
+    method public double component2();
+    method public double component3();
+    method public double component4();
+    method public double component5();
+    method public double component6();
+    method public double component7();
+    method public androidx.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double getA();
+    method public double getB();
+    method public double getC();
+    method public double getD();
+    method public double getE();
+    method public double getF();
+    method public double getGamma();
+  }
+
+  public final class WhitePoint {
+    ctor public WhitePoint(float x, float y);
+    ctor public WhitePoint(float x, float y, float z);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+    method public float getX();
+    method public float getY();
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class PathBuilder {
+    ctor public PathBuilder();
+    method public androidx.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder close();
+    method public androidx.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public androidx.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getNodes();
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineToRelative(float x);
+    method public androidx.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder lineToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder quadToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineToRelative(float y);
+  }
+
+  public enum PathCommand {
+    method public final char toKey();
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand Close;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand CurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand HorizontalLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand LineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand MoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand QuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeClose;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeHorizontalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeMoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeVerticalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand VerticalLineTo;
+  }
+
+  public final class PathCommandKt {
+    ctor public PathCommandKt();
+    method public static androidx.ui.graphics.vector.PathCommand toPathCommand(char);
+  }
+
+  public final class PathNode {
+    ctor public PathNode(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public androidx.ui.graphics.vector.PathCommand component1();
+    method public float[] component2();
+    method public androidx.ui.graphics.vector.PathNode copy(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public float[] getArgs();
+    method public androidx.ui.graphics.vector.PathCommand getCommand();
+  }
+
+  public final class PathNodeKt {
+    ctor public PathNodeKt();
+    method public static operator StringBuilder plus(StringBuilder, androidx.ui.graphics.vector.PathNode node);
+  }
+
+  public final class PathParser {
+    ctor public PathParser();
+    method public androidx.ui.graphics.vector.PathParser addPathNodes(java.util.List<androidx.ui.graphics.vector.PathNode> nodes);
+    method public void clear();
+    method public androidx.ui.graphics.vector.PathParser parsePathString(String pathData);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> toNodes();
+    method public androidx.ui.graphics.Path toPath(androidx.ui.graphics.Path target = androidx.ui.graphics.Path());
+  }
+
+  public final class PathParserKt {
+    ctor public PathParserKt();
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class AccessibilityAction<T extends kotlin.Function<? extends kotlin.Unit>> {
+    ctor public AccessibilityAction(String? label, T action);
+    method public String? component1();
+    method public T component2();
+    method public androidx.ui.semantics.AccessibilityAction<T> copy(String? label, T action);
+    method public T getAction();
+    method public String? getLabel();
+  }
+
+  public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
+    ctor public SemanticsPropertyKey(String name);
+    method public final String getName();
+    method public final T! getValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+    method public T! merge(T? existingValue, T? newValue);
+    method public final void setValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+  }
+
+  public interface SemanticsPropertyReceiver {
+    method public operator <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+  }
+
+}
+
+package androidx.ui.testutils {
+
+  public final class PointerInputTestUtilKt {
+    ctor public PointerInputTestUtilKt();
+    method public static androidx.ui.core.PointerInputChange consume(androidx.ui.core.PointerInputChange, float dx = 0f, float dy = 0f, boolean downChange = false);
+    method public static androidx.ui.core.PointerInputChange down(int id = 0, androidx.ui.core.Duration duration = Duration.Zero, float x = 0f, float y = 0f);
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange![] pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.PointerEventPass![] pointerEventPasses, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static androidx.ui.core.PointerInputChange moveBy(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float dx = 0f, float dy = 0f);
+    method public static androidx.ui.core.PointerInputChange moveTo(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float x = 0f, float y = 0f);
+    method public static androidx.ui.core.PointerInputChange up(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration);
+  }
+
+}
+
+package androidx.ui.util {
+
+  public final class Float16 implements java.lang.Comparable<androidx.ui.util.Float16> {
+    ctor public Float16(short halfValue);
+    ctor public Float16(float value);
+    ctor public Float16(double value);
+    method public androidx.ui.util.Float16 absoluteValue();
+    method public androidx.ui.util.Float16 ceil();
+    method public operator int compareTo(androidx.ui.util.Float16 other);
+    method public androidx.ui.util.Float16 floor();
+    method public int getExponent();
+    method public short getHalfValue();
+    method public androidx.ui.util.Float16 getSign();
+    method public int getSignificand();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public boolean isNaN();
+    method public boolean isNormalized();
+    method public androidx.ui.util.Float16 round();
+    method public int toBits();
+    method public byte toByte();
+    method public double toDouble();
+    method public float toFloat();
+    method public String toHexString();
+    method public int toInt();
+    method public long toLong();
+    method public int toRawBits();
+    method public short toShort();
+    method public androidx.ui.util.Float16 trunc();
+    method public androidx.ui.util.Float16 withSign(androidx.ui.util.Float16 sign);
+    property public final int exponent;
+    property public final androidx.ui.util.Float16 sign;
+    property public final int significand;
+    field public static final androidx.ui.util.Float16.Companion! Companion;
+    field public static final int MaxExponent = 15; // 0xf
+    field public static final int MinExponent = -14; // 0xfffffff2
+    field public static final int Size = 16; // 0x10
+  }
+
+  public static final class Float16.Companion {
+    method public androidx.ui.util.Float16 getEpsilon();
+    method public androidx.ui.util.Float16 getLowestValue();
+    method public androidx.ui.util.Float16 getMaxValue();
+    method public androidx.ui.util.Float16 getMinNormal();
+    method public androidx.ui.util.Float16 getMinValue();
+    method public androidx.ui.util.Float16 getNaN();
+    method public androidx.ui.util.Float16 getNegativeInfinity();
+    method public androidx.ui.util.Float16 getNegativeZero();
+    method public androidx.ui.util.Float16 getPositiveInfinity();
+    method public androidx.ui.util.Float16 getPositiveZero();
+    property public final androidx.ui.util.Float16 Epsilon;
+    property public final androidx.ui.util.Float16 LowestValue;
+    property public final androidx.ui.util.Float16 MaxValue;
+    property public final androidx.ui.util.Float16 MinNormal;
+    property public final androidx.ui.util.Float16 MinValue;
+    property public final androidx.ui.util.Float16 NaN;
+    property public final androidx.ui.util.Float16 NegativeInfinity;
+    property public final androidx.ui.util.Float16 NegativeZero;
+    property public final androidx.ui.util.Float16 PositiveInfinity;
+    property public final androidx.ui.util.Float16 PositiveZero;
+  }
+
+  public final class Float16Kt {
+    ctor public Float16Kt();
+    method public static androidx.ui.util.Float16 max(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+    method public static androidx.ui.util.Float16 min(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+  }
+
+}
+
+package androidx.ui.vectormath64 {
+
+  public final class Matrix2 {
+    ctor public Matrix2(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    ctor public Matrix2();
+    ctor public Matrix2(androidx.ui.vectormath64.Matrix2 m);
+    method public androidx.ui.vectormath64.Vector2 component1();
+    method public androidx.ui.vectormath64.Vector2 component2();
+    method public androidx.ui.vectormath64.Matrix2 copy(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    method public operator androidx.ui.vectormath64.Matrix2 dec();
+    method public operator androidx.ui.vectormath64.Matrix2 div(float v);
+    method public operator androidx.ui.vectormath64.Vector2 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM2storage();
+    method public androidx.ui.vectormath64.Vector2 getX();
+    method public androidx.ui.vectormath64.Vector2 getY();
+    method public operator androidx.ui.vectormath64.Matrix2 inc();
+    method public operator androidx.ui.vectormath64.Matrix2 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector2 p);
+    method public void setY(androidx.ui.vectormath64.Vector2 p);
+    method public operator androidx.ui.vectormath64.Matrix2 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 times(androidx.ui.vectormath64.Matrix2 m);
+    method public operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix2 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m2storage;
+    field public static final androidx.ui.vectormath64.Matrix2.Companion! Companion;
+  }
+
+  public static final class Matrix2.Companion {
+    method public androidx.ui.vectormath64.Matrix2 identity();
+    method public androidx.ui.vectormath64.Matrix2 of(float... a);
+  }
+
+  public final class Matrix3 {
+    ctor public Matrix3(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    ctor public Matrix3();
+    ctor public Matrix3(androidx.ui.vectormath64.Matrix3 m);
+    method public androidx.ui.vectormath64.Vector3 component1();
+    method public androidx.ui.vectormath64.Vector3 component2();
+    method public androidx.ui.vectormath64.Vector3 component3();
+    method public androidx.ui.vectormath64.Matrix3 copy(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    method public operator androidx.ui.vectormath64.Matrix3 dec();
+    method public operator androidx.ui.vectormath64.Matrix3 div(float v);
+    method public operator androidx.ui.vectormath64.Vector3 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM3storage();
+    method public androidx.ui.vectormath64.Vector3 getX();
+    method public androidx.ui.vectormath64.Vector3 getY();
+    method public androidx.ui.vectormath64.Vector3 getZ();
+    method public operator androidx.ui.vectormath64.Matrix3 inc();
+    method public operator androidx.ui.vectormath64.Matrix3 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector3 p);
+    method public void setY(androidx.ui.vectormath64.Vector3 p);
+    method public void setZ(androidx.ui.vectormath64.Vector3 p);
+    method public operator androidx.ui.vectormath64.Matrix3 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 times(androidx.ui.vectormath64.Matrix3 m);
+    method public operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix3 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m3storage;
+    field public static final androidx.ui.vectormath64.Matrix3.Companion! Companion;
+  }
+
+  public static final class Matrix3.Companion {
+    method public androidx.ui.vectormath64.Matrix3 identity();
+    method public androidx.ui.vectormath64.Matrix3 of(float... a);
+  }
+
+  public final class Matrix4 {
+    ctor public Matrix4(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    ctor public Matrix4();
+    ctor public Matrix4(androidx.ui.vectormath64.Vector3 right, androidx.ui.vectormath64.Vector3 up, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 position);
+    ctor public Matrix4(androidx.ui.vectormath64.Matrix4 m);
+    method public void assignColumns(androidx.ui.vectormath64.Matrix4 other);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public androidx.ui.vectormath64.Vector4 component1();
+    method public androidx.ui.vectormath64.Vector4 component2();
+    method public androidx.ui.vectormath64.Vector4 component3();
+    method public androidx.ui.vectormath64.Vector4 component4();
+    method public androidx.ui.vectormath64.Matrix4 copy(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    method public float copyInverse(androidx.ui.vectormath64.Matrix4 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 dec();
+    method public operator androidx.ui.vectormath64.Matrix4 div(float v);
+    method public operator androidx.ui.vectormath64.Vector4 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public float getDeterminant();
+    method public inline androidx.ui.vectormath64.Vector3 getForward();
+    method public inline java.util.List<java.lang.Float> getM4storage();
+    method public inline androidx.ui.vectormath64.Vector3 getPosition();
+    method public inline androidx.ui.vectormath64.Vector3 getRight();
+    method public androidx.ui.vectormath64.Vector3 getRotation();
+    method public androidx.ui.vectormath64.Vector4 getRow(int row);
+    method public inline androidx.ui.vectormath64.Vector3 getScale();
+    method public inline androidx.ui.vectormath64.Vector3 getTranslation();
+    method public inline androidx.ui.vectormath64.Vector3 getUp();
+    method public inline androidx.ui.vectormath64.Matrix3 getUpperLeft();
+    method public androidx.ui.vectormath64.Vector4 getW();
+    method public androidx.ui.vectormath64.Vector4 getX();
+    method public androidx.ui.vectormath64.Vector4 getY();
+    method public androidx.ui.vectormath64.Vector4 getZ();
+    method public operator androidx.ui.vectormath64.Matrix4 inc();
+    method public float invert();
+    method public operator androidx.ui.vectormath64.Matrix4 minus(float v);
+    method public androidx.ui.vectormath64.Vector3 perspectiveTransform(androidx.ui.vectormath64.Vector3 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 plus(float v);
+    method public void rotateX(float radians);
+    method public void rotateY(float radians);
+    method public void rotateZ(float radians);
+    method public void scale(Object x, Float? y = null, Float? z = null);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int column, int row, float v);
+    method public inline void setForward(androidx.ui.vectormath64.Vector3 value);
+    method public void setFrom(androidx.ui.vectormath64.Matrix4 arg);
+    method public inline void setPosition(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRight(androidx.ui.vectormath64.Vector3 value);
+    method public void setTranslationRaw(float x, float y, float z);
+    method public inline void setUp(androidx.ui.vectormath64.Vector3 value);
+    method public void setW(androidx.ui.vectormath64.Vector4 p);
+    method public void setX(androidx.ui.vectormath64.Vector4 p);
+    method public void setY(androidx.ui.vectormath64.Vector4 p);
+    method public void setZ(androidx.ui.vectormath64.Vector4 p);
+    method public operator androidx.ui.vectormath64.Matrix4 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix4 times(androidx.ui.vectormath64.Matrix4 m);
+    method public operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public operator void timesAssign(androidx.ui.vectormath64.Matrix4 m);
+    method public float[] toFloatArray();
+    method public void translate(Object x, float y = 0.0f, float z = 0.0f);
+    method public operator androidx.ui.vectormath64.Matrix4 unaryMinus();
+    property public final float determinant;
+    property public final inline androidx.ui.vectormath64.Vector3 forward;
+    property public final inline java.util.List<java.lang.Float> m4storage;
+    property public final inline androidx.ui.vectormath64.Vector3 position;
+    property public final inline androidx.ui.vectormath64.Vector3 right;
+    property public final androidx.ui.vectormath64.Vector3 rotation;
+    property public final inline androidx.ui.vectormath64.Vector3 scale;
+    property public final inline androidx.ui.vectormath64.Vector3 translation;
+    property public final inline androidx.ui.vectormath64.Vector3 up;
+    property public final inline androidx.ui.vectormath64.Matrix3 upperLeft;
+    field public static final androidx.ui.vectormath64.Matrix4.Companion! Companion;
+  }
+
+  public static final class Matrix4.Companion {
+    method public androidx.ui.vectormath64.Matrix4 diagonal3(androidx.ui.vectormath64.Vector3 scale);
+    method public androidx.ui.vectormath64.Matrix4 diagonal3Values(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 identity();
+    method public androidx.ui.vectormath64.Matrix4 of(float... a);
+    method public androidx.ui.vectormath64.Matrix4 rotationX(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationY(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationZ(float radians);
+    method public androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 translation);
+    method public androidx.ui.vectormath64.Matrix4 translationValues(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 zero();
+  }
+
+  public final class Matrix4Kt {
+    ctor public Matrix4Kt();
+    method public static Float? getAsScale(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Offset? getAsTranslation(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Rect inverseTransformRect(androidx.ui.vectormath64.Matrix4 transform, androidx.ui.engine.geometry.Rect rect);
+    method public static boolean isIdentity(androidx.ui.vectormath64.Matrix4);
+    method public static boolean matrixEquals(androidx.ui.vectormath64.Matrix4? a, androidx.ui.vectormath64.Matrix4? b);
+    method public static androidx.ui.engine.geometry.Offset transformPoint(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Offset point);
+    method public static androidx.ui.engine.geometry.Rect transformRect(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Rect rect);
+  }
+
+  public enum MatrixColumn {
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn W;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn X;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Y;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Z;
+  }
+
+  public final class MatrixExtensionsKt {
+    ctor public MatrixExtensionsKt();
+    method public static androidx.ui.vectormath64.Matrix3 inverse(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 inverse(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 lookAt(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 target, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 lookTowards(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 normal(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 ortho(float l, float r, float b, float t, float n, float f);
+    method public static androidx.ui.vectormath64.Matrix4 perspective(float fov, float ratio, float near, float far);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 d);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 axis, float angle);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Vector3 s);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 t);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix2 transpose(androidx.ui.vectormath64.Matrix2 m);
+    method public static androidx.ui.vectormath64.Matrix3 transpose(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 transpose(androidx.ui.vectormath64.Matrix4 m);
+  }
+
+  public final class ScalarKt {
+    ctor public ScalarKt();
+    method public static inline float degrees(float v);
+    method public static inline float fract(float v);
+    method public static inline float mix(float a, float b, float x);
+    method public static inline float radians(float v);
+    method public static inline float sqr(float v);
+    field public static final float FOUR_PI = 12.566371f;
+    field public static final float HALF_PI = 1.5707964f;
+    field public static final float INV_FOUR_PI = 0.07957747f;
+    field public static final float INV_PI = 0.31830987f;
+    field public static final float INV_TWO_PI = 0.15915494f;
+    field public static final float PI = 3.1415927f;
+    field public static final float TWO_PI = 6.2831855f;
+  }
+
+  public final class Vector2 {
+    ctor public Vector2(float x, float y);
+    ctor public Vector2();
+    ctor public Vector2(androidx.ui.vectormath64.Vector2 v);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.vectormath64.Vector2 copy(float x, float y);
+    method public operator androidx.ui.vectormath64.Vector2 dec();
+    method public inline operator androidx.ui.vectormath64.Vector2 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 div(androidx.ui.vectormath64.Vector2 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public inline float getG();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV2storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public float getY();
+    method public operator androidx.ui.vectormath64.Vector2 inc();
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public inline void setG(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public void setY(float p);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline androidx.ui.vectormath64.Vector2 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector2 unaryMinus();
+    property public final inline float g;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v2storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+  }
+
+  public final class Vector3 {
+    ctor public Vector3(float x, float y, float z);
+    ctor public Vector3();
+    ctor public Vector3(androidx.ui.vectormath64.Vector2 v, float z);
+    ctor public Vector3(androidx.ui.vectormath64.Vector3 v);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public androidx.ui.vectormath64.Vector3 copy(float x, float y, float z);
+    method public operator androidx.ui.vectormath64.Vector3 dec();
+    method public inline operator androidx.ui.vectormath64.Vector3 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector3 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV3storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector3 inc();
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline androidx.ui.vectormath64.Vector3 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector3 unaryMinus();
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v3storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+  }
+
+  public final class Vector4 {
+    ctor public Vector4(float x, float y, float z, float w);
+    ctor public Vector4();
+    ctor public Vector4(androidx.ui.vectormath64.Vector2 v, float z, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector3 v, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector4 v);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public androidx.ui.vectormath64.Vector4 copy(float x, float y, float z, float w);
+    method public operator androidx.ui.vectormath64.Vector4 dec();
+    method public inline operator androidx.ui.vectormath64.Vector4 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector4 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(int index1, int index2, int index3, int index4);
+    method public inline float getA();
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getQ();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline androidx.ui.vectormath64.Vector4 getRgba();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline androidx.ui.vectormath64.Vector4 getStpq();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV4storage();
+    method public float getW();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public inline androidx.ui.vectormath64.Vector4 getXyzw();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector4 inc();
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector4 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(int index1, int index2, int index3, int index4, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4, float v);
+    method public inline void setA(float value);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setQ(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRgba(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setStpq(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setT(float value);
+    method public void setW(float p);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setXyzw(androidx.ui.vectormath64.Vector4 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public inline androidx.ui.vectormath64.Vector4 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector4 unaryMinus();
+    property public final inline float a;
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float q;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline androidx.ui.vectormath64.Vector4 rgba;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline androidx.ui.vectormath64.Vector4 stpq;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v4storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+    property public final inline androidx.ui.vectormath64.Vector4 xyzw;
+  }
+
+  public enum VectorComponent {
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent A;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent B;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent G;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent P;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Q;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent R;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent S;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent T;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent W;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent X;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Y;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Z;
+  }
+
+  public final class VectorExtensionsKt {
+    ctor public VectorExtensionsKt();
+    method public static inline androidx.ui.vectormath64.Vector2 abs(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector3 abs(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector4 abs(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, androidx.ui.vectormath64.Vector2 min, androidx.ui.vectormath64.Vector2 max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 min, androidx.ui.vectormath64.Vector3 max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, androidx.ui.vectormath64.Vector4 min, androidx.ui.vectormath64.Vector4 max);
+    method public static inline androidx.ui.vectormath64.Vector3 cross(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 div(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 div(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 div(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline float dot(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float length(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float max(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 max(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 max(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 max(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 min(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 min(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 min(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 minus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 minus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 minus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, androidx.ui.vectormath64.Vector2 x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, androidx.ui.vectormath64.Vector3 x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, androidx.ui.vectormath64.Vector4 x);
+    method public static androidx.ui.vectormath64.Vector2 normalize(androidx.ui.vectormath64.Vector2 v);
+    method public static androidx.ui.vectormath64.Vector3 normalize(androidx.ui.vectormath64.Vector3 v);
+    method public static androidx.ui.vectormath64.Vector4 normalize(androidx.ui.vectormath64.Vector4 v);
+    method public static inline operator androidx.ui.vectormath64.Vector2 plus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 plus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 plus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 reflect(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n);
+    method public static inline androidx.ui.vectormath64.Vector3 reflect(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n);
+    method public static androidx.ui.vectormath64.Vector2 refract(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n, float eta);
+    method public static androidx.ui.vectormath64.Vector3 refract(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n, float eta);
+    method public static inline operator androidx.ui.vectormath64.Vector2 times(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 times(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 times(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 transform(androidx.ui.vectormath64.Vector2 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector3 transform(androidx.ui.vectormath64.Vector3 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector4 transform(androidx.ui.vectormath64.Vector4 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline infix androidx.ui.vectormath64.Vector3 x(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 v);
+  }
+
+}
+
diff --git a/ui/ui-core/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-core/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..1844fff
--- /dev/null
+++ b/ui/ui-core/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,2714 @@
+// Signature format: 3.0
+package androidx.ui {
+
+  public final class MathHelpersKt {
+    ctor public MathHelpersKt();
+    method public static float lerp(float start, float stop, float fraction);
+    method public static int lerp(int start, int stop, float fraction);
+    method public static long lerp(long start, long stop, float fraction);
+    method public static String toHexString(int);
+    method public static String toStringAsFixed(float, int digits);
+  }
+
+  public enum VertexMode {
+    method public final android.graphics.Canvas.VertexMode toFrameworkVertexMode();
+    enum_constant public static final androidx.ui.VertexMode triangleFan;
+    enum_constant public static final androidx.ui.VertexMode triangleStrip;
+    enum_constant public static final androidx.ui.VertexMode triangles;
+  }
+
+  public final class Vertices {
+    ctor public Vertices(androidx.ui.VertexMode vertexMode, java.util.List<androidx.ui.engine.geometry.Offset> positions, java.util.List<androidx.ui.engine.geometry.Offset> textureCoordinates, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Integer> indices);
+    method public int[] getColors();
+    method public short[] getIndices();
+    method public float[] getPositions();
+    method public float[] getTextureCoordinates();
+    method public androidx.ui.VertexMode getVertexMode();
+    property public final int[] colors;
+    property public final short[] indices;
+    property public final float[] positions;
+    property public final float[] textureCoordinates;
+  }
+
+}
+
+package androidx.ui.autofill {
+
+  public interface Autofill {
+    method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+    method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+  }
+
+  public final class AutofillNode {
+    ctor public AutofillNode(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> component1();
+    method public android.graphics.Rect? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? component3();
+    method public androidx.ui.autofill.AutofillNode copy(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> getAutofillTypes();
+    method public android.graphics.Rect? getBoundingBox();
+    method public int getId();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? getOnFill();
+    method public void setBoundingBox(android.graphics.Rect? p);
+    property public final int id;
+  }
+
+  public final class AutofillTree {
+    ctor public AutofillTree();
+    method public java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> getChildren();
+    method public kotlin.Unit? performAutofill(int id, String value);
+    method public operator void plusAssign(androidx.ui.autofill.AutofillNode autofillNode);
+    property public final java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> children;
+  }
+
+  public enum AutofillType {
+    enum_constant public static final androidx.ui.autofill.AutofillType EmailAddress;
+    enum_constant public static final androidx.ui.autofill.AutofillType Name;
+  }
+
+}
+
+package androidx.ui.core {
+
+  public enum Alignment {
+    method public final androidx.ui.core.IntPxPosition align(androidx.ui.core.IntPxSize size);
+    enum_constant public static final androidx.ui.core.Alignment BottomCenter;
+    enum_constant public static final androidx.ui.core.Alignment BottomLeft;
+    enum_constant public static final androidx.ui.core.Alignment BottomRight;
+    enum_constant public static final androidx.ui.core.Alignment Center;
+    enum_constant public static final androidx.ui.core.Alignment CenterLeft;
+    enum_constant public static final androidx.ui.core.Alignment CenterRight;
+    enum_constant public static final androidx.ui.core.Alignment TopCenter;
+    enum_constant public static final androidx.ui.core.Alignment TopLeft;
+    enum_constant public static final androidx.ui.core.Alignment TopRight;
+  }
+
+  public abstract sealed class AlignmentLine {
+    method public final boolean getHorizontal();
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static androidx.ui.core.IntPx merge(androidx.ui.core.AlignmentLine, androidx.ui.core.IntPx position1, androidx.ui.core.IntPx position2);
+  }
+
+  public final class Bounds {
+    ctor public Bounds(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.core.Bounds copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    ctor public Constraints();
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.Constraints copy(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    method public androidx.ui.core.IntPx getMaxHeight();
+    method public androidx.ui.core.IntPx getMaxWidth();
+    method public androidx.ui.core.IntPx getMinHeight();
+    method public androidx.ui.core.IntPx getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints tightConstraints(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForHeight(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForWidth(androidx.ui.core.IntPx width);
+  }
+
+  public final class ConstraintsKt {
+    ctor public ConstraintsKt();
+    method public static androidx.ui.core.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasTightHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasTightWidth(androidx.ui.core.Constraints);
+    method public static boolean isTight(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset(androidx.ui.core.Constraints, androidx.ui.core.IntPx horizontal = 0.ipx, androidx.ui.core.IntPx vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints tightMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints tightMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints withTight(androidx.ui.core.Constraints, androidx.ui.core.IntPx? width = null, androidx.ui.core.IntPx? height = null);
+  }
+
+  public final class ConsumedData {
+    ctor public ConsumedData(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    ctor public ConsumedData();
+    method public androidx.ui.core.PxPosition component1();
+    method public boolean component2();
+    method public androidx.ui.core.ConsumedData copy(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    method public boolean getDownChange();
+    method public androidx.ui.core.PxPosition getPositionChange();
+  }
+
+  public final class Density {
+    ctor public Density(float density, float fontScale);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.core.Density copy(float density, float fontScale);
+    method public float getDensity();
+    method public float getFontScale();
+  }
+
+  public final class DensityKt {
+    ctor public DensityKt();
+    method public static androidx.ui.core.Density Density(android.content.Context context);
+    method public static androidx.ui.core.DensityScope DensityScope(androidx.ui.core.Density density);
+    method public static <R> R! withDensity(androidx.ui.core.Density density, kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
+  }
+
+  public interface DensityScope {
+    method public androidx.ui.core.Density getDensity();
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.Px);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.Dp toDp(float);
+    method public default androidx.ui.core.Dp toDp(int);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.PxSize toPx-s2Mz6-8(long);
+    method public default androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.Bounds);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Dp);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Px);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.TextUnit toSp(float);
+    method public default androidx.ui.core.TextUnit toSp(int);
+    property public abstract androidx.ui.core.Density density;
+  }
+
+  public enum Direction {
+    enum_constant public static final androidx.ui.core.Direction DOWN;
+    enum_constant public static final androidx.ui.core.Direction LEFT;
+    enum_constant public static final androidx.ui.core.Direction RIGHT;
+    enum_constant public static final androidx.ui.core.Direction UP;
+  }
+
+  public final class Dp implements java.lang.Comparable<androidx.ui.core.Dp> {
+    ctor public Dp(float value);
+    method public inline operator int compareTo(androidx.ui.core.Dp other);
+    method public float component1();
+    method public androidx.ui.core.Dp copy(float value);
+    method public inline operator androidx.ui.core.Dp div(float other);
+    method public inline operator androidx.ui.core.Dp div(int other);
+    method public inline operator float div(androidx.ui.core.Dp other);
+    method public inline operator float div-KkBJKWw(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Dp minus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp plus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp times(float other);
+    method public inline operator androidx.ui.core.Dp times(int other);
+    method public inline operator float times(androidx.ui.core.Dp other);
+    method public inline operator float times-KkBJKWw(float other);
+    method public inline operator androidx.ui.core.Dp unaryMinus();
+    field public static final androidx.ui.core.Dp.Companion! Companion;
+  }
+
+  public static final class Dp.Companion {
+    method public androidx.ui.core.Dp getHairline();
+    method public androidx.ui.core.Dp getInfinity();
+    property public final androidx.ui.core.Dp Hairline;
+    property public final androidx.ui.core.Dp Infinity;
+  }
+
+  public final inline class DpCubed implements java.lang.Comparable<androidx.ui.core.DpCubed> {
+    ctor public DpCubed();
+    method public inline operator int compareTo-zqpl1kg(float p);
+    method public static inline operator int compareTo-zqpl1kg(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator androidx.ui.core.Dp div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float plus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class DpInverse implements java.lang.Comparable<androidx.ui.core.DpInverse> {
+    ctor public DpInverse();
+    method public inline operator int compareTo-ASDJgtI(float p);
+    method public static inline operator int compareTo-ASDJgtI(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-ASDJgtI(float $this, float dimension);
+    method public static inline operator float plus-ASDJgtI(float $this, float dimension);
+    method public static inline operator androidx.ui.core.Dp times-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float times-zqpl1kg(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class DpKt {
+    ctor public DpKt();
+    method public static inline long Position(androidx.ui.core.Dp x, androidx.ui.core.Dp y);
+    method public static inline long Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static long center-s2Mz6-8(long);
+    method public static inline androidx.ui.core.Dp coerceAtLeast(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue);
+    method public static inline androidx.ui.core.Dp coerceAtMost(androidx.ui.core.Dp, androidx.ui.core.Dp maximumValue);
+    method public static inline androidx.ui.core.Dp coerceIn(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue, androidx.ui.core.Dp maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Dp other);
+    method public static inline operator float div(double, androidx.ui.core.Dp other);
+    method public static inline operator float div(int, androidx.ui.core.Dp other);
+    method public static androidx.ui.core.Dp getDistance-JXBE4ew(long);
+    method public static inline androidx.ui.core.Dp getDp(int);
+    method public static inline androidx.ui.core.Dp getDp(double);
+    method public static inline androidx.ui.core.Dp getDp(float);
+    method public static inline androidx.ui.core.Dp getHeight(androidx.ui.core.Bounds);
+    method public static inline androidx.ui.core.Dp getWidth(androidx.ui.core.Bounds);
+    method public static inline boolean isFinite(androidx.ui.core.Dp);
+    method public static androidx.ui.core.Dp lerp(androidx.ui.core.Dp start, androidx.ui.core.Dp stop, float fraction);
+    method public static long lerp-SuMVOfk(long start, long stop, float fraction);
+    method public static inline androidx.ui.core.Dp max(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline androidx.ui.core.Dp min(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline operator androidx.ui.core.Dp times(float, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(double, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(int, androidx.ui.core.Dp other);
+    method public static inline operator long times-Ze-JISM(int, long size);
+    method public static inline operator long times-doH9uME(float, long size);
+    method public static inline operator long times-nKWVx08(double, long size);
+    method public static androidx.ui.core.Bounds toBounds-s2Mz6-8(long);
+    method public static inline long toSize(androidx.ui.core.Bounds);
+  }
+
+  public final inline class DpSquared implements java.lang.Comparable<androidx.ui.core.DpSquared> {
+    ctor public DpSquared();
+    method public inline operator int compareTo-KkBJKWw(float p);
+    method public static inline operator int compareTo-KkBJKWw(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Dp div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-KkBJKWw(float $this, float other);
+    method public static inline operator float plus-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static String toString-impl(float $this);
+  }
+
+  public interface DrawModifier extends androidx.ui.core.Modifier.Element {
+    method public void draw(androidx.ui.core.Density density, kotlin.jvm.functions.Function0<kotlin.Unit> drawContent, androidx.ui.graphics.Canvas canvas, androidx.ui.core.PxSize size);
+  }
+
+  public final class DrawModifierKt {
+    ctor public DrawModifierKt();
+    method public static androidx.ui.core.DrawModifier draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+    method public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+  }
+
+  public interface DrawReceiver extends androidx.ui.core.DensityScope {
+    method public void drawChildren();
+  }
+
+  public final class Duration implements java.lang.Comparable<androidx.ui.core.Duration> {
+    ctor public Duration(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Duration other);
+    method public long component1();
+    method public androidx.ui.core.Duration copy(long nanoseconds);
+    method public operator androidx.ui.core.Duration div(int quotient);
+    method public operator androidx.ui.core.Duration div(double quotient);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration plus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration times(int factor);
+    method public operator androidx.ui.core.Duration times(double factor);
+    field public static final androidx.ui.core.Duration.Companion! Companion;
+  }
+
+  public static final class Duration.Companion {
+    method public androidx.ui.core.Duration getZero();
+    property public final androidx.ui.core.Duration Zero;
+  }
+
+  public final class Durations {
+    ctor public Durations();
+    method public static androidx.ui.core.Duration Duration(long days = 0, long hours = 0, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0, long nanoseconds = 0);
+    method public static androidx.ui.core.Duration getDays(long);
+    method public static androidx.ui.core.Duration getDays(int);
+    method public static androidx.ui.core.Duration getHours(long);
+    method public static androidx.ui.core.Duration getHours(int);
+    method public static androidx.ui.core.Duration getMicroseconds(long);
+    method public static androidx.ui.core.Duration getMicroseconds(int);
+    method public static androidx.ui.core.Duration getMilliseconds(long);
+    method public static androidx.ui.core.Duration getMilliseconds(int);
+    method public static androidx.ui.core.Duration getMinutes(long);
+    method public static androidx.ui.core.Duration getMinutes(int);
+    method public static androidx.ui.core.Duration getNanoseconds(long);
+    method public static androidx.ui.core.Duration getNanoseconds(int);
+    method public static long getNanosecondsPerDay();
+    method public static long getNanosecondsPerHour();
+    method public static long getNanosecondsPerMillisecond();
+    method public static long getNanosecondsPerMinute();
+    method public static long getNanosecondsPerSecond();
+    method public static androidx.ui.core.Duration getSeconds(long);
+    method public static androidx.ui.core.Duration getSeconds(int);
+    method public static long inDays(androidx.ui.core.Duration);
+    method public static long inHours(androidx.ui.core.Duration);
+    method public static long inMicroseconds(androidx.ui.core.Duration);
+    method public static long inMilliseconds(androidx.ui.core.Duration);
+    method public static long inMinutes(androidx.ui.core.Duration);
+    method public static long inSeconds(androidx.ui.core.Duration);
+    field public static final long HoursPerDay = 24L; // 0x18L
+    field public static final long MicrosecondsPerMillisecond = 1000L; // 0x3e8L
+    field public static final long MillisecondsPerSecond = 1000L; // 0x3e8L
+    field public static final long MinutesPerHour = 60L; // 0x3cL
+    field public static final long NanosecondsPerMicrosecond = 1000L; // 0x3e8L
+    field public static final long SecondsPerMinute = 60L; // 0x3cL
+  }
+
+  public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+  public final class InlineClassHelperKt {
+    ctor public InlineClassHelperKt();
+    method public static inline long packFloats(float val1, float val2);
+    method public static inline long packInts(int val1, int val2);
+    method public static inline float unpackFloat1(long value);
+    method public static inline float unpackFloat2(long value);
+    method public static inline int unpackInt1(long value);
+    method public static inline int unpackInt2(long value);
+  }
+
+  public final class IntPx implements java.lang.Comparable<androidx.ui.core.IntPx> {
+    ctor public IntPx(int value);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public int component1();
+    method public androidx.ui.core.IntPx copy(int value);
+    method public operator androidx.ui.core.IntPx div(float other);
+    method public operator androidx.ui.core.IntPx div(double other);
+    method public operator androidx.ui.core.IntPx div(int other);
+    method public int getValue();
+    method public operator androidx.ui.core.IntPx minus(androidx.ui.core.IntPx other);
+    method public operator androidx.ui.core.IntPx plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.IntPx rem(int other);
+    method public operator androidx.ui.core.IntPx times(float other);
+    method public operator androidx.ui.core.IntPx times(double other);
+    method public operator androidx.ui.core.IntPx times(int other);
+    method public operator androidx.ui.core.IntPx unaryMinus();
+    field public static final androidx.ui.core.IntPx.Companion! Companion;
+  }
+
+  public static final class IntPx.Companion {
+    method public androidx.ui.core.IntPx getInfinity();
+    method public androidx.ui.core.IntPx getZero();
+    property public final androidx.ui.core.IntPx Infinity;
+    property public final androidx.ui.core.IntPx Zero;
+  }
+
+  public final class IntPxBounds {
+    ctor public IntPxBounds(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.IntPxBounds copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx getBottom();
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getTop();
+  }
+
+  public final class IntPxKt {
+    ctor public IntPxKt();
+    method public static inline androidx.ui.core.IntPxPosition IntPxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.IntPxSize IntPxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static androidx.ui.core.IntPxPosition center(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPx coerceAtLeast(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue);
+    method public static inline androidx.ui.core.IntPx coerceAtMost(androidx.ui.core.IntPx, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx coerceIn(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx getHeight(androidx.ui.core.IntPxBounds);
+    method public static inline androidx.ui.core.IntPx getIpx(int);
+    method public static inline androidx.ui.core.IntPx getWidth(androidx.ui.core.IntPxBounds);
+    method public static inline boolean isFinite(androidx.ui.core.IntPx);
+    method public static androidx.ui.core.IntPx lerp(androidx.ui.core.IntPx start, androidx.ui.core.IntPx stop, float fraction);
+    method public static androidx.ui.core.IntPxPosition lerp(androidx.ui.core.IntPxPosition start, androidx.ui.core.IntPxPosition stop, float fraction);
+    method public static inline androidx.ui.core.IntPx max(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx min(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx round(androidx.ui.core.Px);
+    method public static inline operator androidx.ui.core.IntPx times(float, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(double, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(int, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPxSize times(int, androidx.ui.core.IntPxSize size);
+    method public static inline androidx.ui.core.Px toPx(androidx.ui.core.IntPx);
+    method public static inline androidx.ui.core.PxPosition toPxPosition(androidx.ui.core.IntPxPosition);
+    method public static inline androidx.ui.core.PxSize toPxSize(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPxSize toSize(androidx.ui.core.IntPxBounds);
+  }
+
+  public final class IntPxPosition {
+    method public androidx.ui.core.IntPxPosition copy(long value);
+    method public inline androidx.ui.core.IntPx getX();
+    method public inline androidx.ui.core.IntPx getY();
+    method public inline operator androidx.ui.core.IntPxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition unaryMinus();
+    property public final inline androidx.ui.core.IntPx x;
+    property public final inline androidx.ui.core.IntPx y;
+    field public static final androidx.ui.core.IntPxPosition.Companion! Companion;
+  }
+
+  public static final class IntPxPosition.Companion {
+    method public androidx.ui.core.IntPxPosition getOrigin();
+    property public final androidx.ui.core.IntPxPosition Origin;
+  }
+
+  public final class IntPxSize {
+    method public androidx.ui.core.IntPxSize copy(long value);
+    method public inline operator androidx.ui.core.IntPxSize div(int other);
+    method public inline androidx.ui.core.IntPx getHeight();
+    method public inline androidx.ui.core.IntPx getWidth();
+    method public inline operator androidx.ui.core.IntPxSize times(int other);
+    property public final inline androidx.ui.core.IntPx height;
+    property public final inline androidx.ui.core.IntPx width;
+  }
+
+  public interface IntrinsicMeasurable {
+    method public Object? getParentData();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    property public abstract Object? parentData;
+  }
+
+  public final class IntrinsicMeasurableKt {
+    ctor public IntrinsicMeasurableKt();
+  }
+
+  public interface LayoutCoordinates {
+    method public androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutCoordinates child, androidx.ui.core.PxPosition childLocal);
+    method public androidx.ui.core.LayoutCoordinates? getParentCoordinates();
+    method public androidx.ui.core.PxPosition getPosition();
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getProvidedAlignmentLines();
+    method public androidx.ui.core.PxSize getSize();
+    method public androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.PxPosition global);
+    method public androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.PxPosition local);
+    method public androidx.ui.core.PxPosition localToRoot(androidx.ui.core.PxPosition local);
+    property public abstract androidx.ui.core.LayoutCoordinates? parentCoordinates;
+    property public abstract androidx.ui.core.PxPosition position;
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> providedAlignmentLines;
+    property public abstract androidx.ui.core.PxSize size;
+  }
+
+  public final class LayoutCoordinatesKt {
+    ctor public LayoutCoordinatesKt();
+    method public static inline androidx.ui.core.PxPosition getGlobalPosition(androidx.ui.core.LayoutCoordinates);
+    method public static inline androidx.ui.core.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+  public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
+    method public default androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
+    method public default androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public default Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
+    method public default androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
+    method public default androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
+  }
+
+  public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+  }
+
+  public abstract class MeasureScope implements androidx.ui.core.DensityScope {
+    ctor public MeasureScope();
+    method public final androidx.ui.core.MeasureScope.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines = emptyMap(), kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+  }
+
+  public static interface MeasureScope.LayoutResult {
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getAlignmentLines();
+    method public androidx.ui.core.IntPx getHeight();
+    method public androidx.ui.core.IntPx getWidth();
+    method public void placeChildren(androidx.ui.core.Placeable.PlacementScope placementScope);
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines;
+    property public abstract androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPx width;
+  }
+
+  public final class MeasureScopeKt {
+    ctor public MeasureScopeKt();
+  }
+
+  public interface Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public default infix androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+  }
+
+  public static interface Modifier.Element extends androidx.ui.core.Modifier {
+    method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+  }
+
+  public static final class Modifier.None implements androidx.ui.core.Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+    field public static final androidx.ui.core.Modifier.None! INSTANCE;
+  }
+
+  public abstract class Placeable {
+    ctor public Placeable();
+    method public abstract operator androidx.ui.core.IntPx? get(androidx.ui.core.AlignmentLine line);
+    method public final androidx.ui.core.IntPx getHeight();
+    method public abstract androidx.ui.core.IntPxSize getSize();
+    method public final androidx.ui.core.IntPx getWidth();
+    method protected abstract void performPlace(androidx.ui.core.IntPxPosition position);
+    property public final androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPxSize size;
+    property public final androidx.ui.core.IntPx width;
+    field public static final androidx.ui.core.Placeable.PlacementScope! PlacementScope;
+  }
+
+  public static final class Placeable.PlacementScope {
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.PxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.Px x, androidx.ui.core.Px y);
+  }
+
+  public enum PointerEventPass {
+    enum_constant public static final androidx.ui.core.PointerEventPass InitialDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostUp;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreUp;
+  }
+
+  public final class PointerInputChange {
+    ctor public PointerInputChange(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.PointerInputData component3();
+    method public androidx.ui.core.ConsumedData component4();
+    method public androidx.ui.core.PointerInputChange copy(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public androidx.ui.core.ConsumedData getConsumed();
+    method public androidx.ui.core.PointerInputData getCurrent();
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPrevious();
+  }
+
+  public final class PointerInputData {
+    ctor public PointerInputData(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    ctor public PointerInputData();
+    method public androidx.ui.core.Uptime? component1();
+    method public androidx.ui.core.PxPosition? component2();
+    method public boolean component3();
+    method public androidx.ui.core.PointerInputData copy(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    method public boolean getDown();
+    method public androidx.ui.core.PxPosition? getPosition();
+    method public androidx.ui.core.Uptime? getUptime();
+  }
+
+  public final class PointerInputKt {
+    ctor public PointerInputKt();
+    method public static boolean anyPositionChangeConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDown(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDownIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUp(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUpIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumeDownChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumePositionChange(androidx.ui.core.PointerInputChange, androidx.ui.core.Px consumedDx, androidx.ui.core.Px consumedDy);
+    method public static androidx.ui.core.PxPosition positionChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PxPosition positionChangeIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChanged(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
+  }
+
+  public final inline class Position {
+    ctor public Position();
+    method public static long constructor-impl(internal long value);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getX-impl(long $this);
+    method public static androidx.ui.core.Dp getY-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long minus-JXBE4ew(long $this, long other);
+    method public static inline operator long plus-JXBE4ew(long $this, long other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class Px implements java.lang.Comparable<androidx.ui.core.Px> {
+    ctor public Px(float value);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public float component1();
+    method public androidx.ui.core.Px copy(float value);
+    method public inline operator androidx.ui.core.Px div(float other);
+    method public inline operator androidx.ui.core.Px div(int other);
+    method public inline operator float div(androidx.ui.core.Px other);
+    method public inline operator float div-kVJEwbQ(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px times(float other);
+    method public inline operator androidx.ui.core.Px times(int other);
+    method public inline operator float times(androidx.ui.core.Px other);
+    method public inline operator float times-kVJEwbQ(float other);
+    method public inline operator androidx.ui.core.Px unaryMinus();
+    field public static final androidx.ui.core.Px.Companion! Companion;
+  }
+
+  public static final class Px.Companion {
+    method public androidx.ui.core.Px getInfinity();
+    method public androidx.ui.core.Px getZero();
+    property public final androidx.ui.core.Px Infinity;
+    property public final androidx.ui.core.Px Zero;
+  }
+
+  public final class PxBounds {
+    ctor public PxBounds(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px component1();
+    method public androidx.ui.core.Px component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.core.Px component4();
+    method public androidx.ui.core.PxBounds copy(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px getBottom();
+    method public androidx.ui.core.Px getLeft();
+    method public androidx.ui.core.Px getRight();
+    method public androidx.ui.core.Px getTop();
+  }
+
+  public final inline class PxCubed implements java.lang.Comparable<androidx.ui.core.PxCubed> {
+    ctor public PxCubed();
+    method public inline operator int compareTo-syUR1PY(float p);
+    method public static inline operator int compareTo-syUR1PY(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-syUR1PY(float $this, float dimension);
+    method public static inline operator float plus-syUR1PY(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class PxInverse implements java.lang.Comparable<androidx.ui.core.PxInverse> {
+    ctor public PxInverse();
+    method public inline operator int compareTo-MXEAIGs(float p);
+    method public static inline operator int compareTo-MXEAIGs(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float plus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-syUR1PY(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class PxKt {
+    ctor public PxKt();
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.Px x, androidx.ui.core.Px y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.Px width, androidx.ui.core.Px height);
+    method public static androidx.ui.core.PxPosition center(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px coerceAtLeast(androidx.ui.core.Px, androidx.ui.core.Px minimumValue);
+    method public static inline androidx.ui.core.Px coerceAtMost(androidx.ui.core.Px, androidx.ui.core.Px maximumValue);
+    method public static inline androidx.ui.core.Px coerceIn(androidx.ui.core.Px, androidx.ui.core.Px minimumValue, androidx.ui.core.Px maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Px other);
+    method public static inline operator float div(double, androidx.ui.core.Px other);
+    method public static inline operator float div(int, androidx.ui.core.Px other);
+    method public static androidx.ui.core.Px getDistance(androidx.ui.core.PxPosition);
+    method public static inline androidx.ui.core.Px getHeight(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px! getMinDimension(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px getPx(int);
+    method public static inline androidx.ui.core.Px getPx(double);
+    method public static inline androidx.ui.core.Px getPx(float);
+    method public static inline androidx.ui.core.Px getWidth(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px lerp(androidx.ui.core.Px start, androidx.ui.core.Px stop, float fraction);
+    method public static androidx.ui.core.PxPosition lerp(androidx.ui.core.PxPosition start, androidx.ui.core.PxPosition stop, float fraction);
+    method public static inline androidx.ui.core.Px max(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.Px min(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.IntPxPosition round(androidx.ui.core.PxPosition);
+    method public static inline operator androidx.ui.core.Px times(float, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(double, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(int, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.PxSize times(int, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(float, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(double, androidx.ui.core.PxSize size);
+    method public static androidx.ui.core.PxBounds toBounds(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.engine.geometry.Offset toOffset(androidx.ui.core.PxPosition);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxBounds);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxSize);
+    method public static androidx.ui.core.PxSize toSize(androidx.ui.core.PxBounds);
+  }
+
+  public final class PxPosition {
+    method public androidx.ui.core.PxPosition copy(long value);
+    method public inline androidx.ui.core.Px getX();
+    method public inline androidx.ui.core.Px getY();
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition unaryMinus();
+    property public final inline androidx.ui.core.Px x;
+    property public final inline androidx.ui.core.Px y;
+    field public static final androidx.ui.core.PxPosition.Companion! Companion;
+  }
+
+  public static final class PxPosition.Companion {
+    method public androidx.ui.core.PxPosition getOrigin();
+    property public final androidx.ui.core.PxPosition Origin;
+  }
+
+  public final class PxSize {
+    method public androidx.ui.core.PxSize copy(long value);
+    method public inline operator androidx.ui.core.PxSize div(int other);
+    method public inline operator androidx.ui.core.PxSize div(float other);
+    method public inline operator androidx.ui.core.PxSize div(double other);
+    method public inline androidx.ui.core.Px getHeight();
+    method public inline androidx.ui.core.Px getWidth();
+    method public inline operator androidx.ui.core.PxSize times(int other);
+    method public inline operator androidx.ui.core.PxSize times(float other);
+    method public inline operator androidx.ui.core.PxSize times(double other);
+    property public final inline androidx.ui.core.Px height;
+    property public final inline androidx.ui.core.Px width;
+    field public static final androidx.ui.core.PxSize.Companion! Companion;
+  }
+
+  public static final class PxSize.Companion {
+    method public androidx.ui.core.PxSize getZero();
+    property public final androidx.ui.core.PxSize Zero;
+  }
+
+  public final inline class PxSquared implements java.lang.Comparable<androidx.ui.core.PxSquared> {
+    ctor public PxSquared();
+    method public inline operator int compareTo-kVJEwbQ(float p);
+    method public static inline operator int compareTo-kVJEwbQ(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Px div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator float div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-kVJEwbQ(float $this, float other);
+    method public static inline operator float plus-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class RectHelperKt {
+    ctor public RectHelperKt();
+    method public static android.graphics.Rect toFrameworkRect(androidx.ui.engine.geometry.Rect);
+    method public static android.graphics.RectF toFrameworkRectF(androidx.ui.engine.geometry.Rect);
+  }
+
+  public final inline class Size {
+    ctor public Size();
+    method public static long constructor-impl(internal long value);
+    method public static inline operator long div-impl(long $this, int other);
+    method public static inline operator long div-impl(long $this, float other);
+    method public static inline operator long div-impl(long $this, double other);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getHeight-impl(long $this);
+    method public static androidx.ui.core.Dp getWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long times-impl(long $this, int other);
+    method public static inline operator long times-impl(long $this, float other);
+    method public static inline operator long times-impl(long $this, double other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class TextUnit {
+    ctor public TextUnit(long packedValue);
+    method public inline operator int compareTo(androidx.ui.core.TextUnit other);
+    method public long component1();
+    method public androidx.ui.core.TextUnit copy(long packedValue);
+    method public inline operator androidx.ui.core.TextUnit div(float other);
+    method public inline operator androidx.ui.core.TextUnit div(double other);
+    method public inline operator androidx.ui.core.TextUnit div(int other);
+    method public inline operator float div(androidx.ui.core.TextUnit other);
+    method public long getPackedValue();
+    method public androidx.ui.core.TextUnitType getType();
+    method public float getValue();
+    method public boolean isEm();
+    method public boolean isInherit();
+    method public boolean isSp();
+    method public inline operator androidx.ui.core.TextUnit minus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit plus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit times(float other);
+    method public inline operator androidx.ui.core.TextUnit times(double other);
+    method public inline operator androidx.ui.core.TextUnit times(int other);
+    method public inline operator androidx.ui.core.TextUnit unaryMinus();
+    property public final boolean isEm;
+    property public final boolean isInherit;
+    property public final boolean isSp;
+    property public final androidx.ui.core.TextUnitType type;
+    property public final float value;
+    field public static final androidx.ui.core.TextUnit.Companion! Companion;
+  }
+
+  public static final class TextUnit.Companion {
+    method public androidx.ui.core.TextUnit Em(int value);
+    method public androidx.ui.core.TextUnit Em(float value);
+    method public androidx.ui.core.TextUnit Em(double value);
+    method public androidx.ui.core.TextUnit Sp(int value);
+    method public androidx.ui.core.TextUnit Sp(float value);
+    method public androidx.ui.core.TextUnit Sp(double value);
+    method public androidx.ui.core.TextUnit getInherit();
+    property public final androidx.ui.core.TextUnit Inherit;
+  }
+
+  public final class TextUnitKt {
+    ctor public TextUnitKt();
+    method public static inline androidx.ui.core.TextUnit coerceAtLeast(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue);
+    method public static inline androidx.ui.core.TextUnit coerceAtMost(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit maximumValue);
+    method public static inline androidx.ui.core.TextUnit coerceIn(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue, androidx.ui.core.TextUnit maximumValue);
+    method public static androidx.ui.core.TextUnit getEm(float);
+    method public static androidx.ui.core.TextUnit getEm(double);
+    method public static androidx.ui.core.TextUnit getEm(int);
+    method public static androidx.ui.core.TextUnit getSp(float);
+    method public static androidx.ui.core.TextUnit getSp(double);
+    method public static androidx.ui.core.TextUnit getSp(int);
+    method public static androidx.ui.core.TextUnit lerpTextUnit(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b, float t);
+    method public static inline androidx.ui.core.TextUnit max(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline androidx.ui.core.TextUnit min(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline operator androidx.ui.core.TextUnit times(float, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(double, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(int, androidx.ui.core.TextUnit other);
+  }
+
+  public enum TextUnitType {
+    enum_constant public static final androidx.ui.core.TextUnitType Em;
+    enum_constant public static final androidx.ui.core.TextUnitType Inherit;
+    enum_constant public static final androidx.ui.core.TextUnitType Sp;
+  }
+
+  public final class Uptime implements java.lang.Comparable<androidx.ui.core.Uptime> {
+    ctor public Uptime(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Uptime other);
+    method public long component1();
+    method public androidx.ui.core.Uptime copy(long nanoseconds);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Uptime minus(androidx.ui.core.Duration duration);
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Uptime other);
+    method public operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration duration);
+    field public static final androidx.ui.core.Uptime.Companion! Companion;
+  }
+
+  public static final class Uptime.Companion {
+    method public androidx.ui.core.Uptime getBoot();
+    property public final androidx.ui.core.Uptime Boot;
+  }
+
+  public final class UptimeKt {
+    ctor public UptimeKt();
+    method public static operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration, androidx.ui.core.Uptime uptime);
+  }
+
+  public final class Velocity {
+    ctor public Velocity(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.core.Velocity copy(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition getPixelsPerSecond();
+    method public operator androidx.ui.core.Velocity unaryMinus();
+    field public static final androidx.ui.core.Velocity.Companion! Companion;
+  }
+
+  public static final class Velocity.Companion {
+    method public androidx.ui.core.Velocity getZero();
+    property public final androidx.ui.core.Velocity Zero;
+  }
+
+  public final class VelocityKt {
+    ctor public VelocityKt();
+    method public static operator androidx.ui.core.Velocity minus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+    method public static operator androidx.ui.core.Velocity plus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+  }
+
+  public final class VerticalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+}
+
+package androidx.ui.engine.geometry {
+
+  public final class Offset implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Offset(float dx, float dy);
+    method public infix androidx.ui.engine.geometry.Rect and(androidx.ui.engine.geometry.Size other);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Offset copy(float dx, float dy);
+    method public operator androidx.ui.engine.geometry.Offset div(float operand);
+    method public float getDirection();
+    method public float getDistance();
+    method public float getDistanceSquared();
+    method public float getDx();
+    method public float getDy();
+    method public operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset plus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset rem(float operand);
+    method public androidx.ui.engine.geometry.Offset scale(float scaleX, float scaleY);
+    method public operator androidx.ui.engine.geometry.Offset times(float operand);
+    method public androidx.ui.engine.geometry.Offset translate(float translateX, float translateY);
+    method public androidx.ui.engine.geometry.Offset truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Offset unaryMinus();
+    field public static final androidx.ui.engine.geometry.Offset.Companion! Companion;
+  }
+
+  public static final class Offset.Companion {
+    method public androidx.ui.engine.geometry.Offset getInfinite();
+    method public androidx.ui.engine.geometry.Offset getZero();
+    method public boolean isValid(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Offset lerp(androidx.ui.engine.geometry.Offset start, androidx.ui.engine.geometry.Offset stop, float fraction);
+    property public final androidx.ui.engine.geometry.Offset infinite;
+    property public final androidx.ui.engine.geometry.Offset zero;
+  }
+
+  public interface OffsetBase {
+    method public float getDx();
+    method public float getDy();
+    method public default boolean isFinite();
+    method public default boolean isGreaterOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isGreaterThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isInfinite();
+    method public default boolean isLessOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isLessThan(androidx.ui.engine.geometry.OffsetBase other);
+    property public abstract float dx;
+    property public abstract float dy;
+  }
+
+  public final class OffsetKt {
+    ctor public OffsetKt();
+    method public static androidx.ui.core.PxPosition toPxPosition(androidx.ui.engine.geometry.Offset);
+  }
+
+  public abstract sealed class Outline {
+  }
+
+  public static final class Outline.Generic extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Generic(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path component1();
+    method public androidx.ui.engine.geometry.Outline.Generic copy(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path getPath();
+  }
+
+  public static final class Outline.Rectangle extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rectangle(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect component1();
+    method public androidx.ui.engine.geometry.Outline.Rectangle copy(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect getRect();
+  }
+
+  public static final class Outline.Rounded extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rounded(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect component1();
+    method public androidx.ui.engine.geometry.Outline.Rounded copy(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect getRrect();
+  }
+
+  public final class OutlineKt {
+    ctor public OutlineKt();
+    method public static void addOutline(androidx.ui.graphics.Path, androidx.ui.engine.geometry.Outline outline);
+    method public static void drawOutline(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Outline outline, androidx.ui.graphics.Paint paint);
+  }
+
+  public final class RRect {
+    ctor public RRect(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method public float component1();
+    method public float component10();
+    method public float component11();
+    method public float component12();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public float component6();
+    method public float component7();
+    method public float component8();
+    method public float component9();
+    method public boolean contains(androidx.ui.engine.geometry.Offset point);
+    method public androidx.ui.engine.geometry.RRect copy(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method @Deprecated public androidx.ui.engine.geometry.RRect deflate(float delta);
+    method public float getBottom();
+    method public float getBottomLeftRadiusX();
+    method public float getBottomLeftRadiusY();
+    method public float getBottomRightRadiusX();
+    method public float getBottomRightRadiusY();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getRight();
+    method public float getTop();
+    method public float getTopLeftRadiusX();
+    method public float getTopLeftRadiusY();
+    method public float getTopRightRadiusX();
+    method public float getTopRightRadiusY();
+    method public float getWidth();
+    method public static androidx.ui.engine.geometry.RRect getZero();
+    method @Deprecated public androidx.ui.engine.geometry.RRect inflate(float delta);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.RRect.Companion! Companion;
+  }
+
+  public static final class RRect.Companion {
+    method public androidx.ui.engine.geometry.RRect getZero();
+    property public final androidx.ui.engine.geometry.RRect Zero;
+  }
+
+  public final class RRectKt {
+    ctor public RRectKt();
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.Radius bottomLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius bottomRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.RRect);
+    method public static float getLongestSide(androidx.ui.engine.geometry.RRect);
+    method public static float getShortestSide(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect grow(androidx.ui.engine.geometry.RRect, float delta);
+    method public static boolean isCircle(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEllipse(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEmpty(androidx.ui.engine.geometry.RRect);
+    method public static boolean isFinite(androidx.ui.engine.geometry.RRect);
+    method public static boolean isRect(androidx.ui.engine.geometry.RRect);
+    method public static boolean isStadium(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect lerp(androidx.ui.engine.geometry.RRect start, androidx.ui.engine.geometry.RRect stop, float fraction);
+    method public static androidx.ui.engine.geometry.Rect middleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect outerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect safeInnerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect shift(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Offset offset);
+    method public static androidx.ui.engine.geometry.RRect shrink(androidx.ui.engine.geometry.RRect, float delta);
+    method public static androidx.ui.engine.geometry.Rect tallMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect wideMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect withRadius(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Radius radius);
+  }
+
+  public final class Radius {
+    ctor public Radius(float x, float y);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Radius copy(float x, float y);
+    method public operator androidx.ui.engine.geometry.Radius div(float operand);
+    method public float getX();
+    method public float getY();
+    method public operator androidx.ui.engine.geometry.Radius minus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius plus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius rem(float operand);
+    method public operator androidx.ui.engine.geometry.Radius times(float operand);
+    method public androidx.ui.engine.geometry.Radius truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Radius unaryMinus();
+    field public static final androidx.ui.engine.geometry.Radius.Companion! Companion;
+  }
+
+  public static final class Radius.Companion {
+    method public androidx.ui.engine.geometry.Radius circular(float radius);
+    method public androidx.ui.engine.geometry.Radius elliptical(float x, float y);
+    method public androidx.ui.engine.geometry.Radius getZero();
+    property public final androidx.ui.engine.geometry.Radius zero;
+  }
+
+  public final class RadiusKt {
+    ctor public RadiusKt();
+    method public static androidx.ui.engine.geometry.Radius lerp(androidx.ui.engine.geometry.Radius start, androidx.ui.engine.geometry.Radius stop, float fraction);
+  }
+
+  public final class Rect {
+    ctor public Rect(float left, float top, float right, float bottom);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect copy(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect deflate(float delta);
+    method public androidx.ui.engine.geometry.Rect expandToInclude(androidx.ui.engine.geometry.Rect other);
+    method public float getBottom();
+    method public androidx.ui.engine.geometry.Offset getBottomCenter();
+    method public androidx.ui.engine.geometry.Offset getBottomLeft();
+    method public androidx.ui.engine.geometry.Offset getBottomRight();
+    method public androidx.ui.engine.geometry.Offset getCenter();
+    method public androidx.ui.engine.geometry.Offset getCenterLeft();
+    method public androidx.ui.engine.geometry.Offset getCenterRight();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getLongestSide();
+    method public float getRight();
+    method public float getShortestSide();
+    method public androidx.ui.engine.geometry.Size getSize();
+    method public float getTop();
+    method public androidx.ui.engine.geometry.Offset getTopCenter();
+    method public androidx.ui.engine.geometry.Offset getTopLeft();
+    method public androidx.ui.engine.geometry.Offset getTopRight();
+    method public float getWidth();
+    method public androidx.ui.engine.geometry.Rect inflate(float delta);
+    method public androidx.ui.engine.geometry.Rect intersect(androidx.ui.engine.geometry.Rect other);
+    method public boolean isEmpty();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public androidx.ui.engine.geometry.Rect join(androidx.ui.engine.geometry.Rect other);
+    method public boolean overlaps(androidx.ui.engine.geometry.Rect other);
+    method public androidx.ui.engine.geometry.Rect shift(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect translate(float translateX, float translateY);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.Rect.Companion! Companion;
+  }
+
+  public static final class Rect.Companion {
+    method public androidx.ui.engine.geometry.Rect fromCircle(androidx.ui.engine.geometry.Offset center, float radius);
+    method public androidx.ui.engine.geometry.Rect fromLTRB(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect fromLTWH(float left, float top, float width, float height);
+    method public androidx.ui.engine.geometry.Rect fromPoints(androidx.ui.engine.geometry.Offset a, androidx.ui.engine.geometry.Offset b);
+    method public androidx.ui.engine.geometry.Rect getLargest();
+    method public androidx.ui.engine.geometry.Rect getZero();
+    method public float get_giantScalar();
+    property public final float _giantScalar;
+    property public final androidx.ui.engine.geometry.Rect largest;
+    property public final androidx.ui.engine.geometry.Rect zero;
+  }
+
+  public final class RectKt {
+    ctor public RectKt();
+    method public static androidx.ui.engine.geometry.Rect lerp(androidx.ui.engine.geometry.Rect start, androidx.ui.engine.geometry.Rect stop, float fraction);
+  }
+
+  public interface Shape {
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public class Size implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Size(float width, float height);
+    method public final androidx.ui.engine.geometry.Offset bottomCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerRight(androidx.ui.engine.geometry.Offset origin);
+    method public final boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public final operator androidx.ui.engine.geometry.Size div(float operand);
+    method public float getDx();
+    method public float getDy();
+    method public final androidx.ui.engine.geometry.Size getFlipped();
+    method public final float getHeight();
+    method public final float getLongestSide();
+    method public final float getShortestSide();
+    method public final float getWidth();
+    method public final boolean isEmpty();
+    method public final operator androidx.ui.engine.geometry.Size minus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Size other);
+    method public final operator androidx.ui.engine.geometry.Size plus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Size rem(float operand);
+    method public final operator androidx.ui.engine.geometry.Size times(float operand);
+    method public final androidx.ui.engine.geometry.Offset topCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Size truncDiv(float operand);
+    property public float dx;
+    property public float dy;
+    field public static final androidx.ui.engine.geometry.Size.Companion! Companion;
+  }
+
+  public static final class Size.Companion {
+    method public androidx.ui.engine.geometry.Size copy(androidx.ui.engine.geometry.Size source);
+    method public androidx.ui.engine.geometry.Size fromHeight(float height);
+    method public androidx.ui.engine.geometry.Size fromRadius(float radius);
+    method public androidx.ui.engine.geometry.Size fromWidth(float width);
+    method public androidx.ui.engine.geometry.Size getInfinite();
+    method public androidx.ui.engine.geometry.Size getZero();
+    method public androidx.ui.engine.geometry.Size? lerp(androidx.ui.engine.geometry.Size start, androidx.ui.engine.geometry.Size stop, float fraction);
+    method public androidx.ui.engine.geometry.Size square(float dimension);
+    property public final androidx.ui.engine.geometry.Size infinite;
+    property public final androidx.ui.engine.geometry.Size zero;
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public enum FocusDetailedState {
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Active;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState ActiveParent;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Captured;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Disabled;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Inactive;
+  }
+
+  public enum FocusState {
+    enum_constant public static final androidx.ui.focus.FocusState Focused;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocused;
+  }
+
+  public final class FocusStateKt {
+    ctor public FocusStateKt();
+    method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
+  }
+
+}
+
+package androidx.ui.graphics {
+
+  public final class AndroidCanvasKt {
+    ctor public AndroidCanvasKt();
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.Image image);
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.PictureRecorder recorder, androidx.ui.engine.geometry.Rect cullRect = Rect.largest);
+    method public static androidx.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+  }
+
+  public final class AndroidImageKt {
+    ctor public AndroidImageKt();
+    method public static androidx.ui.graphics.Image Image(int width, int height, androidx.ui.graphics.ImageConfig config = androidx.ui.graphics.ImageConfig.Argb8888, boolean hasAlpha = true, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Image imageFromResource(android.content.res.Resources res, int resId);
+  }
+
+  public enum BlendMode {
+    method public final android.graphics.PorterDuff.Mode toPorterDuffMode();
+    enum_constant public static final androidx.ui.graphics.BlendMode clear;
+    enum_constant public static final androidx.ui.graphics.BlendMode color;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorBurn;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorDodge;
+    enum_constant public static final androidx.ui.graphics.BlendMode darken;
+    enum_constant public static final androidx.ui.graphics.BlendMode difference;
+    enum_constant public static final androidx.ui.graphics.BlendMode dst;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode exclusion;
+    enum_constant public static final androidx.ui.graphics.BlendMode hardLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode hue;
+    enum_constant public static final androidx.ui.graphics.BlendMode lighten;
+    enum_constant public static final androidx.ui.graphics.BlendMode luminosity;
+    enum_constant public static final androidx.ui.graphics.BlendMode modulate;
+    enum_constant public static final androidx.ui.graphics.BlendMode multiply;
+    enum_constant public static final androidx.ui.graphics.BlendMode overlay;
+    enum_constant public static final androidx.ui.graphics.BlendMode plus;
+    enum_constant public static final androidx.ui.graphics.BlendMode saturation;
+    enum_constant public static final androidx.ui.graphics.BlendMode screen;
+    enum_constant public static final androidx.ui.graphics.BlendMode softLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode src;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode xor;
+  }
+
+  public enum BlurStyle {
+    enum_constant public static final androidx.ui.graphics.BlurStyle inner;
+    enum_constant public static final androidx.ui.graphics.BlurStyle normal;
+    enum_constant public static final androidx.ui.graphics.BlurStyle outer;
+    enum_constant public static final androidx.ui.graphics.BlurStyle solid;
+  }
+
+  public interface Brush {
+    method public void applyTo(androidx.ui.graphics.Paint p);
+  }
+
+  public final class BrushKt {
+    ctor public BrushKt();
+    method public static androidx.ui.graphics.LinearGradient HorizontalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Brush HorizontalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(java.util.List<androidx.ui.graphics.Color> colors, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public interface Canvas {
+    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void clipRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void concat(androidx.ui.vectormath64.Matrix4 matrix4);
+    method public void drawArc(androidx.ui.engine.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public default void drawArcRad(androidx.ui.engine.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public void drawCircle(androidx.ui.engine.geometry.Offset center, float radius, androidx.ui.graphics.Paint paint);
+    method public void drawDoubleRoundRect(androidx.ui.engine.geometry.RRect outer, androidx.ui.engine.geometry.RRect inner, androidx.ui.graphics.Paint paint);
+    method public void drawImage(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Offset topLeftOffset, androidx.ui.graphics.Paint paint);
+    method public void drawImageRect(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Rect src, androidx.ui.engine.geometry.Rect dst, androidx.ui.graphics.Paint paint);
+    method public void drawLine(androidx.ui.engine.geometry.Offset p1, androidx.ui.engine.geometry.Offset p2, androidx.ui.graphics.Paint paint);
+    method public void drawOval(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Paint paint);
+    method public void drawPicture(androidx.ui.graphics.Picture picture);
+    method public void drawPoints(androidx.ui.graphics.PointMode pointMode, java.util.List<androidx.ui.engine.geometry.Offset> points, androidx.ui.graphics.Paint paint);
+    method public void drawRRect(androidx.ui.engine.geometry.RRect rrect, androidx.ui.graphics.Paint paint);
+    method public void drawRawPoints(androidx.ui.graphics.PointMode pointMode, float[] points, androidx.ui.graphics.Paint paint);
+    method public void drawRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawVertices(androidx.ui.Vertices vertices, androidx.ui.graphics.BlendMode blendMode, androidx.ui.graphics.Paint paint);
+    method public android.graphics.Canvas getNativeCanvas();
+    method public void restore();
+    method public void rotate(float degrees);
+    method public default void rotateRad(float radians);
+    method public void save();
+    method public void saveLayer(androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint);
+    method public void scale(float sx, float sy = sx);
+    method public void skew(float sx, float sy);
+    method public default void skewRad(float sxRad, float syRad);
+    method public void translate(float dx, float dy);
+    property public abstract android.graphics.Canvas nativeCanvas;
+  }
+
+  public final class CanvasKt {
+    ctor public CanvasKt();
+    method public static inline void withSave(androidx.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public static inline void withSaveLayer(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public enum ClipOp {
+    enum_constant public static final androidx.ui.graphics.ClipOp difference;
+    enum_constant public static final androidx.ui.graphics.ClipOp intersect;
+  }
+
+  public final class Color {
+    method public androidx.ui.graphics.Color convert(androidx.ui.graphics.colorspace.ColorSpace colorSpace);
+    method public androidx.ui.graphics.Color copy(float alpha = this.alpha, float red = this.red, float green = this.green, float blue = this.blue);
+    method public float getAlpha();
+    method public float getBlue();
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public float getGreen();
+    method public float getRed();
+    method public long getValue();
+    property public final float alpha;
+    property public final float blue;
+    property public final androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public final float green;
+    property public final float red;
+    field public static final androidx.ui.graphics.Color.Companion! Companion;
+  }
+
+  public static final class Color.Companion {
+    method public androidx.ui.graphics.Color getBlack();
+    method public androidx.ui.graphics.Color getBlue();
+    method public androidx.ui.graphics.Color getCyan();
+    method public androidx.ui.graphics.Color getDarkGray();
+    method public androidx.ui.graphics.Color getGray();
+    method public androidx.ui.graphics.Color getGreen();
+    method public androidx.ui.graphics.Color getLightGray();
+    method public androidx.ui.graphics.Color getMagenta();
+    method public androidx.ui.graphics.Color getRed();
+    method public androidx.ui.graphics.Color getTransparent();
+    method public androidx.ui.graphics.Color getWhite();
+    method public androidx.ui.graphics.Color getYellow();
+    property public final androidx.ui.graphics.Color Black;
+    property public final androidx.ui.graphics.Color Blue;
+    property public final androidx.ui.graphics.Color Cyan;
+    property public final androidx.ui.graphics.Color DarkGray;
+    property public final androidx.ui.graphics.Color Gray;
+    property public final androidx.ui.graphics.Color Green;
+    property public final androidx.ui.graphics.Color LightGray;
+    property public final androidx.ui.graphics.Color Magenta;
+    property public final androidx.ui.graphics.Color Red;
+    property public final androidx.ui.graphics.Color Transparent;
+    property public final androidx.ui.graphics.Color White;
+    property public final androidx.ui.graphics.Color Yellow;
+  }
+
+  public final class ColorFilter {
+    ctor public ColorFilter(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.graphics.BlendMode component2();
+    method public androidx.ui.graphics.ColorFilter copy(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color Color(float red, float green, float blue, float alpha = 1f, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Color Color(@ColorInt int color);
+    method public static androidx.ui.graphics.Color Color(long color);
+    method public static androidx.ui.graphics.Color Color(@IntRange(from=0, to=255) int red, @IntRange(from=0, to=255) int green, @IntRange(from=0, to=255) int blue, @IntRange(from=0, to=255) int alpha = 0xFF);
+    method public static androidx.ui.graphics.Color lerp(androidx.ui.graphics.Color start, androidx.ui.graphics.Color stop, @FloatRange(from=0.0, to=1.0) float fraction);
+    method public static float luminance(androidx.ui.graphics.Color);
+    method @ColorInt public static int toArgb(androidx.ui.graphics.Color);
+  }
+
+  public enum FilterQuality {
+    enum_constant public static final androidx.ui.graphics.FilterQuality high;
+    enum_constant public static final androidx.ui.graphics.FilterQuality low;
+    enum_constant public static final androidx.ui.graphics.FilterQuality medium;
+    enum_constant public static final androidx.ui.graphics.FilterQuality none;
+  }
+
+  public final class FixedScale implements androidx.ui.graphics.ScaleFit {
+    ctor public FixedScale(float value);
+    method public float component1();
+    method public androidx.ui.graphics.FixedScale copy(float value);
+    method public float getValue();
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+  }
+
+  public interface Image {
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public androidx.ui.graphics.ImageConfig getConfig();
+    method public boolean getHasAlpha();
+    method public int getHeight();
+    method public android.graphics.Bitmap getNativeImage();
+    method public int getWidth();
+    method public void prepareToDraw();
+    property public abstract androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public abstract androidx.ui.graphics.ImageConfig config;
+    property public abstract boolean hasAlpha;
+    property public abstract int height;
+    property public abstract android.graphics.Bitmap nativeImage;
+    property public abstract int width;
+  }
+
+  public enum ImageByteFormat {
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat png;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawRgba;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawUnmodified;
+  }
+
+  public enum ImageConfig {
+    enum_constant public static final androidx.ui.graphics.ImageConfig Alpha8;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Argb8888;
+    enum_constant public static final androidx.ui.graphics.ImageConfig F16;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Gpu;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Rgb565;
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+  }
+
+  public enum ImageRepeat {
+    enum_constant public static final androidx.ui.graphics.ImageRepeat noRepeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatX;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatY;
+  }
+
+  public final class LinearGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.LinearGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public final class MaskFilter {
+    ctor public MaskFilter(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public androidx.ui.graphics.BlurStyle component1();
+    method public float component2();
+    method public androidx.ui.graphics.MaskFilter copy(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public float getSigma();
+    method public androidx.ui.graphics.BlurStyle getStyle();
+    field public static final androidx.ui.graphics.MaskFilter.Companion! Companion;
+    field public static final int TYPE_BLUR = 1; // 0x1
+    field public static final int TYPE_NONE = 0; // 0x0
+  }
+
+  public static final class MaskFilter.Companion {
+  }
+
+  public final class Paint {
+    ctor public Paint();
+    method public android.graphics.Paint asFrameworkPaint();
+    method public float getAlpha();
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.graphics.ColorFilter? getColorFilter();
+    method public androidx.ui.graphics.FilterQuality getFilterQuality();
+    method public androidx.ui.graphics.MaskFilter getMaskFilter();
+    method public androidx.ui.graphics.Shader? getShader();
+    method public androidx.ui.graphics.StrokeCap getStrokeCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeJoin();
+    method public float getStrokeMiterLimit();
+    method public float getStrokeWidth();
+    method public androidx.ui.graphics.PaintingStyle getStyle();
+    method public boolean isAntiAlias();
+    method public void setAlpha(float value);
+    method public void setAntiAlias(boolean value);
+    method public void setBlendMode(androidx.ui.graphics.BlendMode value);
+    method public void setColor(androidx.ui.graphics.Color color);
+    method public void setColorFilter(androidx.ui.graphics.ColorFilter? value);
+    method public void setFilterQuality(androidx.ui.graphics.FilterQuality value);
+    method public void setMaskFilter(androidx.ui.graphics.MaskFilter value);
+    method public void setShader(androidx.ui.graphics.Shader? value);
+    method public void setStrokeCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeMiterLimit(float value);
+    method public void setStrokeWidth(float value);
+    method public void setStyle(androidx.ui.graphics.PaintingStyle value);
+    property public final float alpha;
+    property public final androidx.ui.graphics.BlendMode blendMode;
+    property public final androidx.ui.graphics.Color color;
+    property public final androidx.ui.graphics.ColorFilter? colorFilter;
+    property public final androidx.ui.graphics.FilterQuality filterQuality;
+    property public final boolean isAntiAlias;
+    property public final androidx.ui.graphics.MaskFilter maskFilter;
+    property public final androidx.ui.graphics.Shader? shader;
+    property public final androidx.ui.graphics.StrokeCap strokeCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeJoin;
+    property public final float strokeMiterLimit;
+    property public final float strokeWidth;
+    property public final androidx.ui.graphics.PaintingStyle style;
+  }
+
+  public enum PaintingStyle {
+    enum_constant public static final androidx.ui.graphics.PaintingStyle fill;
+    enum_constant public static final androidx.ui.graphics.PaintingStyle stroke;
+  }
+
+  public final class Path {
+    ctor public Path(android.graphics.Path internalPath);
+    ctor public Path();
+    method public void _addRect(float left, float top, float right, float bottom);
+    method public void addArc(androidx.ui.engine.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+    method public void addArcRad(androidx.ui.engine.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+    method public void addOval(androidx.ui.engine.geometry.Rect oval);
+    method public void addPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset = Offset.zero, androidx.ui.vectormath64.Matrix4? matrix = null);
+    method public void addPolygon(java.util.List<androidx.ui.engine.geometry.Offset> points, boolean close);
+    method public void addRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void addRect(androidx.ui.engine.geometry.Rect rect);
+    method public void arcTo(androidx.ui.engine.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+    method public void arcToPoint(androidx.ui.engine.geometry.Offset arcEnd, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void arcToRad(androidx.ui.engine.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+    method public void close();
+    method public void conicTo(float x1, float y1, float x2, float y2, float w);
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void extendWithPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset, androidx.ui.vectormath64.Matrix4 matrix);
+    method public androidx.ui.engine.geometry.Rect getBounds();
+    method public androidx.ui.graphics.PathFillType getFillType();
+    method public boolean isConvex();
+    method public boolean isEmpty();
+    method public void lineTo(float dx, float dy);
+    method public void moveTo(float dx, float dy);
+    method public boolean op(androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2, androidx.ui.graphics.PathOperation operation);
+    method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void relativeArcToPoint(androidx.ui.engine.geometry.Offset arcEndDelta, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void relativeConicTo(float x1, float y1, float x2, float y2, float w);
+    method public void relativeCubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void relativeLineTo(float dx, float dy);
+    method public void relativeMoveTo(float dx, float dy);
+    method public void relativeQuadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void reset();
+    method public void setFillType(androidx.ui.graphics.PathFillType value);
+    method public void shift(androidx.ui.engine.geometry.Offset offset);
+    method public android.graphics.Path toFrameworkPath();
+    method public androidx.ui.graphics.Path transform(androidx.ui.vectormath64.Matrix4 matrix);
+    property public final boolean isConvex;
+    property public final boolean isEmpty;
+    field public static final androidx.ui.graphics.Path.Companion! Companion;
+  }
+
+  public static final class Path.Companion {
+    method public androidx.ui.graphics.Path combine(androidx.ui.graphics.PathOperation operation, androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2);
+  }
+
+  public enum PathFillType {
+    enum_constant public static final androidx.ui.graphics.PathFillType evenOdd;
+    enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
+  }
+
+  public enum PathOperation {
+    enum_constant public static final androidx.ui.graphics.PathOperation difference;
+    enum_constant public static final androidx.ui.graphics.PathOperation intersect;
+    enum_constant public static final androidx.ui.graphics.PathOperation reverseDifference;
+    enum_constant public static final androidx.ui.graphics.PathOperation union;
+    enum_constant public static final androidx.ui.graphics.PathOperation xor;
+  }
+
+  public final class Picture {
+    ctor public Picture(android.graphics.Picture frameworkPicture);
+    method public androidx.ui.engine.geometry.Rect cullRect();
+    method public void dispose();
+    method public android.graphics.Picture getFrameworkPicture();
+  }
+
+  public final class PictureRecorder {
+    ctor public PictureRecorder();
+    method public androidx.ui.graphics.Picture endRecording();
+    method public boolean isRecording();
+    property public final boolean isRecording;
+  }
+
+  public enum PointMode {
+    enum_constant public static final androidx.ui.graphics.PointMode lines;
+    enum_constant public static final androidx.ui.graphics.PointMode points;
+    enum_constant public static final androidx.ui.graphics.PointMode polygon;
+  }
+
+  public final class RadialGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.RadialGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public interface ScaleFit {
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+    field public static final androidx.ui.graphics.ScaleFit.Companion! Companion;
+  }
+
+  public static final class ScaleFit.Companion {
+    method public androidx.ui.graphics.ScaleFit getFillHeight();
+    method public androidx.ui.graphics.ScaleFit getFillMaxDimension();
+    method public androidx.ui.graphics.ScaleFit getFillMinDimension();
+    method public androidx.ui.graphics.ScaleFit getFillWidth();
+    method public androidx.ui.graphics.ScaleFit getFit();
+    method public androidx.ui.graphics.FixedScale getNone();
+    property public final androidx.ui.graphics.ScaleFit FillHeight;
+    property public final androidx.ui.graphics.ScaleFit FillMaxDimension;
+    property public final androidx.ui.graphics.ScaleFit FillMinDimension;
+    property public final androidx.ui.graphics.ScaleFit FillWidth;
+    property public final androidx.ui.graphics.ScaleFit Fit;
+    property public final androidx.ui.graphics.FixedScale None;
+  }
+
+  public final class ScaleFitKt {
+    ctor public ScaleFitKt();
+  }
+
+  public final class Shader {
+    ctor public Shader(android.graphics.Shader nativeShader);
+    method public android.graphics.Shader getNativeShader();
+  }
+
+  public class ShaderBrush implements androidx.ui.graphics.Brush {
+    ctor public ShaderBrush(androidx.ui.graphics.Shader shader);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public final androidx.ui.graphics.Shader getShader();
+  }
+
+  public final class ShaderKt {
+    ctor public ShaderKt();
+    method public static androidx.ui.graphics.Shader ImageShader(androidx.ui.graphics.Image image, androidx.ui.graphics.TileMode tileModeX = androidx.ui.graphics.TileMode.Clamp, androidx.ui.graphics.TileMode tileModeY = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader LinearGradientShader(androidx.ui.engine.geometry.Offset from, androidx.ui.engine.geometry.Offset to, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader RadialGradientShader(androidx.ui.engine.geometry.Offset center, float radius, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public final class Shadow {
+    ctor public Shadow(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    ctor public Shadow();
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Offset component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.graphics.Shadow copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    method public androidx.ui.core.Px getBlurRadius();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.engine.geometry.Offset getOffset();
+  }
+
+  public final class ShadowKt {
+    ctor public ShadowKt();
+    method public static androidx.ui.graphics.Shadow lerp(androidx.ui.graphics.Shadow start, androidx.ui.graphics.Shadow stop, float fraction);
+  }
+
+  public final class SolidColor implements androidx.ui.graphics.Brush {
+    ctor public SolidColor(androidx.ui.graphics.Color value);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public androidx.ui.graphics.Color getValue();
+  }
+
+  public enum StrokeCap {
+    enum_constant public static final androidx.ui.graphics.StrokeCap butt;
+    enum_constant public static final androidx.ui.graphics.StrokeCap round;
+    enum_constant public static final androidx.ui.graphics.StrokeCap square;
+  }
+
+  public enum StrokeJoin {
+    enum_constant public static final androidx.ui.graphics.StrokeJoin bevel;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin miter;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin round;
+  }
+
+  public enum TileMode {
+    method public final android.graphics.Shader.TileMode getNativeTileMode();
+    enum_constant public static final androidx.ui.graphics.TileMode Clamp;
+    enum_constant public static final androidx.ui.graphics.TileMode Mirror;
+    enum_constant public static final androidx.ui.graphics.TileMode Repeated;
+  }
+
+  public final class TileModeKt {
+    ctor public TileModeKt();
+    method public static android.graphics.Shader.TileMode NativeClampTileMode();
+    method public static android.graphics.Shader.TileMode NativeMirrorTileMode();
+    method public static android.graphics.Shader.TileMode NativeRepeatedTileMode();
+  }
+
+}
+
+package androidx.ui.graphics.colorspace {
+
+  public enum Adaptation {
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Bradford;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Ciecat02;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation VonKries;
+  }
+
+  public enum ColorModel {
+    method public final int getComponentCount();
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Cmyk;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Lab;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Rgb;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Xyz;
+  }
+
+  public abstract class ColorSpace {
+    ctor public ColorSpace(String name, androidx.ui.graphics.colorspace.ColorModel model);
+    method @Size(min=3) public final float[] fromXyz(float x, float y, float z);
+    method @Size(min=3) public abstract float[] fromXyz(@Size(min=3) float[] v);
+    method @IntRange(from=1, to=4) public final int getComponentCount();
+    method public abstract float getMaxValue(@IntRange(from=0, to=3) int component);
+    method public abstract float getMinValue(@IntRange(from=0, to=3) int component);
+    method public final androidx.ui.graphics.colorspace.ColorModel getModel();
+    method public final String getName();
+    method public boolean isSrgb();
+    method public abstract boolean isWideGamut();
+    method @Size(3) public final float[] toXyz(float r, float g, float b);
+    method @Size(min=3) public abstract float[] toXyz(@Size(min=3) float[] v);
+    property @IntRange(from=1, to=4) public final int componentCount;
+    property public boolean isSrgb;
+    property public abstract boolean isWideGamut;
+  }
+
+  public final class ColorSpaceKt {
+    ctor public ColorSpaceKt();
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.Adaptation adaptation = androidx.ui.graphics.colorspace.Adaptation.Bradford);
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint);
+    method public static androidx.ui.graphics.colorspace.Connector connect(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.ColorSpace destination = ColorSpaces.Srgb, androidx.ui.graphics.colorspace.RenderIntent intent = androidx.ui.graphics.colorspace.RenderIntent.Perceptual);
+  }
+
+  public final class ColorSpaces {
+    method public androidx.ui.graphics.colorspace.Rgb getAces();
+    method public androidx.ui.graphics.colorspace.Rgb getAcescg();
+    method public androidx.ui.graphics.colorspace.Rgb getAdobeRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getBt2020();
+    method public androidx.ui.graphics.colorspace.Rgb getBt709();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieLab();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieXyz();
+    method public androidx.ui.graphics.colorspace.Rgb getDciP3();
+    method public androidx.ui.graphics.colorspace.Rgb getDisplayP3();
+    method public androidx.ui.graphics.colorspace.Rgb getExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getNtsc1953();
+    method public androidx.ui.graphics.colorspace.Rgb getProPhotoRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getSmpteC();
+    method public androidx.ui.graphics.colorspace.Rgb getSrgb();
+    method public androidx.ui.graphics.colorspace.ColorSpace? match(@Size(9) float[] toXYZD50, androidx.ui.graphics.colorspace.TransferParameters function);
+    property public final androidx.ui.graphics.colorspace.Rgb Aces;
+    property public final androidx.ui.graphics.colorspace.Rgb Acescg;
+    property public final androidx.ui.graphics.colorspace.Rgb AdobeRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt2020;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt709;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieLab;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieXyz;
+    property public final androidx.ui.graphics.colorspace.Rgb DciP3;
+    property public final androidx.ui.graphics.colorspace.Rgb DisplayP3;
+    property public final androidx.ui.graphics.colorspace.Rgb ExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Ntsc1953;
+    property public final androidx.ui.graphics.colorspace.Rgb ProPhotoRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb SmpteC;
+    property public final androidx.ui.graphics.colorspace.Rgb Srgb;
+    field public static final androidx.ui.graphics.colorspace.ColorSpaces! INSTANCE;
+  }
+
+  public class Connector {
+    method public final androidx.ui.graphics.colorspace.ColorSpace getDestination();
+    method public final androidx.ui.graphics.colorspace.RenderIntent getRenderIntent();
+    method public final androidx.ui.graphics.colorspace.ColorSpace getSource();
+    method @Size(3) public final float[] transform(float r, float g, float b);
+    method @Size(min=3) public float[] transform(@Size(min=3) float[] v);
+  }
+
+  public final class Illuminant {
+    method public androidx.ui.graphics.colorspace.WhitePoint getA();
+    method public androidx.ui.graphics.colorspace.WhitePoint getB();
+    method public androidx.ui.graphics.colorspace.WhitePoint getC();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD50();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD55();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD60();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD65();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD75();
+    method public androidx.ui.graphics.colorspace.WhitePoint getE();
+    property public final androidx.ui.graphics.colorspace.WhitePoint A;
+    property public final androidx.ui.graphics.colorspace.WhitePoint B;
+    property public final androidx.ui.graphics.colorspace.WhitePoint C;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D50;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D55;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D60;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D65;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D75;
+    property public final androidx.ui.graphics.colorspace.WhitePoint E;
+    field public static final androidx.ui.graphics.colorspace.Illuminant! INSTANCE;
+  }
+
+  public enum RenderIntent {
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Absolute;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Perceptual;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Relative;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Saturation;
+  }
+
+  public final class Rgb extends androidx.ui.graphics.colorspace.ColorSpace {
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, double gamma);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+    method @Size(3) public float[] fromLinear(float r, float g, float b);
+    method @Size(min=3) public float[] fromLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] fromXyz(@Size(min=3) float[] v);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+    method @Size(9) public float[] getInverseTransform();
+    method @Size(min=9) public float[] getInverseTransform(@Size(min=9) float[] inverseTransform);
+    method public float getMaxValue(int component);
+    method public float getMinValue(int component);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+    method @Size(6) public float[] getPrimaries();
+    method @Size(min=6) public float[] getPrimaries(@Size(min=6) float[] primaries);
+    method public androidx.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+    method @Size(9) public float[] getTransform();
+    method @Size(min=9) public float[] getTransform(@Size(min=9) float[] transform);
+    method public androidx.ui.graphics.colorspace.WhitePoint getWhitePoint();
+    method public boolean isWideGamut();
+    method @Size(3) public float[] toLinear(float r, float g, float b);
+    method @Size(min=3) public float[] toLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] toXyz(@Size(min=3) float[] v);
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+    property public boolean isSrgb;
+    property public boolean isWideGamut;
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+  }
+
+  public final class TransferParameters {
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double component1();
+    method public double component2();
+    method public double component3();
+    method public double component4();
+    method public double component5();
+    method public double component6();
+    method public double component7();
+    method public androidx.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double getA();
+    method public double getB();
+    method public double getC();
+    method public double getD();
+    method public double getE();
+    method public double getF();
+    method public double getGamma();
+  }
+
+  public final class WhitePoint {
+    ctor public WhitePoint(float x, float y);
+    ctor public WhitePoint(float x, float y, float z);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+    method public float getX();
+    method public float getY();
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class PathBuilder {
+    ctor public PathBuilder();
+    method public androidx.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder close();
+    method public androidx.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public androidx.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getNodes();
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineToRelative(float x);
+    method public androidx.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder lineToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder quadToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineToRelative(float y);
+  }
+
+  public enum PathCommand {
+    method public final char toKey();
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand Close;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand CurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand HorizontalLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand LineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand MoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand QuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeClose;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeHorizontalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeMoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeVerticalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand VerticalLineTo;
+  }
+
+  public final class PathCommandKt {
+    ctor public PathCommandKt();
+    method public static androidx.ui.graphics.vector.PathCommand toPathCommand(char);
+  }
+
+  public final class PathNode {
+    ctor public PathNode(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public androidx.ui.graphics.vector.PathCommand component1();
+    method public float[] component2();
+    method public androidx.ui.graphics.vector.PathNode copy(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public float[] getArgs();
+    method public androidx.ui.graphics.vector.PathCommand getCommand();
+  }
+
+  public final class PathNodeKt {
+    ctor public PathNodeKt();
+    method public static operator StringBuilder plus(StringBuilder, androidx.ui.graphics.vector.PathNode node);
+  }
+
+  public final class PathParser {
+    ctor public PathParser();
+    method public androidx.ui.graphics.vector.PathParser addPathNodes(java.util.List<androidx.ui.graphics.vector.PathNode> nodes);
+    method public void clear();
+    method public androidx.ui.graphics.vector.PathParser parsePathString(String pathData);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> toNodes();
+    method public androidx.ui.graphics.Path toPath(androidx.ui.graphics.Path target = androidx.ui.graphics.Path());
+  }
+
+  public final class PathParserKt {
+    ctor public PathParserKt();
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class AccessibilityAction<T extends kotlin.Function<? extends kotlin.Unit>> {
+    ctor public AccessibilityAction(String? label, T action);
+    method public String? component1();
+    method public T component2();
+    method public androidx.ui.semantics.AccessibilityAction<T> copy(String? label, T action);
+    method public T getAction();
+    method public String? getLabel();
+  }
+
+  public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
+    ctor public SemanticsPropertyKey(String name);
+    method public final String getName();
+    method public final T! getValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+    method public T! merge(T? existingValue, T? newValue);
+    method public final void setValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+  }
+
+  public interface SemanticsPropertyReceiver {
+    method public operator <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+  }
+
+}
+
+package androidx.ui.testutils {
+
+  public final class PointerInputTestUtilKt {
+    ctor public PointerInputTestUtilKt();
+    method public static androidx.ui.core.PointerInputChange consume(androidx.ui.core.PointerInputChange, float dx = 0f, float dy = 0f, boolean downChange = false);
+    method public static androidx.ui.core.PointerInputChange down(int id = 0, androidx.ui.core.Duration duration = Duration.Zero, float x = 0f, float y = 0f);
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange![] pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.PointerEventPass![] pointerEventPasses, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static androidx.ui.core.PointerInputChange moveBy(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float dx = 0f, float dy = 0f);
+    method public static androidx.ui.core.PointerInputChange moveTo(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float x = 0f, float y = 0f);
+    method public static androidx.ui.core.PointerInputChange up(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration);
+  }
+
+}
+
+package androidx.ui.util {
+
+  public final class Float16 implements java.lang.Comparable<androidx.ui.util.Float16> {
+    ctor public Float16(short halfValue);
+    ctor public Float16(float value);
+    ctor public Float16(double value);
+    method public androidx.ui.util.Float16 absoluteValue();
+    method public androidx.ui.util.Float16 ceil();
+    method public operator int compareTo(androidx.ui.util.Float16 other);
+    method public androidx.ui.util.Float16 floor();
+    method public int getExponent();
+    method public short getHalfValue();
+    method public androidx.ui.util.Float16 getSign();
+    method public int getSignificand();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public boolean isNaN();
+    method public boolean isNormalized();
+    method public androidx.ui.util.Float16 round();
+    method public int toBits();
+    method public byte toByte();
+    method public double toDouble();
+    method public float toFloat();
+    method public String toHexString();
+    method public int toInt();
+    method public long toLong();
+    method public int toRawBits();
+    method public short toShort();
+    method public androidx.ui.util.Float16 trunc();
+    method public androidx.ui.util.Float16 withSign(androidx.ui.util.Float16 sign);
+    property public final int exponent;
+    property public final androidx.ui.util.Float16 sign;
+    property public final int significand;
+    field public static final androidx.ui.util.Float16.Companion! Companion;
+    field public static final int MaxExponent = 15; // 0xf
+    field public static final int MinExponent = -14; // 0xfffffff2
+    field public static final int Size = 16; // 0x10
+  }
+
+  public static final class Float16.Companion {
+    method public androidx.ui.util.Float16 getEpsilon();
+    method public androidx.ui.util.Float16 getLowestValue();
+    method public androidx.ui.util.Float16 getMaxValue();
+    method public androidx.ui.util.Float16 getMinNormal();
+    method public androidx.ui.util.Float16 getMinValue();
+    method public androidx.ui.util.Float16 getNaN();
+    method public androidx.ui.util.Float16 getNegativeInfinity();
+    method public androidx.ui.util.Float16 getNegativeZero();
+    method public androidx.ui.util.Float16 getPositiveInfinity();
+    method public androidx.ui.util.Float16 getPositiveZero();
+    property public final androidx.ui.util.Float16 Epsilon;
+    property public final androidx.ui.util.Float16 LowestValue;
+    property public final androidx.ui.util.Float16 MaxValue;
+    property public final androidx.ui.util.Float16 MinNormal;
+    property public final androidx.ui.util.Float16 MinValue;
+    property public final androidx.ui.util.Float16 NaN;
+    property public final androidx.ui.util.Float16 NegativeInfinity;
+    property public final androidx.ui.util.Float16 NegativeZero;
+    property public final androidx.ui.util.Float16 PositiveInfinity;
+    property public final androidx.ui.util.Float16 PositiveZero;
+  }
+
+  public final class Float16Kt {
+    ctor public Float16Kt();
+    method public static androidx.ui.util.Float16 max(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+    method public static androidx.ui.util.Float16 min(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+  }
+
+}
+
+package androidx.ui.vectormath64 {
+
+  public final class Matrix2 {
+    ctor public Matrix2(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    ctor public Matrix2();
+    ctor public Matrix2(androidx.ui.vectormath64.Matrix2 m);
+    method public androidx.ui.vectormath64.Vector2 component1();
+    method public androidx.ui.vectormath64.Vector2 component2();
+    method public androidx.ui.vectormath64.Matrix2 copy(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    method public operator androidx.ui.vectormath64.Matrix2 dec();
+    method public operator androidx.ui.vectormath64.Matrix2 div(float v);
+    method public operator androidx.ui.vectormath64.Vector2 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM2storage();
+    method public androidx.ui.vectormath64.Vector2 getX();
+    method public androidx.ui.vectormath64.Vector2 getY();
+    method public operator androidx.ui.vectormath64.Matrix2 inc();
+    method public operator androidx.ui.vectormath64.Matrix2 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector2 p);
+    method public void setY(androidx.ui.vectormath64.Vector2 p);
+    method public operator androidx.ui.vectormath64.Matrix2 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 times(androidx.ui.vectormath64.Matrix2 m);
+    method public operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix2 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m2storage;
+    field public static final androidx.ui.vectormath64.Matrix2.Companion! Companion;
+  }
+
+  public static final class Matrix2.Companion {
+    method public androidx.ui.vectormath64.Matrix2 identity();
+    method public androidx.ui.vectormath64.Matrix2 of(float... a);
+  }
+
+  public final class Matrix3 {
+    ctor public Matrix3(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    ctor public Matrix3();
+    ctor public Matrix3(androidx.ui.vectormath64.Matrix3 m);
+    method public androidx.ui.vectormath64.Vector3 component1();
+    method public androidx.ui.vectormath64.Vector3 component2();
+    method public androidx.ui.vectormath64.Vector3 component3();
+    method public androidx.ui.vectormath64.Matrix3 copy(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    method public operator androidx.ui.vectormath64.Matrix3 dec();
+    method public operator androidx.ui.vectormath64.Matrix3 div(float v);
+    method public operator androidx.ui.vectormath64.Vector3 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM3storage();
+    method public androidx.ui.vectormath64.Vector3 getX();
+    method public androidx.ui.vectormath64.Vector3 getY();
+    method public androidx.ui.vectormath64.Vector3 getZ();
+    method public operator androidx.ui.vectormath64.Matrix3 inc();
+    method public operator androidx.ui.vectormath64.Matrix3 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector3 p);
+    method public void setY(androidx.ui.vectormath64.Vector3 p);
+    method public void setZ(androidx.ui.vectormath64.Vector3 p);
+    method public operator androidx.ui.vectormath64.Matrix3 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 times(androidx.ui.vectormath64.Matrix3 m);
+    method public operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix3 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m3storage;
+    field public static final androidx.ui.vectormath64.Matrix3.Companion! Companion;
+  }
+
+  public static final class Matrix3.Companion {
+    method public androidx.ui.vectormath64.Matrix3 identity();
+    method public androidx.ui.vectormath64.Matrix3 of(float... a);
+  }
+
+  public final class Matrix4 {
+    ctor public Matrix4(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    ctor public Matrix4();
+    ctor public Matrix4(androidx.ui.vectormath64.Vector3 right, androidx.ui.vectormath64.Vector3 up, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 position);
+    ctor public Matrix4(androidx.ui.vectormath64.Matrix4 m);
+    method public void assignColumns(androidx.ui.vectormath64.Matrix4 other);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public androidx.ui.vectormath64.Vector4 component1();
+    method public androidx.ui.vectormath64.Vector4 component2();
+    method public androidx.ui.vectormath64.Vector4 component3();
+    method public androidx.ui.vectormath64.Vector4 component4();
+    method public androidx.ui.vectormath64.Matrix4 copy(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    method public float copyInverse(androidx.ui.vectormath64.Matrix4 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 dec();
+    method public operator androidx.ui.vectormath64.Matrix4 div(float v);
+    method public operator androidx.ui.vectormath64.Vector4 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public float getDeterminant();
+    method public inline androidx.ui.vectormath64.Vector3 getForward();
+    method public inline java.util.List<java.lang.Float> getM4storage();
+    method public inline androidx.ui.vectormath64.Vector3 getPosition();
+    method public inline androidx.ui.vectormath64.Vector3 getRight();
+    method public androidx.ui.vectormath64.Vector3 getRotation();
+    method public androidx.ui.vectormath64.Vector4 getRow(int row);
+    method public inline androidx.ui.vectormath64.Vector3 getScale();
+    method public inline androidx.ui.vectormath64.Vector3 getTranslation();
+    method public inline androidx.ui.vectormath64.Vector3 getUp();
+    method public inline androidx.ui.vectormath64.Matrix3 getUpperLeft();
+    method public androidx.ui.vectormath64.Vector4 getW();
+    method public androidx.ui.vectormath64.Vector4 getX();
+    method public androidx.ui.vectormath64.Vector4 getY();
+    method public androidx.ui.vectormath64.Vector4 getZ();
+    method public operator androidx.ui.vectormath64.Matrix4 inc();
+    method public float invert();
+    method public operator androidx.ui.vectormath64.Matrix4 minus(float v);
+    method public androidx.ui.vectormath64.Vector3 perspectiveTransform(androidx.ui.vectormath64.Vector3 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 plus(float v);
+    method public void rotateX(float radians);
+    method public void rotateY(float radians);
+    method public void rotateZ(float radians);
+    method public void scale(Object x, Float? y = null, Float? z = null);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int column, int row, float v);
+    method public inline void setForward(androidx.ui.vectormath64.Vector3 value);
+    method public void setFrom(androidx.ui.vectormath64.Matrix4 arg);
+    method public inline void setPosition(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRight(androidx.ui.vectormath64.Vector3 value);
+    method public void setTranslationRaw(float x, float y, float z);
+    method public inline void setUp(androidx.ui.vectormath64.Vector3 value);
+    method public void setW(androidx.ui.vectormath64.Vector4 p);
+    method public void setX(androidx.ui.vectormath64.Vector4 p);
+    method public void setY(androidx.ui.vectormath64.Vector4 p);
+    method public void setZ(androidx.ui.vectormath64.Vector4 p);
+    method public operator androidx.ui.vectormath64.Matrix4 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix4 times(androidx.ui.vectormath64.Matrix4 m);
+    method public operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public operator void timesAssign(androidx.ui.vectormath64.Matrix4 m);
+    method public float[] toFloatArray();
+    method public void translate(Object x, float y = 0.0f, float z = 0.0f);
+    method public operator androidx.ui.vectormath64.Matrix4 unaryMinus();
+    property public final float determinant;
+    property public final inline androidx.ui.vectormath64.Vector3 forward;
+    property public final inline java.util.List<java.lang.Float> m4storage;
+    property public final inline androidx.ui.vectormath64.Vector3 position;
+    property public final inline androidx.ui.vectormath64.Vector3 right;
+    property public final androidx.ui.vectormath64.Vector3 rotation;
+    property public final inline androidx.ui.vectormath64.Vector3 scale;
+    property public final inline androidx.ui.vectormath64.Vector3 translation;
+    property public final inline androidx.ui.vectormath64.Vector3 up;
+    property public final inline androidx.ui.vectormath64.Matrix3 upperLeft;
+    field public static final androidx.ui.vectormath64.Matrix4.Companion! Companion;
+  }
+
+  public static final class Matrix4.Companion {
+    method public androidx.ui.vectormath64.Matrix4 diagonal3(androidx.ui.vectormath64.Vector3 scale);
+    method public androidx.ui.vectormath64.Matrix4 diagonal3Values(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 identity();
+    method public androidx.ui.vectormath64.Matrix4 of(float... a);
+    method public androidx.ui.vectormath64.Matrix4 rotationX(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationY(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationZ(float radians);
+    method public androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 translation);
+    method public androidx.ui.vectormath64.Matrix4 translationValues(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 zero();
+  }
+
+  public final class Matrix4Kt {
+    ctor public Matrix4Kt();
+    method public static Float? getAsScale(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Offset? getAsTranslation(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Rect inverseTransformRect(androidx.ui.vectormath64.Matrix4 transform, androidx.ui.engine.geometry.Rect rect);
+    method public static boolean isIdentity(androidx.ui.vectormath64.Matrix4);
+    method public static boolean matrixEquals(androidx.ui.vectormath64.Matrix4? a, androidx.ui.vectormath64.Matrix4? b);
+    method public static androidx.ui.engine.geometry.Offset transformPoint(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Offset point);
+    method public static androidx.ui.engine.geometry.Rect transformRect(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Rect rect);
+  }
+
+  public enum MatrixColumn {
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn W;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn X;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Y;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Z;
+  }
+
+  public final class MatrixExtensionsKt {
+    ctor public MatrixExtensionsKt();
+    method public static androidx.ui.vectormath64.Matrix3 inverse(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 inverse(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 lookAt(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 target, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 lookTowards(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 normal(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 ortho(float l, float r, float b, float t, float n, float f);
+    method public static androidx.ui.vectormath64.Matrix4 perspective(float fov, float ratio, float near, float far);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 d);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 axis, float angle);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Vector3 s);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 t);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix2 transpose(androidx.ui.vectormath64.Matrix2 m);
+    method public static androidx.ui.vectormath64.Matrix3 transpose(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 transpose(androidx.ui.vectormath64.Matrix4 m);
+  }
+
+  public final class ScalarKt {
+    ctor public ScalarKt();
+    method public static inline float degrees(float v);
+    method public static inline float fract(float v);
+    method public static inline float mix(float a, float b, float x);
+    method public static inline float radians(float v);
+    method public static inline float sqr(float v);
+    field public static final float FOUR_PI = 12.566371f;
+    field public static final float HALF_PI = 1.5707964f;
+    field public static final float INV_FOUR_PI = 0.07957747f;
+    field public static final float INV_PI = 0.31830987f;
+    field public static final float INV_TWO_PI = 0.15915494f;
+    field public static final float PI = 3.1415927f;
+    field public static final float TWO_PI = 6.2831855f;
+  }
+
+  public final class Vector2 {
+    ctor public Vector2(float x, float y);
+    ctor public Vector2();
+    ctor public Vector2(androidx.ui.vectormath64.Vector2 v);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.vectormath64.Vector2 copy(float x, float y);
+    method public operator androidx.ui.vectormath64.Vector2 dec();
+    method public inline operator androidx.ui.vectormath64.Vector2 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 div(androidx.ui.vectormath64.Vector2 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public inline float getG();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV2storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public float getY();
+    method public operator androidx.ui.vectormath64.Vector2 inc();
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public inline void setG(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public void setY(float p);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline androidx.ui.vectormath64.Vector2 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector2 unaryMinus();
+    property public final inline float g;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v2storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+  }
+
+  public final class Vector3 {
+    ctor public Vector3(float x, float y, float z);
+    ctor public Vector3();
+    ctor public Vector3(androidx.ui.vectormath64.Vector2 v, float z);
+    ctor public Vector3(androidx.ui.vectormath64.Vector3 v);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public androidx.ui.vectormath64.Vector3 copy(float x, float y, float z);
+    method public operator androidx.ui.vectormath64.Vector3 dec();
+    method public inline operator androidx.ui.vectormath64.Vector3 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector3 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV3storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector3 inc();
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline androidx.ui.vectormath64.Vector3 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector3 unaryMinus();
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v3storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+  }
+
+  public final class Vector4 {
+    ctor public Vector4(float x, float y, float z, float w);
+    ctor public Vector4();
+    ctor public Vector4(androidx.ui.vectormath64.Vector2 v, float z, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector3 v, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector4 v);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public androidx.ui.vectormath64.Vector4 copy(float x, float y, float z, float w);
+    method public operator androidx.ui.vectormath64.Vector4 dec();
+    method public inline operator androidx.ui.vectormath64.Vector4 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector4 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(int index1, int index2, int index3, int index4);
+    method public inline float getA();
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getQ();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline androidx.ui.vectormath64.Vector4 getRgba();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline androidx.ui.vectormath64.Vector4 getStpq();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV4storage();
+    method public float getW();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public inline androidx.ui.vectormath64.Vector4 getXyzw();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector4 inc();
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector4 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(int index1, int index2, int index3, int index4, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4, float v);
+    method public inline void setA(float value);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setQ(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRgba(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setStpq(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setT(float value);
+    method public void setW(float p);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setXyzw(androidx.ui.vectormath64.Vector4 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public inline androidx.ui.vectormath64.Vector4 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector4 unaryMinus();
+    property public final inline float a;
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float q;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline androidx.ui.vectormath64.Vector4 rgba;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline androidx.ui.vectormath64.Vector4 stpq;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v4storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+    property public final inline androidx.ui.vectormath64.Vector4 xyzw;
+  }
+
+  public enum VectorComponent {
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent A;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent B;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent G;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent P;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Q;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent R;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent S;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent T;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent W;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent X;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Y;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Z;
+  }
+
+  public final class VectorExtensionsKt {
+    ctor public VectorExtensionsKt();
+    method public static inline androidx.ui.vectormath64.Vector2 abs(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector3 abs(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector4 abs(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, androidx.ui.vectormath64.Vector2 min, androidx.ui.vectormath64.Vector2 max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 min, androidx.ui.vectormath64.Vector3 max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, androidx.ui.vectormath64.Vector4 min, androidx.ui.vectormath64.Vector4 max);
+    method public static inline androidx.ui.vectormath64.Vector3 cross(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 div(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 div(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 div(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline float dot(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float length(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float max(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 max(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 max(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 max(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 min(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 min(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 min(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 minus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 minus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 minus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, androidx.ui.vectormath64.Vector2 x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, androidx.ui.vectormath64.Vector3 x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, androidx.ui.vectormath64.Vector4 x);
+    method public static androidx.ui.vectormath64.Vector2 normalize(androidx.ui.vectormath64.Vector2 v);
+    method public static androidx.ui.vectormath64.Vector3 normalize(androidx.ui.vectormath64.Vector3 v);
+    method public static androidx.ui.vectormath64.Vector4 normalize(androidx.ui.vectormath64.Vector4 v);
+    method public static inline operator androidx.ui.vectormath64.Vector2 plus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 plus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 plus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 reflect(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n);
+    method public static inline androidx.ui.vectormath64.Vector3 reflect(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n);
+    method public static androidx.ui.vectormath64.Vector2 refract(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n, float eta);
+    method public static androidx.ui.vectormath64.Vector3 refract(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n, float eta);
+    method public static inline operator androidx.ui.vectormath64.Vector2 times(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 times(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 times(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 transform(androidx.ui.vectormath64.Vector2 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector3 transform(androidx.ui.vectormath64.Vector3 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector4 transform(androidx.ui.vectormath64.Vector4 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline infix androidx.ui.vectormath64.Vector3 x(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 v);
+  }
+
+}
+
diff --git a/ui/ui-core/api/res-0.1.0-dev04.txt b/ui/ui-core/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-core/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-core/api/restricted_0.1.0-dev04.txt b/ui/ui-core/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..1844fff
--- /dev/null
+++ b/ui/ui-core/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,2714 @@
+// Signature format: 3.0
+package androidx.ui {
+
+  public final class MathHelpersKt {
+    ctor public MathHelpersKt();
+    method public static float lerp(float start, float stop, float fraction);
+    method public static int lerp(int start, int stop, float fraction);
+    method public static long lerp(long start, long stop, float fraction);
+    method public static String toHexString(int);
+    method public static String toStringAsFixed(float, int digits);
+  }
+
+  public enum VertexMode {
+    method public final android.graphics.Canvas.VertexMode toFrameworkVertexMode();
+    enum_constant public static final androidx.ui.VertexMode triangleFan;
+    enum_constant public static final androidx.ui.VertexMode triangleStrip;
+    enum_constant public static final androidx.ui.VertexMode triangles;
+  }
+
+  public final class Vertices {
+    ctor public Vertices(androidx.ui.VertexMode vertexMode, java.util.List<androidx.ui.engine.geometry.Offset> positions, java.util.List<androidx.ui.engine.geometry.Offset> textureCoordinates, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Integer> indices);
+    method public int[] getColors();
+    method public short[] getIndices();
+    method public float[] getPositions();
+    method public float[] getTextureCoordinates();
+    method public androidx.ui.VertexMode getVertexMode();
+    property public final int[] colors;
+    property public final short[] indices;
+    property public final float[] positions;
+    property public final float[] textureCoordinates;
+  }
+
+}
+
+package androidx.ui.autofill {
+
+  public interface Autofill {
+    method public void cancelAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+    method public void requestAutofillForNode(androidx.ui.autofill.AutofillNode autofillNode);
+  }
+
+  public final class AutofillNode {
+    ctor public AutofillNode(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> component1();
+    method public android.graphics.Rect? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? component3();
+    method public androidx.ui.autofill.AutofillNode copy(java.util.List<? extends androidx.ui.autofill.AutofillType> autofillTypes, android.graphics.Rect? boundingBox, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>? onFill);
+    method public java.util.List<androidx.ui.autofill.AutofillType> getAutofillTypes();
+    method public android.graphics.Rect? getBoundingBox();
+    method public int getId();
+    method public kotlin.jvm.functions.Function1<java.lang.String,kotlin.Unit>? getOnFill();
+    method public void setBoundingBox(android.graphics.Rect? p);
+    property public final int id;
+  }
+
+  public final class AutofillTree {
+    ctor public AutofillTree();
+    method public java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> getChildren();
+    method public kotlin.Unit? performAutofill(int id, String value);
+    method public operator void plusAssign(androidx.ui.autofill.AutofillNode autofillNode);
+    property public final java.util.Map<java.lang.Integer,androidx.ui.autofill.AutofillNode> children;
+  }
+
+  public enum AutofillType {
+    enum_constant public static final androidx.ui.autofill.AutofillType EmailAddress;
+    enum_constant public static final androidx.ui.autofill.AutofillType Name;
+  }
+
+}
+
+package androidx.ui.core {
+
+  public enum Alignment {
+    method public final androidx.ui.core.IntPxPosition align(androidx.ui.core.IntPxSize size);
+    enum_constant public static final androidx.ui.core.Alignment BottomCenter;
+    enum_constant public static final androidx.ui.core.Alignment BottomLeft;
+    enum_constant public static final androidx.ui.core.Alignment BottomRight;
+    enum_constant public static final androidx.ui.core.Alignment Center;
+    enum_constant public static final androidx.ui.core.Alignment CenterLeft;
+    enum_constant public static final androidx.ui.core.Alignment CenterRight;
+    enum_constant public static final androidx.ui.core.Alignment TopCenter;
+    enum_constant public static final androidx.ui.core.Alignment TopLeft;
+    enum_constant public static final androidx.ui.core.Alignment TopRight;
+  }
+
+  public abstract sealed class AlignmentLine {
+    method public final boolean getHorizontal();
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static androidx.ui.core.IntPx merge(androidx.ui.core.AlignmentLine, androidx.ui.core.IntPx position1, androidx.ui.core.IntPx position2);
+  }
+
+  public final class Bounds {
+    ctor public Bounds(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.core.Bounds copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class Constraints {
+    ctor public Constraints(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    ctor public Constraints();
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.Constraints copy(androidx.ui.core.IntPx minWidth, androidx.ui.core.IntPx maxWidth, androidx.ui.core.IntPx minHeight, androidx.ui.core.IntPx maxHeight);
+    method public androidx.ui.core.IntPx getMaxHeight();
+    method public androidx.ui.core.IntPx getMaxWidth();
+    method public androidx.ui.core.IntPx getMinHeight();
+    method public androidx.ui.core.IntPx getMinWidth();
+    field public static final androidx.ui.core.Constraints.Companion! Companion;
+  }
+
+  public static final class Constraints.Companion {
+    method public androidx.ui.core.Constraints tightConstraints(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForHeight(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Constraints tightConstraintsForWidth(androidx.ui.core.IntPx width);
+  }
+
+  public final class ConstraintsKt {
+    ctor public ConstraintsKt();
+    method public static androidx.ui.core.IntPxSize constrain(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints enforce(androidx.ui.core.Constraints, androidx.ui.core.Constraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.core.Constraints);
+    method public static boolean getHasTightHeight(androidx.ui.core.Constraints);
+    method public static boolean getHasTightWidth(androidx.ui.core.Constraints);
+    method public static boolean isTight(androidx.ui.core.Constraints);
+    method public static boolean isZero(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints looseMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints offset(androidx.ui.core.Constraints, androidx.ui.core.IntPx horizontal = 0.ipx, androidx.ui.core.IntPx vertical = 0.ipx);
+    method public static boolean satisfiedBy(androidx.ui.core.Constraints, androidx.ui.core.IntPxSize size);
+    method public static androidx.ui.core.Constraints tightMax(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints tightMin(androidx.ui.core.Constraints);
+    method public static androidx.ui.core.Constraints withTight(androidx.ui.core.Constraints, androidx.ui.core.IntPx? width = null, androidx.ui.core.IntPx? height = null);
+  }
+
+  public final class ConsumedData {
+    ctor public ConsumedData(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    ctor public ConsumedData();
+    method public androidx.ui.core.PxPosition component1();
+    method public boolean component2();
+    method public androidx.ui.core.ConsumedData copy(androidx.ui.core.PxPosition positionChange, boolean downChange);
+    method public boolean getDownChange();
+    method public androidx.ui.core.PxPosition getPositionChange();
+  }
+
+  public final class Density {
+    ctor public Density(float density, float fontScale);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.core.Density copy(float density, float fontScale);
+    method public float getDensity();
+    method public float getFontScale();
+  }
+
+  public final class DensityKt {
+    ctor public DensityKt();
+    method public static androidx.ui.core.Density Density(android.content.Context context);
+    method public static androidx.ui.core.DensityScope DensityScope(androidx.ui.core.Density density);
+    method public static <R> R! withDensity(androidx.ui.core.Density density, kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,? extends R> block);
+  }
+
+  public interface DensityScope {
+    method public androidx.ui.core.Density getDensity();
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.Px);
+    method public default androidx.ui.core.Dp toDp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.Dp toDp(float);
+    method public default androidx.ui.core.Dp toDp(int);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.IntPx toIntPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.Dp);
+    method public default androidx.ui.core.Px toPx(androidx.ui.core.TextUnit);
+    method public default androidx.ui.core.PxSize toPx-s2Mz6-8(long);
+    method public default androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.Bounds);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Dp);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.Px);
+    method public default androidx.ui.core.TextUnit toSp(androidx.ui.core.IntPx);
+    method public default androidx.ui.core.TextUnit toSp(float);
+    method public default androidx.ui.core.TextUnit toSp(int);
+    property public abstract androidx.ui.core.Density density;
+  }
+
+  public enum Direction {
+    enum_constant public static final androidx.ui.core.Direction DOWN;
+    enum_constant public static final androidx.ui.core.Direction LEFT;
+    enum_constant public static final androidx.ui.core.Direction RIGHT;
+    enum_constant public static final androidx.ui.core.Direction UP;
+  }
+
+  public final class Dp implements java.lang.Comparable<androidx.ui.core.Dp> {
+    ctor public Dp(float value);
+    method public inline operator int compareTo(androidx.ui.core.Dp other);
+    method public float component1();
+    method public androidx.ui.core.Dp copy(float value);
+    method public inline operator androidx.ui.core.Dp div(float other);
+    method public inline operator androidx.ui.core.Dp div(int other);
+    method public inline operator float div(androidx.ui.core.Dp other);
+    method public inline operator float div-KkBJKWw(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Dp minus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp plus(androidx.ui.core.Dp other);
+    method public inline operator androidx.ui.core.Dp times(float other);
+    method public inline operator androidx.ui.core.Dp times(int other);
+    method public inline operator float times(androidx.ui.core.Dp other);
+    method public inline operator float times-KkBJKWw(float other);
+    method public inline operator androidx.ui.core.Dp unaryMinus();
+    field public static final androidx.ui.core.Dp.Companion! Companion;
+  }
+
+  public static final class Dp.Companion {
+    method public androidx.ui.core.Dp getHairline();
+    method public androidx.ui.core.Dp getInfinity();
+    property public final androidx.ui.core.Dp Hairline;
+    property public final androidx.ui.core.Dp Infinity;
+  }
+
+  public final inline class DpCubed implements java.lang.Comparable<androidx.ui.core.DpCubed> {
+    ctor public DpCubed();
+    method public inline operator int compareTo-zqpl1kg(float p);
+    method public static inline operator int compareTo-zqpl1kg(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator androidx.ui.core.Dp div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float plus-zqpl1kg(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class DpInverse implements java.lang.Comparable<androidx.ui.core.DpInverse> {
+    ctor public DpInverse();
+    method public inline operator int compareTo-ASDJgtI(float p);
+    method public static inline operator int compareTo-ASDJgtI(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-ASDJgtI(float $this, float dimension);
+    method public static inline operator float plus-ASDJgtI(float $this, float dimension);
+    method public static inline operator androidx.ui.core.Dp times-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float times-zqpl1kg(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class DpKt {
+    ctor public DpKt();
+    method public static inline long Position(androidx.ui.core.Dp x, androidx.ui.core.Dp y);
+    method public static inline long Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static long center-s2Mz6-8(long);
+    method public static inline androidx.ui.core.Dp coerceAtLeast(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue);
+    method public static inline androidx.ui.core.Dp coerceAtMost(androidx.ui.core.Dp, androidx.ui.core.Dp maximumValue);
+    method public static inline androidx.ui.core.Dp coerceIn(androidx.ui.core.Dp, androidx.ui.core.Dp minimumValue, androidx.ui.core.Dp maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Dp other);
+    method public static inline operator float div(double, androidx.ui.core.Dp other);
+    method public static inline operator float div(int, androidx.ui.core.Dp other);
+    method public static androidx.ui.core.Dp getDistance-JXBE4ew(long);
+    method public static inline androidx.ui.core.Dp getDp(int);
+    method public static inline androidx.ui.core.Dp getDp(double);
+    method public static inline androidx.ui.core.Dp getDp(float);
+    method public static inline androidx.ui.core.Dp getHeight(androidx.ui.core.Bounds);
+    method public static inline androidx.ui.core.Dp getWidth(androidx.ui.core.Bounds);
+    method public static inline boolean isFinite(androidx.ui.core.Dp);
+    method public static androidx.ui.core.Dp lerp(androidx.ui.core.Dp start, androidx.ui.core.Dp stop, float fraction);
+    method public static long lerp-SuMVOfk(long start, long stop, float fraction);
+    method public static inline androidx.ui.core.Dp max(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline androidx.ui.core.Dp min(androidx.ui.core.Dp a, androidx.ui.core.Dp b);
+    method public static inline operator androidx.ui.core.Dp times(float, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(double, androidx.ui.core.Dp other);
+    method public static inline operator androidx.ui.core.Dp times(int, androidx.ui.core.Dp other);
+    method public static inline operator long times-Ze-JISM(int, long size);
+    method public static inline operator long times-doH9uME(float, long size);
+    method public static inline operator long times-nKWVx08(double, long size);
+    method public static androidx.ui.core.Bounds toBounds-s2Mz6-8(long);
+    method public static inline long toSize(androidx.ui.core.Bounds);
+  }
+
+  public final inline class DpSquared implements java.lang.Comparable<androidx.ui.core.DpSquared> {
+    ctor public DpSquared();
+    method public inline operator int compareTo-KkBJKWw(float p);
+    method public static inline operator int compareTo-KkBJKWw(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-KkBJKWw(float $this, float other);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Dp div-impl(float $this, androidx.ui.core.Dp other);
+    method public static inline operator float div-zqpl1kg(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-KkBJKWw(float $this, float other);
+    method public static inline operator float plus-KkBJKWw(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Dp other);
+    method public static String toString-impl(float $this);
+  }
+
+  public interface DrawModifier extends androidx.ui.core.Modifier.Element {
+    method public void draw(androidx.ui.core.Density density, kotlin.jvm.functions.Function0<kotlin.Unit> drawContent, androidx.ui.graphics.Canvas canvas, androidx.ui.core.PxSize size);
+  }
+
+  public final class DrawModifierKt {
+    ctor public DrawModifierKt();
+    method public static androidx.ui.core.DrawModifier draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+    method public static androidx.ui.core.DrawModifier drawWithContent(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onDraw);
+  }
+
+  public interface DrawReceiver extends androidx.ui.core.DensityScope {
+    method public void drawChildren();
+  }
+
+  public final class Duration implements java.lang.Comparable<androidx.ui.core.Duration> {
+    ctor public Duration(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Duration other);
+    method public long component1();
+    method public androidx.ui.core.Duration copy(long nanoseconds);
+    method public operator androidx.ui.core.Duration div(int quotient);
+    method public operator androidx.ui.core.Duration div(double quotient);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration plus(androidx.ui.core.Duration other);
+    method public operator androidx.ui.core.Duration times(int factor);
+    method public operator androidx.ui.core.Duration times(double factor);
+    field public static final androidx.ui.core.Duration.Companion! Companion;
+  }
+
+  public static final class Duration.Companion {
+    method public androidx.ui.core.Duration getZero();
+    property public final androidx.ui.core.Duration Zero;
+  }
+
+  public final class Durations {
+    ctor public Durations();
+    method public static androidx.ui.core.Duration Duration(long days = 0, long hours = 0, long minutes = 0, long seconds = 0, long milliseconds = 0, long microseconds = 0, long nanoseconds = 0);
+    method public static androidx.ui.core.Duration getDays(long);
+    method public static androidx.ui.core.Duration getDays(int);
+    method public static androidx.ui.core.Duration getHours(long);
+    method public static androidx.ui.core.Duration getHours(int);
+    method public static androidx.ui.core.Duration getMicroseconds(long);
+    method public static androidx.ui.core.Duration getMicroseconds(int);
+    method public static androidx.ui.core.Duration getMilliseconds(long);
+    method public static androidx.ui.core.Duration getMilliseconds(int);
+    method public static androidx.ui.core.Duration getMinutes(long);
+    method public static androidx.ui.core.Duration getMinutes(int);
+    method public static androidx.ui.core.Duration getNanoseconds(long);
+    method public static androidx.ui.core.Duration getNanoseconds(int);
+    method public static long getNanosecondsPerDay();
+    method public static long getNanosecondsPerHour();
+    method public static long getNanosecondsPerMillisecond();
+    method public static long getNanosecondsPerMinute();
+    method public static long getNanosecondsPerSecond();
+    method public static androidx.ui.core.Duration getSeconds(long);
+    method public static androidx.ui.core.Duration getSeconds(int);
+    method public static long inDays(androidx.ui.core.Duration);
+    method public static long inHours(androidx.ui.core.Duration);
+    method public static long inMicroseconds(androidx.ui.core.Duration);
+    method public static long inMilliseconds(androidx.ui.core.Duration);
+    method public static long inMinutes(androidx.ui.core.Duration);
+    method public static long inSeconds(androidx.ui.core.Duration);
+    field public static final long HoursPerDay = 24L; // 0x18L
+    field public static final long MicrosecondsPerMillisecond = 1000L; // 0x3e8L
+    field public static final long MillisecondsPerSecond = 1000L; // 0x3e8L
+    field public static final long MinutesPerHour = 60L; // 0x3cL
+    field public static final long NanosecondsPerMicrosecond = 1000L; // 0x3e8L
+    field public static final long SecondsPerMinute = 60L; // 0x3cL
+  }
+
+  public final class HorizontalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public HorizontalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+  public final class InlineClassHelperKt {
+    ctor public InlineClassHelperKt();
+    method public static inline long packFloats(float val1, float val2);
+    method public static inline long packInts(int val1, int val2);
+    method public static inline float unpackFloat1(long value);
+    method public static inline float unpackFloat2(long value);
+    method public static inline int unpackInt1(long value);
+    method public static inline int unpackInt2(long value);
+  }
+
+  public final class IntPx implements java.lang.Comparable<androidx.ui.core.IntPx> {
+    ctor public IntPx(int value);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public int component1();
+    method public androidx.ui.core.IntPx copy(int value);
+    method public operator androidx.ui.core.IntPx div(float other);
+    method public operator androidx.ui.core.IntPx div(double other);
+    method public operator androidx.ui.core.IntPx div(int other);
+    method public int getValue();
+    method public operator androidx.ui.core.IntPx minus(androidx.ui.core.IntPx other);
+    method public operator androidx.ui.core.IntPx plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.IntPx rem(int other);
+    method public operator androidx.ui.core.IntPx times(float other);
+    method public operator androidx.ui.core.IntPx times(double other);
+    method public operator androidx.ui.core.IntPx times(int other);
+    method public operator androidx.ui.core.IntPx unaryMinus();
+    field public static final androidx.ui.core.IntPx.Companion! Companion;
+  }
+
+  public static final class IntPx.Companion {
+    method public androidx.ui.core.IntPx getInfinity();
+    method public androidx.ui.core.IntPx getZero();
+    property public final androidx.ui.core.IntPx Infinity;
+    property public final androidx.ui.core.IntPx Zero;
+  }
+
+  public final class IntPxBounds {
+    ctor public IntPxBounds(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.core.IntPx component3();
+    method public androidx.ui.core.IntPx component4();
+    method public androidx.ui.core.IntPxBounds copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx top, androidx.ui.core.IntPx right, androidx.ui.core.IntPx bottom);
+    method public androidx.ui.core.IntPx getBottom();
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getTop();
+  }
+
+  public final class IntPxKt {
+    ctor public IntPxKt();
+    method public static inline androidx.ui.core.IntPxPosition IntPxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.IntPxSize IntPxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height);
+    method public static androidx.ui.core.IntPxPosition center(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPx coerceAtLeast(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue);
+    method public static inline androidx.ui.core.IntPx coerceAtMost(androidx.ui.core.IntPx, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx coerceIn(androidx.ui.core.IntPx, androidx.ui.core.IntPx minimumValue, androidx.ui.core.IntPx maximumValue);
+    method public static inline androidx.ui.core.IntPx getHeight(androidx.ui.core.IntPxBounds);
+    method public static inline androidx.ui.core.IntPx getIpx(int);
+    method public static inline androidx.ui.core.IntPx getWidth(androidx.ui.core.IntPxBounds);
+    method public static inline boolean isFinite(androidx.ui.core.IntPx);
+    method public static androidx.ui.core.IntPx lerp(androidx.ui.core.IntPx start, androidx.ui.core.IntPx stop, float fraction);
+    method public static androidx.ui.core.IntPxPosition lerp(androidx.ui.core.IntPxPosition start, androidx.ui.core.IntPxPosition stop, float fraction);
+    method public static inline androidx.ui.core.IntPx max(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx min(androidx.ui.core.IntPx a, androidx.ui.core.IntPx b);
+    method public static inline androidx.ui.core.IntPx round(androidx.ui.core.Px);
+    method public static inline operator androidx.ui.core.IntPx times(float, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(double, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPx times(int, androidx.ui.core.IntPx other);
+    method public static inline operator androidx.ui.core.IntPxSize times(int, androidx.ui.core.IntPxSize size);
+    method public static inline androidx.ui.core.Px toPx(androidx.ui.core.IntPx);
+    method public static inline androidx.ui.core.PxPosition toPxPosition(androidx.ui.core.IntPxPosition);
+    method public static inline androidx.ui.core.PxSize toPxSize(androidx.ui.core.IntPxSize);
+    method public static inline androidx.ui.core.IntPxSize toSize(androidx.ui.core.IntPxBounds);
+  }
+
+  public final class IntPxPosition {
+    method public androidx.ui.core.IntPxPosition copy(long value);
+    method public inline androidx.ui.core.IntPx getX();
+    method public inline androidx.ui.core.IntPx getY();
+    method public inline operator androidx.ui.core.IntPxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.IntPxPosition unaryMinus();
+    property public final inline androidx.ui.core.IntPx x;
+    property public final inline androidx.ui.core.IntPx y;
+    field public static final androidx.ui.core.IntPxPosition.Companion! Companion;
+  }
+
+  public static final class IntPxPosition.Companion {
+    method public androidx.ui.core.IntPxPosition getOrigin();
+    property public final androidx.ui.core.IntPxPosition Origin;
+  }
+
+  public final class IntPxSize {
+    method public androidx.ui.core.IntPxSize copy(long value);
+    method public inline operator androidx.ui.core.IntPxSize div(int other);
+    method public inline androidx.ui.core.IntPx getHeight();
+    method public inline androidx.ui.core.IntPx getWidth();
+    method public inline operator androidx.ui.core.IntPxSize times(int other);
+    property public final inline androidx.ui.core.IntPx height;
+    property public final inline androidx.ui.core.IntPx width;
+  }
+
+  public interface IntrinsicMeasurable {
+    method public Object? getParentData();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    property public abstract Object? parentData;
+  }
+
+  public final class IntrinsicMeasurableKt {
+    ctor public IntrinsicMeasurableKt();
+  }
+
+  public interface LayoutCoordinates {
+    method public androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutCoordinates child, androidx.ui.core.PxPosition childLocal);
+    method public androidx.ui.core.LayoutCoordinates? getParentCoordinates();
+    method public androidx.ui.core.PxPosition getPosition();
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getProvidedAlignmentLines();
+    method public androidx.ui.core.PxSize getSize();
+    method public androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.PxPosition global);
+    method public androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.PxPosition local);
+    method public androidx.ui.core.PxPosition localToRoot(androidx.ui.core.PxPosition local);
+    property public abstract androidx.ui.core.LayoutCoordinates? parentCoordinates;
+    property public abstract androidx.ui.core.PxPosition position;
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> providedAlignmentLines;
+    property public abstract androidx.ui.core.PxSize size;
+  }
+
+  public final class LayoutCoordinatesKt {
+    ctor public LayoutCoordinatesKt();
+    method public static inline androidx.ui.core.PxPosition getGlobalPosition(androidx.ui.core.LayoutCoordinates);
+    method public static inline androidx.ui.core.PxPosition getPositionInRoot(androidx.ui.core.LayoutCoordinates);
+  }
+
+  public enum LayoutDirection {
+    enum_constant public static final androidx.ui.core.LayoutDirection Ltr;
+    enum_constant public static final androidx.ui.core.LayoutDirection Rtl;
+  }
+
+  public interface LayoutModifier extends androidx.ui.core.Modifier.Element {
+    method public default androidx.ui.core.IntPx maxIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx maxIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx minIntrinsicHeightOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx width);
+    method public default androidx.ui.core.IntPx minIntrinsicWidthOf(androidx.ui.core.DensityScope, androidx.ui.core.Measurable measurable, androidx.ui.core.IntPx height);
+    method public default androidx.ui.core.IntPx? modifyAlignmentLine(androidx.ui.core.DensityScope, androidx.ui.core.AlignmentLine line, androidx.ui.core.IntPx? value);
+    method public default androidx.ui.core.Constraints modifyConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public default Object? modifyParentData(androidx.ui.core.DensityScope, Object? parentData);
+    method public default androidx.ui.core.IntPxPosition modifyPosition(androidx.ui.core.DensityScope, androidx.ui.core.IntPxSize childSize, androidx.ui.core.IntPxSize containerSize);
+    method public default androidx.ui.core.IntPxSize modifySize(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints, androidx.ui.core.IntPxSize childSize);
+  }
+
+  public interface Measurable extends androidx.ui.core.IntrinsicMeasurable {
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+  }
+
+  public abstract class MeasureScope implements androidx.ui.core.DensityScope {
+    ctor public MeasureScope();
+    method public final androidx.ui.core.MeasureScope.LayoutResult layout(androidx.ui.core.IntPx width, androidx.ui.core.IntPx height, java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines = emptyMap(), kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable.PlacementScope,kotlin.Unit> placementBlock);
+  }
+
+  public static interface MeasureScope.LayoutResult {
+    method public java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> getAlignmentLines();
+    method public androidx.ui.core.IntPx getHeight();
+    method public androidx.ui.core.IntPx getWidth();
+    method public void placeChildren(androidx.ui.core.Placeable.PlacementScope placementScope);
+    property public abstract java.util.Map<androidx.ui.core.AlignmentLine,androidx.ui.core.IntPx> alignmentLines;
+    property public abstract androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPx width;
+  }
+
+  public final class MeasureScopeKt {
+    ctor public MeasureScopeKt();
+  }
+
+  public interface Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public default infix androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+  }
+
+  public static interface Modifier.Element extends androidx.ui.core.Modifier {
+    method public default <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public default <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+  }
+
+  public static final class Modifier.None implements androidx.ui.core.Modifier {
+    method public <R> R! foldIn(R? initial, kotlin.jvm.functions.Function2<? super R,? super androidx.ui.core.Modifier.Element,? extends R> operation);
+    method public <R> R! foldOut(R? initial, kotlin.jvm.functions.Function2<? super androidx.ui.core.Modifier.Element,? super R,? extends R> operation);
+    method public androidx.ui.core.Modifier wraps(androidx.ui.core.Modifier other);
+    field public static final androidx.ui.core.Modifier.None! INSTANCE;
+  }
+
+  public abstract class Placeable {
+    ctor public Placeable();
+    method public abstract operator androidx.ui.core.IntPx? get(androidx.ui.core.AlignmentLine line);
+    method public final androidx.ui.core.IntPx getHeight();
+    method public abstract androidx.ui.core.IntPxSize getSize();
+    method public final androidx.ui.core.IntPx getWidth();
+    method protected abstract void performPlace(androidx.ui.core.IntPxPosition position);
+    property public final androidx.ui.core.IntPx height;
+    property public abstract androidx.ui.core.IntPxSize size;
+    property public final androidx.ui.core.IntPx width;
+    field public static final androidx.ui.core.Placeable.PlacementScope! PlacementScope;
+  }
+
+  public static final class Placeable.PlacementScope {
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.PxPosition position);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void place(androidx.ui.core.Placeable, androidx.ui.core.Px x, androidx.ui.core.Px y);
+  }
+
+  public enum PointerEventPass {
+    enum_constant public static final androidx.ui.core.PointerEventPass InitialDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PostUp;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreDown;
+    enum_constant public static final androidx.ui.core.PointerEventPass PreUp;
+  }
+
+  public final class PointerInputChange {
+    ctor public PointerInputChange(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.PointerInputData component3();
+    method public androidx.ui.core.ConsumedData component4();
+    method public androidx.ui.core.PointerInputChange copy(int id, androidx.ui.core.PointerInputData current, androidx.ui.core.PointerInputData previous, androidx.ui.core.ConsumedData consumed);
+    method public androidx.ui.core.ConsumedData getConsumed();
+    method public androidx.ui.core.PointerInputData getCurrent();
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPrevious();
+  }
+
+  public final class PointerInputData {
+    ctor public PointerInputData(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    ctor public PointerInputData();
+    method public androidx.ui.core.Uptime? component1();
+    method public androidx.ui.core.PxPosition? component2();
+    method public boolean component3();
+    method public androidx.ui.core.PointerInputData copy(androidx.ui.core.Uptime? uptime, androidx.ui.core.PxPosition? position, boolean down);
+    method public boolean getDown();
+    method public androidx.ui.core.PxPosition? getPosition();
+    method public androidx.ui.core.Uptime? getUptime();
+  }
+
+  public final class PointerInputKt {
+    ctor public PointerInputKt();
+    method public static boolean anyPositionChangeConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDown(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToDownIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUp(androidx.ui.core.PointerInputChange);
+    method public static boolean changedToUpIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumeDownChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PointerInputChange consumePositionChange(androidx.ui.core.PointerInputChange, androidx.ui.core.Px consumedDx, androidx.ui.core.Px consumedDy);
+    method public static androidx.ui.core.PxPosition positionChange(androidx.ui.core.PointerInputChange);
+    method public static androidx.ui.core.PxPosition positionChangeIgnoreConsumed(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChanged(androidx.ui.core.PointerInputChange);
+    method public static boolean positionChangedIgnoreConsumed(androidx.ui.core.PointerInputChange);
+  }
+
+  public final inline class Position {
+    ctor public Position();
+    method public static long constructor-impl(internal long value);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getX-impl(long $this);
+    method public static androidx.ui.core.Dp getY-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long minus-JXBE4ew(long $this, long other);
+    method public static inline operator long plus-JXBE4ew(long $this, long other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class Px implements java.lang.Comparable<androidx.ui.core.Px> {
+    ctor public Px(float value);
+    method public inline operator int compareTo(androidx.ui.core.Px other);
+    method public inline operator int compareTo(androidx.ui.core.IntPx other);
+    method public float component1();
+    method public androidx.ui.core.Px copy(float value);
+    method public inline operator androidx.ui.core.Px div(float other);
+    method public inline operator androidx.ui.core.Px div(int other);
+    method public inline operator float div(androidx.ui.core.Px other);
+    method public inline operator float div-kVJEwbQ(float other);
+    method public float getValue();
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px minus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.Px other);
+    method public inline operator androidx.ui.core.Px plus(androidx.ui.core.IntPx other);
+    method public inline operator androidx.ui.core.Px times(float other);
+    method public inline operator androidx.ui.core.Px times(int other);
+    method public inline operator float times(androidx.ui.core.Px other);
+    method public inline operator float times-kVJEwbQ(float other);
+    method public inline operator androidx.ui.core.Px unaryMinus();
+    field public static final androidx.ui.core.Px.Companion! Companion;
+  }
+
+  public static final class Px.Companion {
+    method public androidx.ui.core.Px getInfinity();
+    method public androidx.ui.core.Px getZero();
+    property public final androidx.ui.core.Px Infinity;
+    property public final androidx.ui.core.Px Zero;
+  }
+
+  public final class PxBounds {
+    ctor public PxBounds(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px component1();
+    method public androidx.ui.core.Px component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.core.Px component4();
+    method public androidx.ui.core.PxBounds copy(androidx.ui.core.Px left, androidx.ui.core.Px top, androidx.ui.core.Px right, androidx.ui.core.Px bottom);
+    method public androidx.ui.core.Px getBottom();
+    method public androidx.ui.core.Px getLeft();
+    method public androidx.ui.core.Px getRight();
+    method public androidx.ui.core.Px getTop();
+  }
+
+  public final inline class PxCubed implements java.lang.Comparable<androidx.ui.core.PxCubed> {
+    ctor public PxCubed();
+    method public inline operator int compareTo-syUR1PY(float p);
+    method public static inline operator int compareTo-syUR1PY(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator float div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-syUR1PY(float $this, float dimension);
+    method public static inline operator float plus-syUR1PY(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final inline class PxInverse implements java.lang.Comparable<androidx.ui.core.PxInverse> {
+    ctor public PxInverse();
+    method public inline operator int compareTo-MXEAIGs(float p);
+    method public static inline operator int compareTo-MXEAIGs(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float plus-MXEAIGs(float $this, float dimension);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-syUR1PY(float $this, float other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class PxKt {
+    ctor public PxKt();
+    method public static inline androidx.ui.core.PxPosition PxPosition(androidx.ui.core.Px x, androidx.ui.core.Px y);
+    method public static inline androidx.ui.core.PxSize PxSize(androidx.ui.core.Px width, androidx.ui.core.Px height);
+    method public static androidx.ui.core.PxPosition center(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px coerceAtLeast(androidx.ui.core.Px, androidx.ui.core.Px minimumValue);
+    method public static inline androidx.ui.core.Px coerceAtMost(androidx.ui.core.Px, androidx.ui.core.Px maximumValue);
+    method public static inline androidx.ui.core.Px coerceIn(androidx.ui.core.Px, androidx.ui.core.Px minimumValue, androidx.ui.core.Px maximumValue);
+    method public static inline operator float div(float, androidx.ui.core.Px other);
+    method public static inline operator float div(double, androidx.ui.core.Px other);
+    method public static inline operator float div(int, androidx.ui.core.Px other);
+    method public static androidx.ui.core.Px getDistance(androidx.ui.core.PxPosition);
+    method public static inline androidx.ui.core.Px getHeight(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px! getMinDimension(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.core.Px getPx(int);
+    method public static inline androidx.ui.core.Px getPx(double);
+    method public static inline androidx.ui.core.Px getPx(float);
+    method public static inline androidx.ui.core.Px getWidth(androidx.ui.core.PxBounds);
+    method public static androidx.ui.core.Px lerp(androidx.ui.core.Px start, androidx.ui.core.Px stop, float fraction);
+    method public static androidx.ui.core.PxPosition lerp(androidx.ui.core.PxPosition start, androidx.ui.core.PxPosition stop, float fraction);
+    method public static inline androidx.ui.core.Px max(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.Px min(androidx.ui.core.Px a, androidx.ui.core.Px b);
+    method public static inline androidx.ui.core.IntPxPosition round(androidx.ui.core.PxPosition);
+    method public static inline operator androidx.ui.core.Px times(float, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(double, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.Px times(int, androidx.ui.core.Px other);
+    method public static inline operator androidx.ui.core.PxSize times(int, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(float, androidx.ui.core.PxSize size);
+    method public static inline operator androidx.ui.core.PxSize times(double, androidx.ui.core.PxSize size);
+    method public static androidx.ui.core.PxBounds toBounds(androidx.ui.core.PxSize);
+    method public static inline androidx.ui.engine.geometry.Offset toOffset(androidx.ui.core.PxPosition);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxBounds);
+    method public static androidx.ui.engine.geometry.Rect toRect(androidx.ui.core.PxSize);
+    method public static androidx.ui.core.PxSize toSize(androidx.ui.core.PxBounds);
+  }
+
+  public final class PxPosition {
+    method public androidx.ui.core.PxPosition copy(long value);
+    method public inline androidx.ui.core.Px getX();
+    method public inline androidx.ui.core.Px getY();
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition minus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.PxPosition other);
+    method public inline operator androidx.ui.core.PxPosition plus(androidx.ui.core.IntPxPosition other);
+    method public inline operator androidx.ui.core.PxPosition unaryMinus();
+    property public final inline androidx.ui.core.Px x;
+    property public final inline androidx.ui.core.Px y;
+    field public static final androidx.ui.core.PxPosition.Companion! Companion;
+  }
+
+  public static final class PxPosition.Companion {
+    method public androidx.ui.core.PxPosition getOrigin();
+    property public final androidx.ui.core.PxPosition Origin;
+  }
+
+  public final class PxSize {
+    method public androidx.ui.core.PxSize copy(long value);
+    method public inline operator androidx.ui.core.PxSize div(int other);
+    method public inline operator androidx.ui.core.PxSize div(float other);
+    method public inline operator androidx.ui.core.PxSize div(double other);
+    method public inline androidx.ui.core.Px getHeight();
+    method public inline androidx.ui.core.Px getWidth();
+    method public inline operator androidx.ui.core.PxSize times(int other);
+    method public inline operator androidx.ui.core.PxSize times(float other);
+    method public inline operator androidx.ui.core.PxSize times(double other);
+    property public final inline androidx.ui.core.Px height;
+    property public final inline androidx.ui.core.Px width;
+    field public static final androidx.ui.core.PxSize.Companion! Companion;
+  }
+
+  public static final class PxSize.Companion {
+    method public androidx.ui.core.PxSize getZero();
+    property public final androidx.ui.core.PxSize Zero;
+  }
+
+  public final inline class PxSquared implements java.lang.Comparable<androidx.ui.core.PxSquared> {
+    ctor public PxSquared();
+    method public inline operator int compareTo-kVJEwbQ(float p);
+    method public static inline operator int compareTo-kVJEwbQ(float $this, float other);
+    method public static float constructor-impl(float value);
+    method public static inline operator float div-impl(float $this, float other);
+    method public static inline operator androidx.ui.core.Px div-impl(float $this, androidx.ui.core.Px other);
+    method public static inline operator float div-kVJEwbQ(float $this, float other);
+    method public static inline operator float div-syUR1PY(float $this, float other);
+    method public static boolean equals-impl(float p, Object? p1);
+    method public static boolean equals-impl0(float p1, float p2);
+    method public float getValue();
+    method public static int hashCode-impl(float p);
+    method public static inline operator float minus-kVJEwbQ(float $this, float other);
+    method public static inline operator float plus-kVJEwbQ(float $this, float other);
+    method public static inline operator float times-impl(float $this, float other);
+    method public static inline operator float times-impl(float $this, androidx.ui.core.Px other);
+    method public static String toString-impl(float $this);
+  }
+
+  public final class RectHelperKt {
+    ctor public RectHelperKt();
+    method public static android.graphics.Rect toFrameworkRect(androidx.ui.engine.geometry.Rect);
+    method public static android.graphics.RectF toFrameworkRectF(androidx.ui.engine.geometry.Rect);
+  }
+
+  public final inline class Size {
+    ctor public Size();
+    method public static long constructor-impl(internal long value);
+    method public static inline operator long div-impl(long $this, int other);
+    method public static inline operator long div-impl(long $this, float other);
+    method public static inline operator long div-impl(long $this, double other);
+    method public static boolean equals-impl(long p, Object? p1);
+    method public static boolean equals-impl0(long p1, long p2);
+    method public static androidx.ui.core.Dp getHeight-impl(long $this);
+    method public static androidx.ui.core.Dp getWidth-impl(long $this);
+    method public static int hashCode-impl(long p);
+    method public static inline operator long times-impl(long $this, int other);
+    method public static inline operator long times-impl(long $this, float other);
+    method public static inline operator long times-impl(long $this, double other);
+    method public static String toString-impl(long $this);
+  }
+
+  public final class TextUnit {
+    ctor public TextUnit(long packedValue);
+    method public inline operator int compareTo(androidx.ui.core.TextUnit other);
+    method public long component1();
+    method public androidx.ui.core.TextUnit copy(long packedValue);
+    method public inline operator androidx.ui.core.TextUnit div(float other);
+    method public inline operator androidx.ui.core.TextUnit div(double other);
+    method public inline operator androidx.ui.core.TextUnit div(int other);
+    method public inline operator float div(androidx.ui.core.TextUnit other);
+    method public long getPackedValue();
+    method public androidx.ui.core.TextUnitType getType();
+    method public float getValue();
+    method public boolean isEm();
+    method public boolean isInherit();
+    method public boolean isSp();
+    method public inline operator androidx.ui.core.TextUnit minus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit plus(androidx.ui.core.TextUnit other);
+    method public inline operator androidx.ui.core.TextUnit times(float other);
+    method public inline operator androidx.ui.core.TextUnit times(double other);
+    method public inline operator androidx.ui.core.TextUnit times(int other);
+    method public inline operator androidx.ui.core.TextUnit unaryMinus();
+    property public final boolean isEm;
+    property public final boolean isInherit;
+    property public final boolean isSp;
+    property public final androidx.ui.core.TextUnitType type;
+    property public final float value;
+    field public static final androidx.ui.core.TextUnit.Companion! Companion;
+  }
+
+  public static final class TextUnit.Companion {
+    method public androidx.ui.core.TextUnit Em(int value);
+    method public androidx.ui.core.TextUnit Em(float value);
+    method public androidx.ui.core.TextUnit Em(double value);
+    method public androidx.ui.core.TextUnit Sp(int value);
+    method public androidx.ui.core.TextUnit Sp(float value);
+    method public androidx.ui.core.TextUnit Sp(double value);
+    method public androidx.ui.core.TextUnit getInherit();
+    property public final androidx.ui.core.TextUnit Inherit;
+  }
+
+  public final class TextUnitKt {
+    ctor public TextUnitKt();
+    method public static inline androidx.ui.core.TextUnit coerceAtLeast(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue);
+    method public static inline androidx.ui.core.TextUnit coerceAtMost(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit maximumValue);
+    method public static inline androidx.ui.core.TextUnit coerceIn(androidx.ui.core.TextUnit, androidx.ui.core.TextUnit minimumValue, androidx.ui.core.TextUnit maximumValue);
+    method public static androidx.ui.core.TextUnit getEm(float);
+    method public static androidx.ui.core.TextUnit getEm(double);
+    method public static androidx.ui.core.TextUnit getEm(int);
+    method public static androidx.ui.core.TextUnit getSp(float);
+    method public static androidx.ui.core.TextUnit getSp(double);
+    method public static androidx.ui.core.TextUnit getSp(int);
+    method public static androidx.ui.core.TextUnit lerpTextUnit(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b, float t);
+    method public static inline androidx.ui.core.TextUnit max(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline androidx.ui.core.TextUnit min(androidx.ui.core.TextUnit a, androidx.ui.core.TextUnit b);
+    method public static inline operator androidx.ui.core.TextUnit times(float, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(double, androidx.ui.core.TextUnit other);
+    method public static inline operator androidx.ui.core.TextUnit times(int, androidx.ui.core.TextUnit other);
+  }
+
+  public enum TextUnitType {
+    enum_constant public static final androidx.ui.core.TextUnitType Em;
+    enum_constant public static final androidx.ui.core.TextUnitType Inherit;
+    enum_constant public static final androidx.ui.core.TextUnitType Sp;
+  }
+
+  public final class Uptime implements java.lang.Comparable<androidx.ui.core.Uptime> {
+    ctor public Uptime(long nanoseconds);
+    method public int compareTo(androidx.ui.core.Uptime other);
+    method public long component1();
+    method public androidx.ui.core.Uptime copy(long nanoseconds);
+    method public long getNanoseconds();
+    method public operator androidx.ui.core.Uptime minus(androidx.ui.core.Duration duration);
+    method public operator androidx.ui.core.Duration minus(androidx.ui.core.Uptime other);
+    method public operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration duration);
+    field public static final androidx.ui.core.Uptime.Companion! Companion;
+  }
+
+  public static final class Uptime.Companion {
+    method public androidx.ui.core.Uptime getBoot();
+    property public final androidx.ui.core.Uptime Boot;
+  }
+
+  public final class UptimeKt {
+    ctor public UptimeKt();
+    method public static operator androidx.ui.core.Uptime plus(androidx.ui.core.Duration, androidx.ui.core.Uptime uptime);
+  }
+
+  public final class Velocity {
+    ctor public Velocity(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.core.Velocity copy(androidx.ui.core.PxPosition pixelsPerSecond);
+    method public androidx.ui.core.PxPosition getPixelsPerSecond();
+    method public operator androidx.ui.core.Velocity unaryMinus();
+    field public static final androidx.ui.core.Velocity.Companion! Companion;
+  }
+
+  public static final class Velocity.Companion {
+    method public androidx.ui.core.Velocity getZero();
+    property public final androidx.ui.core.Velocity Zero;
+  }
+
+  public final class VelocityKt {
+    ctor public VelocityKt();
+    method public static operator androidx.ui.core.Velocity minus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+    method public static operator androidx.ui.core.Velocity plus(androidx.ui.core.Velocity, androidx.ui.core.Velocity other);
+  }
+
+  public final class VerticalAlignmentLine extends androidx.ui.core.AlignmentLine {
+    ctor public VerticalAlignmentLine(kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> merger);
+  }
+
+}
+
+package androidx.ui.engine.geometry {
+
+  public final class Offset implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Offset(float dx, float dy);
+    method public infix androidx.ui.engine.geometry.Rect and(androidx.ui.engine.geometry.Size other);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Offset copy(float dx, float dy);
+    method public operator androidx.ui.engine.geometry.Offset div(float operand);
+    method public float getDirection();
+    method public float getDistance();
+    method public float getDistanceSquared();
+    method public float getDx();
+    method public float getDy();
+    method public operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset plus(androidx.ui.engine.geometry.Offset other);
+    method public operator androidx.ui.engine.geometry.Offset rem(float operand);
+    method public androidx.ui.engine.geometry.Offset scale(float scaleX, float scaleY);
+    method public operator androidx.ui.engine.geometry.Offset times(float operand);
+    method public androidx.ui.engine.geometry.Offset translate(float translateX, float translateY);
+    method public androidx.ui.engine.geometry.Offset truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Offset unaryMinus();
+    field public static final androidx.ui.engine.geometry.Offset.Companion! Companion;
+  }
+
+  public static final class Offset.Companion {
+    method public androidx.ui.engine.geometry.Offset getInfinite();
+    method public androidx.ui.engine.geometry.Offset getZero();
+    method public boolean isValid(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Offset lerp(androidx.ui.engine.geometry.Offset start, androidx.ui.engine.geometry.Offset stop, float fraction);
+    property public final androidx.ui.engine.geometry.Offset infinite;
+    property public final androidx.ui.engine.geometry.Offset zero;
+  }
+
+  public interface OffsetBase {
+    method public float getDx();
+    method public float getDy();
+    method public default boolean isFinite();
+    method public default boolean isGreaterOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isGreaterThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isInfinite();
+    method public default boolean isLessOrEqThan(androidx.ui.engine.geometry.OffsetBase other);
+    method public default boolean isLessThan(androidx.ui.engine.geometry.OffsetBase other);
+    property public abstract float dx;
+    property public abstract float dy;
+  }
+
+  public final class OffsetKt {
+    ctor public OffsetKt();
+    method public static androidx.ui.core.PxPosition toPxPosition(androidx.ui.engine.geometry.Offset);
+  }
+
+  public abstract sealed class Outline {
+  }
+
+  public static final class Outline.Generic extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Generic(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path component1();
+    method public androidx.ui.engine.geometry.Outline.Generic copy(androidx.ui.graphics.Path path);
+    method public androidx.ui.graphics.Path getPath();
+  }
+
+  public static final class Outline.Rectangle extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rectangle(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect component1();
+    method public androidx.ui.engine.geometry.Outline.Rectangle copy(androidx.ui.engine.geometry.Rect rect);
+    method public androidx.ui.engine.geometry.Rect getRect();
+  }
+
+  public static final class Outline.Rounded extends androidx.ui.engine.geometry.Outline {
+    ctor public Outline.Rounded(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect component1();
+    method public androidx.ui.engine.geometry.Outline.Rounded copy(androidx.ui.engine.geometry.RRect rrect);
+    method public androidx.ui.engine.geometry.RRect getRrect();
+  }
+
+  public final class OutlineKt {
+    ctor public OutlineKt();
+    method public static void addOutline(androidx.ui.graphics.Path, androidx.ui.engine.geometry.Outline outline);
+    method public static void drawOutline(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Outline outline, androidx.ui.graphics.Paint paint);
+  }
+
+  public final class RRect {
+    ctor public RRect(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method public float component1();
+    method public float component10();
+    method public float component11();
+    method public float component12();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public float component5();
+    method public float component6();
+    method public float component7();
+    method public float component8();
+    method public float component9();
+    method public boolean contains(androidx.ui.engine.geometry.Offset point);
+    method public androidx.ui.engine.geometry.RRect copy(float left, float top, float right, float bottom, float topLeftRadiusX, float topLeftRadiusY, float topRightRadiusX, float topRightRadiusY, float bottomRightRadiusX, float bottomRightRadiusY, float bottomLeftRadiusX, float bottomLeftRadiusY);
+    method @Deprecated public androidx.ui.engine.geometry.RRect deflate(float delta);
+    method public float getBottom();
+    method public float getBottomLeftRadiusX();
+    method public float getBottomLeftRadiusY();
+    method public float getBottomRightRadiusX();
+    method public float getBottomRightRadiusY();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getRight();
+    method public float getTop();
+    method public float getTopLeftRadiusX();
+    method public float getTopLeftRadiusY();
+    method public float getTopRightRadiusX();
+    method public float getTopRightRadiusY();
+    method public float getWidth();
+    method public static androidx.ui.engine.geometry.RRect getZero();
+    method @Deprecated public androidx.ui.engine.geometry.RRect inflate(float delta);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.RRect.Companion! Companion;
+  }
+
+  public static final class RRect.Companion {
+    method public androidx.ui.engine.geometry.RRect getZero();
+    property public final androidx.ui.engine.geometry.RRect Zero;
+  }
+
+  public final class RRectKt {
+    ctor public RRectKt();
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, float radiusX, float radiusY);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius radius);
+    method public static androidx.ui.engine.geometry.RRect RRect(float left, float top, float right, float bottom, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.RRect RRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.engine.geometry.Radius topLeft = Radius.zero, androidx.ui.engine.geometry.Radius topRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomRight = Radius.zero, androidx.ui.engine.geometry.Radius bottomLeft = Radius.zero);
+    method public static androidx.ui.engine.geometry.Radius bottomLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius bottomRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.RRect);
+    method public static float getLongestSide(androidx.ui.engine.geometry.RRect);
+    method public static float getShortestSide(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect grow(androidx.ui.engine.geometry.RRect, float delta);
+    method public static boolean isCircle(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEllipse(androidx.ui.engine.geometry.RRect);
+    method public static boolean isEmpty(androidx.ui.engine.geometry.RRect);
+    method public static boolean isFinite(androidx.ui.engine.geometry.RRect);
+    method public static boolean isRect(androidx.ui.engine.geometry.RRect);
+    method public static boolean isStadium(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect lerp(androidx.ui.engine.geometry.RRect start, androidx.ui.engine.geometry.RRect stop, float fraction);
+    method public static androidx.ui.engine.geometry.Rect middleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect outerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect safeInnerRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect shift(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Offset offset);
+    method public static androidx.ui.engine.geometry.RRect shrink(androidx.ui.engine.geometry.RRect, float delta);
+    method public static androidx.ui.engine.geometry.Rect tallMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topLeftRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Radius topRightRadius(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.Rect wideMiddleRect(androidx.ui.engine.geometry.RRect);
+    method public static androidx.ui.engine.geometry.RRect withRadius(androidx.ui.engine.geometry.RRect, androidx.ui.engine.geometry.Radius radius);
+  }
+
+  public final class Radius {
+    ctor public Radius(float x, float y);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.engine.geometry.Radius copy(float x, float y);
+    method public operator androidx.ui.engine.geometry.Radius div(float operand);
+    method public float getX();
+    method public float getY();
+    method public operator androidx.ui.engine.geometry.Radius minus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius plus(androidx.ui.engine.geometry.Radius other);
+    method public operator androidx.ui.engine.geometry.Radius rem(float operand);
+    method public operator androidx.ui.engine.geometry.Radius times(float operand);
+    method public androidx.ui.engine.geometry.Radius truncDiv(float operand);
+    method public operator androidx.ui.engine.geometry.Radius unaryMinus();
+    field public static final androidx.ui.engine.geometry.Radius.Companion! Companion;
+  }
+
+  public static final class Radius.Companion {
+    method public androidx.ui.engine.geometry.Radius circular(float radius);
+    method public androidx.ui.engine.geometry.Radius elliptical(float x, float y);
+    method public androidx.ui.engine.geometry.Radius getZero();
+    property public final androidx.ui.engine.geometry.Radius zero;
+  }
+
+  public final class RadiusKt {
+    ctor public RadiusKt();
+    method public static androidx.ui.engine.geometry.Radius lerp(androidx.ui.engine.geometry.Radius start, androidx.ui.engine.geometry.Radius stop, float fraction);
+  }
+
+  public final class Rect {
+    ctor public Rect(float left, float top, float right, float bottom);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect copy(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect deflate(float delta);
+    method public androidx.ui.engine.geometry.Rect expandToInclude(androidx.ui.engine.geometry.Rect other);
+    method public float getBottom();
+    method public androidx.ui.engine.geometry.Offset getBottomCenter();
+    method public androidx.ui.engine.geometry.Offset getBottomLeft();
+    method public androidx.ui.engine.geometry.Offset getBottomRight();
+    method public androidx.ui.engine.geometry.Offset getCenter();
+    method public androidx.ui.engine.geometry.Offset getCenterLeft();
+    method public androidx.ui.engine.geometry.Offset getCenterRight();
+    method public float getHeight();
+    method public float getLeft();
+    method public float getLongestSide();
+    method public float getRight();
+    method public float getShortestSide();
+    method public androidx.ui.engine.geometry.Size getSize();
+    method public float getTop();
+    method public androidx.ui.engine.geometry.Offset getTopCenter();
+    method public androidx.ui.engine.geometry.Offset getTopLeft();
+    method public androidx.ui.engine.geometry.Offset getTopRight();
+    method public float getWidth();
+    method public androidx.ui.engine.geometry.Rect inflate(float delta);
+    method public androidx.ui.engine.geometry.Rect intersect(androidx.ui.engine.geometry.Rect other);
+    method public boolean isEmpty();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public androidx.ui.engine.geometry.Rect join(androidx.ui.engine.geometry.Rect other);
+    method public boolean overlaps(androidx.ui.engine.geometry.Rect other);
+    method public androidx.ui.engine.geometry.Rect shift(androidx.ui.engine.geometry.Offset offset);
+    method public androidx.ui.engine.geometry.Rect translate(float translateX, float translateY);
+    property public final float height;
+    property public final float width;
+    field public static final androidx.ui.engine.geometry.Rect.Companion! Companion;
+  }
+
+  public static final class Rect.Companion {
+    method public androidx.ui.engine.geometry.Rect fromCircle(androidx.ui.engine.geometry.Offset center, float radius);
+    method public androidx.ui.engine.geometry.Rect fromLTRB(float left, float top, float right, float bottom);
+    method public androidx.ui.engine.geometry.Rect fromLTWH(float left, float top, float width, float height);
+    method public androidx.ui.engine.geometry.Rect fromPoints(androidx.ui.engine.geometry.Offset a, androidx.ui.engine.geometry.Offset b);
+    method public androidx.ui.engine.geometry.Rect getLargest();
+    method public androidx.ui.engine.geometry.Rect getZero();
+    method public float get_giantScalar();
+    property public final float _giantScalar;
+    property public final androidx.ui.engine.geometry.Rect largest;
+    property public final androidx.ui.engine.geometry.Rect zero;
+  }
+
+  public final class RectKt {
+    ctor public RectKt();
+    method public static androidx.ui.engine.geometry.Rect lerp(androidx.ui.engine.geometry.Rect start, androidx.ui.engine.geometry.Rect stop, float fraction);
+  }
+
+  public interface Shape {
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public class Size implements androidx.ui.engine.geometry.OffsetBase {
+    ctor public Size(float width, float height);
+    method public final androidx.ui.engine.geometry.Offset bottomCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset bottomRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset center(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset centerRight(androidx.ui.engine.geometry.Offset origin);
+    method public final boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public final operator androidx.ui.engine.geometry.Size div(float operand);
+    method public float getDx();
+    method public float getDy();
+    method public final androidx.ui.engine.geometry.Size getFlipped();
+    method public final float getHeight();
+    method public final float getLongestSide();
+    method public final float getShortestSide();
+    method public final float getWidth();
+    method public final boolean isEmpty();
+    method public final operator androidx.ui.engine.geometry.Size minus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Offset minus(androidx.ui.engine.geometry.Size other);
+    method public final operator androidx.ui.engine.geometry.Size plus(androidx.ui.engine.geometry.Offset other);
+    method public final operator androidx.ui.engine.geometry.Size rem(float operand);
+    method public final operator androidx.ui.engine.geometry.Size times(float operand);
+    method public final androidx.ui.engine.geometry.Offset topCenter(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topLeft(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Offset topRight(androidx.ui.engine.geometry.Offset origin);
+    method public final androidx.ui.engine.geometry.Size truncDiv(float operand);
+    property public float dx;
+    property public float dy;
+    field public static final androidx.ui.engine.geometry.Size.Companion! Companion;
+  }
+
+  public static final class Size.Companion {
+    method public androidx.ui.engine.geometry.Size copy(androidx.ui.engine.geometry.Size source);
+    method public androidx.ui.engine.geometry.Size fromHeight(float height);
+    method public androidx.ui.engine.geometry.Size fromRadius(float radius);
+    method public androidx.ui.engine.geometry.Size fromWidth(float width);
+    method public androidx.ui.engine.geometry.Size getInfinite();
+    method public androidx.ui.engine.geometry.Size getZero();
+    method public androidx.ui.engine.geometry.Size? lerp(androidx.ui.engine.geometry.Size start, androidx.ui.engine.geometry.Size stop, float fraction);
+    method public androidx.ui.engine.geometry.Size square(float dimension);
+    property public final androidx.ui.engine.geometry.Size infinite;
+    property public final androidx.ui.engine.geometry.Size zero;
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public enum FocusDetailedState {
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Active;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState ActiveParent;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Captured;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Disabled;
+    enum_constant public static final androidx.ui.focus.FocusDetailedState Inactive;
+  }
+
+  public enum FocusState {
+    enum_constant public static final androidx.ui.focus.FocusState Focused;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocusable;
+    enum_constant public static final androidx.ui.focus.FocusState NotFocused;
+  }
+
+  public final class FocusStateKt {
+    ctor public FocusStateKt();
+    method public static androidx.ui.focus.FocusState focusState(androidx.ui.focus.FocusDetailedState);
+  }
+
+}
+
+package androidx.ui.graphics {
+
+  public final class AndroidCanvasKt {
+    ctor public AndroidCanvasKt();
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.Image image);
+    method public static androidx.ui.graphics.Canvas Canvas(androidx.ui.graphics.PictureRecorder recorder, androidx.ui.engine.geometry.Rect cullRect = Rect.largest);
+    method public static androidx.ui.graphics.Canvas Canvas(android.graphics.Canvas c);
+  }
+
+  public final class AndroidImageKt {
+    ctor public AndroidImageKt();
+    method public static androidx.ui.graphics.Image Image(int width, int height, androidx.ui.graphics.ImageConfig config = androidx.ui.graphics.ImageConfig.Argb8888, boolean hasAlpha = true, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Image imageFromResource(android.content.res.Resources res, int resId);
+  }
+
+  public enum BlendMode {
+    method public final android.graphics.PorterDuff.Mode toPorterDuffMode();
+    enum_constant public static final androidx.ui.graphics.BlendMode clear;
+    enum_constant public static final androidx.ui.graphics.BlendMode color;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorBurn;
+    enum_constant public static final androidx.ui.graphics.BlendMode colorDodge;
+    enum_constant public static final androidx.ui.graphics.BlendMode darken;
+    enum_constant public static final androidx.ui.graphics.BlendMode difference;
+    enum_constant public static final androidx.ui.graphics.BlendMode dst;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode dstOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode exclusion;
+    enum_constant public static final androidx.ui.graphics.BlendMode hardLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode hue;
+    enum_constant public static final androidx.ui.graphics.BlendMode lighten;
+    enum_constant public static final androidx.ui.graphics.BlendMode luminosity;
+    enum_constant public static final androidx.ui.graphics.BlendMode modulate;
+    enum_constant public static final androidx.ui.graphics.BlendMode multiply;
+    enum_constant public static final androidx.ui.graphics.BlendMode overlay;
+    enum_constant public static final androidx.ui.graphics.BlendMode plus;
+    enum_constant public static final androidx.ui.graphics.BlendMode saturation;
+    enum_constant public static final androidx.ui.graphics.BlendMode screen;
+    enum_constant public static final androidx.ui.graphics.BlendMode softLight;
+    enum_constant public static final androidx.ui.graphics.BlendMode src;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcATop;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcIn;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOut;
+    enum_constant public static final androidx.ui.graphics.BlendMode srcOver;
+    enum_constant public static final androidx.ui.graphics.BlendMode xor;
+  }
+
+  public enum BlurStyle {
+    enum_constant public static final androidx.ui.graphics.BlurStyle inner;
+    enum_constant public static final androidx.ui.graphics.BlurStyle normal;
+    enum_constant public static final androidx.ui.graphics.BlurStyle outer;
+    enum_constant public static final androidx.ui.graphics.BlurStyle solid;
+  }
+
+  public interface Brush {
+    method public void applyTo(androidx.ui.graphics.Paint p);
+  }
+
+  public final class BrushKt {
+    ctor public BrushKt();
+    method public static androidx.ui.graphics.LinearGradient HorizontalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Brush HorizontalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px endX, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient LinearGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.RadialGradient RadialGradient(java.util.List<androidx.ui.graphics.Color> colors, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(java.util.List<androidx.ui.graphics.Color> colors, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.LinearGradient VerticalGradient(kotlin.Pair<java.lang.Float,androidx.ui.graphics.Color>![] colorStops, androidx.ui.core.Px startY, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public interface Canvas {
+    method public void clipPath(androidx.ui.graphics.Path path);
+    method public void clipRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void clipRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.ClipOp clipOp = androidx.ui.graphics.ClipOp.intersect);
+    method public void concat(androidx.ui.vectormath64.Matrix4 matrix4);
+    method public void drawArc(androidx.ui.engine.geometry.Rect rect, float startAngle, float sweepAngle, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public default void drawArcRad(androidx.ui.engine.geometry.Rect rect, float startAngleRad, float sweepAngleRad, boolean useCenter, androidx.ui.graphics.Paint paint);
+    method public void drawCircle(androidx.ui.engine.geometry.Offset center, float radius, androidx.ui.graphics.Paint paint);
+    method public void drawDoubleRoundRect(androidx.ui.engine.geometry.RRect outer, androidx.ui.engine.geometry.RRect inner, androidx.ui.graphics.Paint paint);
+    method public void drawImage(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Offset topLeftOffset, androidx.ui.graphics.Paint paint);
+    method public void drawImageRect(androidx.ui.graphics.Image image, androidx.ui.engine.geometry.Rect src, androidx.ui.engine.geometry.Rect dst, androidx.ui.graphics.Paint paint);
+    method public void drawLine(androidx.ui.engine.geometry.Offset p1, androidx.ui.engine.geometry.Offset p2, androidx.ui.graphics.Paint paint);
+    method public void drawOval(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawPath(androidx.ui.graphics.Path path, androidx.ui.graphics.Paint paint);
+    method public void drawPicture(androidx.ui.graphics.Picture picture);
+    method public void drawPoints(androidx.ui.graphics.PointMode pointMode, java.util.List<androidx.ui.engine.geometry.Offset> points, androidx.ui.graphics.Paint paint);
+    method public void drawRRect(androidx.ui.engine.geometry.RRect rrect, androidx.ui.graphics.Paint paint);
+    method public void drawRawPoints(androidx.ui.graphics.PointMode pointMode, float[] points, androidx.ui.graphics.Paint paint);
+    method public void drawRect(androidx.ui.engine.geometry.Rect rect, androidx.ui.graphics.Paint paint);
+    method public void drawVertices(androidx.ui.Vertices vertices, androidx.ui.graphics.BlendMode blendMode, androidx.ui.graphics.Paint paint);
+    method public android.graphics.Canvas getNativeCanvas();
+    method public void restore();
+    method public void rotate(float degrees);
+    method public default void rotateRad(float radians);
+    method public void save();
+    method public void saveLayer(androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint);
+    method public void scale(float sx, float sy = sx);
+    method public void skew(float sx, float sy);
+    method public default void skewRad(float sxRad, float syRad);
+    method public void translate(float dx, float dy);
+    property public abstract android.graphics.Canvas nativeCanvas;
+  }
+
+  public final class CanvasKt {
+    ctor public CanvasKt();
+    method public static inline void withSave(androidx.ui.graphics.Canvas, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public static inline void withSaveLayer(androidx.ui.graphics.Canvas, androidx.ui.engine.geometry.Rect bounds, androidx.ui.graphics.Paint paint, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public enum ClipOp {
+    enum_constant public static final androidx.ui.graphics.ClipOp difference;
+    enum_constant public static final androidx.ui.graphics.ClipOp intersect;
+  }
+
+  public final class Color {
+    method public androidx.ui.graphics.Color convert(androidx.ui.graphics.colorspace.ColorSpace colorSpace);
+    method public androidx.ui.graphics.Color copy(float alpha = this.alpha, float red = this.red, float green = this.green, float blue = this.blue);
+    method public float getAlpha();
+    method public float getBlue();
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public float getGreen();
+    method public float getRed();
+    method public long getValue();
+    property public final float alpha;
+    property public final float blue;
+    property public final androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public final float green;
+    property public final float red;
+    field public static final androidx.ui.graphics.Color.Companion! Companion;
+  }
+
+  public static final class Color.Companion {
+    method public androidx.ui.graphics.Color getBlack();
+    method public androidx.ui.graphics.Color getBlue();
+    method public androidx.ui.graphics.Color getCyan();
+    method public androidx.ui.graphics.Color getDarkGray();
+    method public androidx.ui.graphics.Color getGray();
+    method public androidx.ui.graphics.Color getGreen();
+    method public androidx.ui.graphics.Color getLightGray();
+    method public androidx.ui.graphics.Color getMagenta();
+    method public androidx.ui.graphics.Color getRed();
+    method public androidx.ui.graphics.Color getTransparent();
+    method public androidx.ui.graphics.Color getWhite();
+    method public androidx.ui.graphics.Color getYellow();
+    property public final androidx.ui.graphics.Color Black;
+    property public final androidx.ui.graphics.Color Blue;
+    property public final androidx.ui.graphics.Color Cyan;
+    property public final androidx.ui.graphics.Color DarkGray;
+    property public final androidx.ui.graphics.Color Gray;
+    property public final androidx.ui.graphics.Color Green;
+    property public final androidx.ui.graphics.Color LightGray;
+    property public final androidx.ui.graphics.Color Magenta;
+    property public final androidx.ui.graphics.Color Red;
+    property public final androidx.ui.graphics.Color Transparent;
+    property public final androidx.ui.graphics.Color White;
+    property public final androidx.ui.graphics.Color Yellow;
+  }
+
+  public final class ColorFilter {
+    ctor public ColorFilter(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.graphics.BlendMode component2();
+    method public androidx.ui.graphics.ColorFilter copy(androidx.ui.graphics.Color color, androidx.ui.graphics.BlendMode blendMode);
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color Color(float red, float green, float blue, float alpha = 1f, androidx.ui.graphics.colorspace.ColorSpace colorSpace = ColorSpaces.Srgb);
+    method public static androidx.ui.graphics.Color Color(@ColorInt int color);
+    method public static androidx.ui.graphics.Color Color(long color);
+    method public static androidx.ui.graphics.Color Color(@IntRange(from=0, to=255) int red, @IntRange(from=0, to=255) int green, @IntRange(from=0, to=255) int blue, @IntRange(from=0, to=255) int alpha = 0xFF);
+    method public static androidx.ui.graphics.Color lerp(androidx.ui.graphics.Color start, androidx.ui.graphics.Color stop, @FloatRange(from=0.0, to=1.0) float fraction);
+    method public static float luminance(androidx.ui.graphics.Color);
+    method @ColorInt public static int toArgb(androidx.ui.graphics.Color);
+  }
+
+  public enum FilterQuality {
+    enum_constant public static final androidx.ui.graphics.FilterQuality high;
+    enum_constant public static final androidx.ui.graphics.FilterQuality low;
+    enum_constant public static final androidx.ui.graphics.FilterQuality medium;
+    enum_constant public static final androidx.ui.graphics.FilterQuality none;
+  }
+
+  public final class FixedScale implements androidx.ui.graphics.ScaleFit {
+    ctor public FixedScale(float value);
+    method public float component1();
+    method public androidx.ui.graphics.FixedScale copy(float value);
+    method public float getValue();
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+  }
+
+  public interface Image {
+    method public androidx.ui.graphics.colorspace.ColorSpace getColorSpace();
+    method public androidx.ui.graphics.ImageConfig getConfig();
+    method public boolean getHasAlpha();
+    method public int getHeight();
+    method public android.graphics.Bitmap getNativeImage();
+    method public int getWidth();
+    method public void prepareToDraw();
+    property public abstract androidx.ui.graphics.colorspace.ColorSpace colorSpace;
+    property public abstract androidx.ui.graphics.ImageConfig config;
+    property public abstract boolean hasAlpha;
+    property public abstract int height;
+    property public abstract android.graphics.Bitmap nativeImage;
+    property public abstract int width;
+  }
+
+  public enum ImageByteFormat {
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat png;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawRgba;
+    enum_constant public static final androidx.ui.graphics.ImageByteFormat rawUnmodified;
+  }
+
+  public enum ImageConfig {
+    enum_constant public static final androidx.ui.graphics.ImageConfig Alpha8;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Argb8888;
+    enum_constant public static final androidx.ui.graphics.ImageConfig F16;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Gpu;
+    enum_constant public static final androidx.ui.graphics.ImageConfig Rgb565;
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+  }
+
+  public enum ImageRepeat {
+    enum_constant public static final androidx.ui.graphics.ImageRepeat noRepeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeat;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatX;
+    enum_constant public static final androidx.ui.graphics.ImageRepeat repeatY;
+  }
+
+  public final class LinearGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.LinearGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, androidx.ui.core.Px startX, androidx.ui.core.Px startY, androidx.ui.core.Px endX, androidx.ui.core.Px endY, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public final class MaskFilter {
+    ctor public MaskFilter(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public androidx.ui.graphics.BlurStyle component1();
+    method public float component2();
+    method public androidx.ui.graphics.MaskFilter copy(androidx.ui.graphics.BlurStyle style, float sigma);
+    method public float getSigma();
+    method public androidx.ui.graphics.BlurStyle getStyle();
+    field public static final androidx.ui.graphics.MaskFilter.Companion! Companion;
+    field public static final int TYPE_BLUR = 1; // 0x1
+    field public static final int TYPE_NONE = 0; // 0x0
+  }
+
+  public static final class MaskFilter.Companion {
+  }
+
+  public final class Paint {
+    ctor public Paint();
+    method public android.graphics.Paint asFrameworkPaint();
+    method public float getAlpha();
+    method public androidx.ui.graphics.BlendMode getBlendMode();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.graphics.ColorFilter? getColorFilter();
+    method public androidx.ui.graphics.FilterQuality getFilterQuality();
+    method public androidx.ui.graphics.MaskFilter getMaskFilter();
+    method public androidx.ui.graphics.Shader? getShader();
+    method public androidx.ui.graphics.StrokeCap getStrokeCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeJoin();
+    method public float getStrokeMiterLimit();
+    method public float getStrokeWidth();
+    method public androidx.ui.graphics.PaintingStyle getStyle();
+    method public boolean isAntiAlias();
+    method public void setAlpha(float value);
+    method public void setAntiAlias(boolean value);
+    method public void setBlendMode(androidx.ui.graphics.BlendMode value);
+    method public void setColor(androidx.ui.graphics.Color color);
+    method public void setColorFilter(androidx.ui.graphics.ColorFilter? value);
+    method public void setFilterQuality(androidx.ui.graphics.FilterQuality value);
+    method public void setMaskFilter(androidx.ui.graphics.MaskFilter value);
+    method public void setShader(androidx.ui.graphics.Shader? value);
+    method public void setStrokeCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeMiterLimit(float value);
+    method public void setStrokeWidth(float value);
+    method public void setStyle(androidx.ui.graphics.PaintingStyle value);
+    property public final float alpha;
+    property public final androidx.ui.graphics.BlendMode blendMode;
+    property public final androidx.ui.graphics.Color color;
+    property public final androidx.ui.graphics.ColorFilter? colorFilter;
+    property public final androidx.ui.graphics.FilterQuality filterQuality;
+    property public final boolean isAntiAlias;
+    property public final androidx.ui.graphics.MaskFilter maskFilter;
+    property public final androidx.ui.graphics.Shader? shader;
+    property public final androidx.ui.graphics.StrokeCap strokeCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeJoin;
+    property public final float strokeMiterLimit;
+    property public final float strokeWidth;
+    property public final androidx.ui.graphics.PaintingStyle style;
+  }
+
+  public enum PaintingStyle {
+    enum_constant public static final androidx.ui.graphics.PaintingStyle fill;
+    enum_constant public static final androidx.ui.graphics.PaintingStyle stroke;
+  }
+
+  public final class Path {
+    ctor public Path(android.graphics.Path internalPath);
+    ctor public Path();
+    method public void _addRect(float left, float top, float right, float bottom);
+    method public void addArc(androidx.ui.engine.geometry.Rect oval, float startAngleDegrees, float sweepAngleDegrees);
+    method public void addArcRad(androidx.ui.engine.geometry.Rect oval, float startAngleRadians, float sweepAngleRadians);
+    method public void addOval(androidx.ui.engine.geometry.Rect oval);
+    method public void addPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset = Offset.zero, androidx.ui.vectormath64.Matrix4? matrix = null);
+    method public void addPolygon(java.util.List<androidx.ui.engine.geometry.Offset> points, boolean close);
+    method public void addRRect(androidx.ui.engine.geometry.RRect rrect);
+    method public void addRect(androidx.ui.engine.geometry.Rect rect);
+    method public void arcTo(androidx.ui.engine.geometry.Rect rect, float startAngleDegrees, float sweepAngleDegrees, boolean forceMoveTo);
+    method public void arcToPoint(androidx.ui.engine.geometry.Offset arcEnd, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void arcToRad(androidx.ui.engine.geometry.Rect rect, float startAngleRadians, float sweepAngleRadians, boolean forceMoveTo);
+    method public void close();
+    method public void conicTo(float x1, float y1, float x2, float y2, float w);
+    method public boolean contains(androidx.ui.engine.geometry.Offset offset);
+    method public void cubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void extendWithPath(androidx.ui.graphics.Path path, androidx.ui.engine.geometry.Offset offset, androidx.ui.vectormath64.Matrix4 matrix);
+    method public androidx.ui.engine.geometry.Rect getBounds();
+    method public androidx.ui.graphics.PathFillType getFillType();
+    method public boolean isConvex();
+    method public boolean isEmpty();
+    method public void lineTo(float dx, float dy);
+    method public void moveTo(float dx, float dy);
+    method public boolean op(androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2, androidx.ui.graphics.PathOperation operation);
+    method public void quadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void relativeArcToPoint(androidx.ui.engine.geometry.Offset arcEndDelta, androidx.ui.engine.geometry.Radius radius = Radius.zero, float rotation = 0.0f, boolean largeArc = false, boolean clockwise = true);
+    method public void relativeConicTo(float x1, float y1, float x2, float y2, float w);
+    method public void relativeCubicTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public void relativeLineTo(float dx, float dy);
+    method public void relativeMoveTo(float dx, float dy);
+    method public void relativeQuadraticBezierTo(float x1, float y1, float x2, float y2);
+    method public void reset();
+    method public void setFillType(androidx.ui.graphics.PathFillType value);
+    method public void shift(androidx.ui.engine.geometry.Offset offset);
+    method public android.graphics.Path toFrameworkPath();
+    method public androidx.ui.graphics.Path transform(androidx.ui.vectormath64.Matrix4 matrix);
+    property public final boolean isConvex;
+    property public final boolean isEmpty;
+    field public static final androidx.ui.graphics.Path.Companion! Companion;
+  }
+
+  public static final class Path.Companion {
+    method public androidx.ui.graphics.Path combine(androidx.ui.graphics.PathOperation operation, androidx.ui.graphics.Path path1, androidx.ui.graphics.Path path2);
+  }
+
+  public enum PathFillType {
+    enum_constant public static final androidx.ui.graphics.PathFillType evenOdd;
+    enum_constant public static final androidx.ui.graphics.PathFillType nonZero;
+  }
+
+  public enum PathOperation {
+    enum_constant public static final androidx.ui.graphics.PathOperation difference;
+    enum_constant public static final androidx.ui.graphics.PathOperation intersect;
+    enum_constant public static final androidx.ui.graphics.PathOperation reverseDifference;
+    enum_constant public static final androidx.ui.graphics.PathOperation union;
+    enum_constant public static final androidx.ui.graphics.PathOperation xor;
+  }
+
+  public final class Picture {
+    ctor public Picture(android.graphics.Picture frameworkPicture);
+    method public androidx.ui.engine.geometry.Rect cullRect();
+    method public void dispose();
+    method public android.graphics.Picture getFrameworkPicture();
+  }
+
+  public final class PictureRecorder {
+    ctor public PictureRecorder();
+    method public androidx.ui.graphics.Picture endRecording();
+    method public boolean isRecording();
+    property public final boolean isRecording;
+  }
+
+  public enum PointMode {
+    enum_constant public static final androidx.ui.graphics.PointMode lines;
+    enum_constant public static final androidx.ui.graphics.PointMode points;
+    enum_constant public static final androidx.ui.graphics.PointMode polygon;
+  }
+
+  public final class RadialGradient extends androidx.ui.graphics.ShaderBrush {
+    method public androidx.ui.graphics.RadialGradient copy(java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? stops, float centerX, float centerY, float radius, androidx.ui.graphics.TileMode tileMode);
+  }
+
+  public interface ScaleFit {
+    method public float scale(androidx.ui.core.PxSize srcSize, androidx.ui.core.PxSize dstSize);
+    field public static final androidx.ui.graphics.ScaleFit.Companion! Companion;
+  }
+
+  public static final class ScaleFit.Companion {
+    method public androidx.ui.graphics.ScaleFit getFillHeight();
+    method public androidx.ui.graphics.ScaleFit getFillMaxDimension();
+    method public androidx.ui.graphics.ScaleFit getFillMinDimension();
+    method public androidx.ui.graphics.ScaleFit getFillWidth();
+    method public androidx.ui.graphics.ScaleFit getFit();
+    method public androidx.ui.graphics.FixedScale getNone();
+    property public final androidx.ui.graphics.ScaleFit FillHeight;
+    property public final androidx.ui.graphics.ScaleFit FillMaxDimension;
+    property public final androidx.ui.graphics.ScaleFit FillMinDimension;
+    property public final androidx.ui.graphics.ScaleFit FillWidth;
+    property public final androidx.ui.graphics.ScaleFit Fit;
+    property public final androidx.ui.graphics.FixedScale None;
+  }
+
+  public final class ScaleFitKt {
+    ctor public ScaleFitKt();
+  }
+
+  public final class Shader {
+    ctor public Shader(android.graphics.Shader nativeShader);
+    method public android.graphics.Shader getNativeShader();
+  }
+
+  public class ShaderBrush implements androidx.ui.graphics.Brush {
+    ctor public ShaderBrush(androidx.ui.graphics.Shader shader);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public final androidx.ui.graphics.Shader getShader();
+  }
+
+  public final class ShaderKt {
+    ctor public ShaderKt();
+    method public static androidx.ui.graphics.Shader ImageShader(androidx.ui.graphics.Image image, androidx.ui.graphics.TileMode tileModeX = androidx.ui.graphics.TileMode.Clamp, androidx.ui.graphics.TileMode tileModeY = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader LinearGradientShader(androidx.ui.engine.geometry.Offset from, androidx.ui.engine.geometry.Offset to, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+    method public static androidx.ui.graphics.Shader RadialGradientShader(androidx.ui.engine.geometry.Offset center, float radius, java.util.List<androidx.ui.graphics.Color> colors, java.util.List<java.lang.Float>? colorStops = null, androidx.ui.graphics.TileMode tileMode = androidx.ui.graphics.TileMode.Clamp);
+  }
+
+  public final class Shadow {
+    ctor public Shadow(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    ctor public Shadow();
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Offset component2();
+    method public androidx.ui.core.Px component3();
+    method public androidx.ui.graphics.Shadow copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Offset offset, androidx.ui.core.Px blurRadius);
+    method public androidx.ui.core.Px getBlurRadius();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.engine.geometry.Offset getOffset();
+  }
+
+  public final class ShadowKt {
+    ctor public ShadowKt();
+    method public static androidx.ui.graphics.Shadow lerp(androidx.ui.graphics.Shadow start, androidx.ui.graphics.Shadow stop, float fraction);
+  }
+
+  public final class SolidColor implements androidx.ui.graphics.Brush {
+    ctor public SolidColor(androidx.ui.graphics.Color value);
+    method public void applyTo(androidx.ui.graphics.Paint p);
+    method public androidx.ui.graphics.Color getValue();
+  }
+
+  public enum StrokeCap {
+    enum_constant public static final androidx.ui.graphics.StrokeCap butt;
+    enum_constant public static final androidx.ui.graphics.StrokeCap round;
+    enum_constant public static final androidx.ui.graphics.StrokeCap square;
+  }
+
+  public enum StrokeJoin {
+    enum_constant public static final androidx.ui.graphics.StrokeJoin bevel;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin miter;
+    enum_constant public static final androidx.ui.graphics.StrokeJoin round;
+  }
+
+  public enum TileMode {
+    method public final android.graphics.Shader.TileMode getNativeTileMode();
+    enum_constant public static final androidx.ui.graphics.TileMode Clamp;
+    enum_constant public static final androidx.ui.graphics.TileMode Mirror;
+    enum_constant public static final androidx.ui.graphics.TileMode Repeated;
+  }
+
+  public final class TileModeKt {
+    ctor public TileModeKt();
+    method public static android.graphics.Shader.TileMode NativeClampTileMode();
+    method public static android.graphics.Shader.TileMode NativeMirrorTileMode();
+    method public static android.graphics.Shader.TileMode NativeRepeatedTileMode();
+  }
+
+}
+
+package androidx.ui.graphics.colorspace {
+
+  public enum Adaptation {
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Bradford;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation Ciecat02;
+    enum_constant public static final androidx.ui.graphics.colorspace.Adaptation VonKries;
+  }
+
+  public enum ColorModel {
+    method public final int getComponentCount();
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Cmyk;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Lab;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Rgb;
+    enum_constant public static final androidx.ui.graphics.colorspace.ColorModel Xyz;
+  }
+
+  public abstract class ColorSpace {
+    ctor public ColorSpace(String name, androidx.ui.graphics.colorspace.ColorModel model);
+    method @Size(min=3) public final float[] fromXyz(float x, float y, float z);
+    method @Size(min=3) public abstract float[] fromXyz(@Size(min=3) float[] v);
+    method @IntRange(from=1, to=4) public final int getComponentCount();
+    method public abstract float getMaxValue(@IntRange(from=0, to=3) int component);
+    method public abstract float getMinValue(@IntRange(from=0, to=3) int component);
+    method public final androidx.ui.graphics.colorspace.ColorModel getModel();
+    method public final String getName();
+    method public boolean isSrgb();
+    method public abstract boolean isWideGamut();
+    method @Size(3) public final float[] toXyz(float r, float g, float b);
+    method @Size(min=3) public abstract float[] toXyz(@Size(min=3) float[] v);
+    property @IntRange(from=1, to=4) public final int componentCount;
+    property public boolean isSrgb;
+    property public abstract boolean isWideGamut;
+  }
+
+  public final class ColorSpaceKt {
+    ctor public ColorSpaceKt();
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.Adaptation adaptation = androidx.ui.graphics.colorspace.Adaptation.Bradford);
+    method public static androidx.ui.graphics.colorspace.ColorSpace adapt(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.WhitePoint whitePoint);
+    method public static androidx.ui.graphics.colorspace.Connector connect(androidx.ui.graphics.colorspace.ColorSpace, androidx.ui.graphics.colorspace.ColorSpace destination = ColorSpaces.Srgb, androidx.ui.graphics.colorspace.RenderIntent intent = androidx.ui.graphics.colorspace.RenderIntent.Perceptual);
+  }
+
+  public final class ColorSpaces {
+    method public androidx.ui.graphics.colorspace.Rgb getAces();
+    method public androidx.ui.graphics.colorspace.Rgb getAcescg();
+    method public androidx.ui.graphics.colorspace.Rgb getAdobeRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getBt2020();
+    method public androidx.ui.graphics.colorspace.Rgb getBt709();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieLab();
+    method public androidx.ui.graphics.colorspace.ColorSpace getCieXyz();
+    method public androidx.ui.graphics.colorspace.Rgb getDciP3();
+    method public androidx.ui.graphics.colorspace.Rgb getDisplayP3();
+    method public androidx.ui.graphics.colorspace.Rgb getExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearExtendedSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getLinearSrgb();
+    method public androidx.ui.graphics.colorspace.Rgb getNtsc1953();
+    method public androidx.ui.graphics.colorspace.Rgb getProPhotoRgb();
+    method public androidx.ui.graphics.colorspace.Rgb getSmpteC();
+    method public androidx.ui.graphics.colorspace.Rgb getSrgb();
+    method public androidx.ui.graphics.colorspace.ColorSpace? match(@Size(9) float[] toXYZD50, androidx.ui.graphics.colorspace.TransferParameters function);
+    property public final androidx.ui.graphics.colorspace.Rgb Aces;
+    property public final androidx.ui.graphics.colorspace.Rgb Acescg;
+    property public final androidx.ui.graphics.colorspace.Rgb AdobeRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt2020;
+    property public final androidx.ui.graphics.colorspace.Rgb Bt709;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieLab;
+    property public final androidx.ui.graphics.colorspace.ColorSpace CieXyz;
+    property public final androidx.ui.graphics.colorspace.Rgb DciP3;
+    property public final androidx.ui.graphics.colorspace.Rgb DisplayP3;
+    property public final androidx.ui.graphics.colorspace.Rgb ExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearExtendedSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb LinearSrgb;
+    property public final androidx.ui.graphics.colorspace.Rgb Ntsc1953;
+    property public final androidx.ui.graphics.colorspace.Rgb ProPhotoRgb;
+    property public final androidx.ui.graphics.colorspace.Rgb SmpteC;
+    property public final androidx.ui.graphics.colorspace.Rgb Srgb;
+    field public static final androidx.ui.graphics.colorspace.ColorSpaces! INSTANCE;
+  }
+
+  public class Connector {
+    method public final androidx.ui.graphics.colorspace.ColorSpace getDestination();
+    method public final androidx.ui.graphics.colorspace.RenderIntent getRenderIntent();
+    method public final androidx.ui.graphics.colorspace.ColorSpace getSource();
+    method @Size(3) public final float[] transform(float r, float g, float b);
+    method @Size(min=3) public float[] transform(@Size(min=3) float[] v);
+  }
+
+  public final class Illuminant {
+    method public androidx.ui.graphics.colorspace.WhitePoint getA();
+    method public androidx.ui.graphics.colorspace.WhitePoint getB();
+    method public androidx.ui.graphics.colorspace.WhitePoint getC();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD50();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD55();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD60();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD65();
+    method public androidx.ui.graphics.colorspace.WhitePoint getD75();
+    method public androidx.ui.graphics.colorspace.WhitePoint getE();
+    property public final androidx.ui.graphics.colorspace.WhitePoint A;
+    property public final androidx.ui.graphics.colorspace.WhitePoint B;
+    property public final androidx.ui.graphics.colorspace.WhitePoint C;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D50;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D55;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D60;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D65;
+    property public final androidx.ui.graphics.colorspace.WhitePoint D75;
+    property public final androidx.ui.graphics.colorspace.WhitePoint E;
+    field public static final androidx.ui.graphics.colorspace.Illuminant! INSTANCE;
+  }
+
+  public enum RenderIntent {
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Absolute;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Perceptual;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Relative;
+    enum_constant public static final androidx.ui.graphics.colorspace.RenderIntent Saturation;
+  }
+
+  public final class Rgb extends androidx.ui.graphics.colorspace.ColorSpace {
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> oetf, kotlin.jvm.functions.Function1<? super java.lang.Double,java.lang.Double> eotf, float min, float max);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, androidx.ui.graphics.colorspace.TransferParameters function);
+    ctor public Rgb(@Size(min=null) String name, @Size(null) float[] toXYZ, double gamma);
+    ctor public Rgb(@Size(min=null) String name, @Size(min=null, max=null) float[] primaries, androidx.ui.graphics.colorspace.WhitePoint whitePoint, double gamma);
+    method @Size(3) public float[] fromLinear(float r, float g, float b);
+    method @Size(min=3) public float[] fromLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] fromXyz(@Size(min=3) float[] v);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getEotf();
+    method @Size(9) public float[] getInverseTransform();
+    method @Size(min=9) public float[] getInverseTransform(@Size(min=9) float[] inverseTransform);
+    method public float getMaxValue(int component);
+    method public float getMinValue(int component);
+    method public kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> getOetf();
+    method @Size(6) public float[] getPrimaries();
+    method @Size(min=6) public float[] getPrimaries(@Size(min=6) float[] primaries);
+    method public androidx.ui.graphics.colorspace.TransferParameters? getTransferParameters();
+    method @Size(9) public float[] getTransform();
+    method @Size(min=9) public float[] getTransform(@Size(min=9) float[] transform);
+    method public androidx.ui.graphics.colorspace.WhitePoint getWhitePoint();
+    method public boolean isWideGamut();
+    method @Size(3) public float[] toLinear(float r, float g, float b);
+    method @Size(min=3) public float[] toLinear(@Size(min=3) float[] v);
+    method @Size(min=3) public float[] toXyz(@Size(min=3) float[] v);
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> eotf;
+    property public boolean isSrgb;
+    property public boolean isWideGamut;
+    property public final kotlin.jvm.functions.Function1<java.lang.Double,java.lang.Double> oetf;
+  }
+
+  public final class TransferParameters {
+    ctor public TransferParameters(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double component1();
+    method public double component2();
+    method public double component3();
+    method public double component4();
+    method public double component5();
+    method public double component6();
+    method public double component7();
+    method public androidx.ui.graphics.colorspace.TransferParameters copy(double gamma, double a, double b, double c, double d, double e, double f);
+    method public double getA();
+    method public double getB();
+    method public double getC();
+    method public double getD();
+    method public double getE();
+    method public double getF();
+    method public double getGamma();
+  }
+
+  public final class WhitePoint {
+    ctor public WhitePoint(float x, float y);
+    ctor public WhitePoint(float x, float y, float z);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.graphics.colorspace.WhitePoint copy(float x, float y);
+    method public float getX();
+    method public float getY();
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class PathBuilder {
+    ctor public PathBuilder();
+    method public androidx.ui.graphics.vector.PathBuilder arcTo(float horizontalEllipseRadius, float verticalEllipseRadius, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder arcToRelative(float a, float b, float theta, float largeArcFlag, float sweepFlag, float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder close();
+    method public androidx.ui.graphics.vector.PathBuilder curveTo(float x1, float y1, float x2, float y2, float x3, float y3);
+    method public androidx.ui.graphics.vector.PathBuilder curveToRelative(float dx1, float dy1, float dx2, float dy2, float dx3, float dy3);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getNodes();
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineTo(float x);
+    method public androidx.ui.graphics.vector.PathBuilder horizontalLineToRelative(float x);
+    method public androidx.ui.graphics.vector.PathBuilder lineTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder lineToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveTo(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder moveToRelative(float x, float y);
+    method public androidx.ui.graphics.vector.PathBuilder quadTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder quadToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveTo(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveCurveToRelative(float x1, float y1, float x2, float y2);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadTo(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder reflectiveQuadToRelative(float x1, float y1);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineTo(float y);
+    method public androidx.ui.graphics.vector.PathBuilder verticalLineToRelative(float y);
+  }
+
+  public enum PathCommand {
+    method public final char toKey();
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand Close;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand CurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand HorizontalLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand LineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand MoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand QuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand ReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeArcTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeClose;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeHorizontalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeLineTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeMoveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveCurveTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeReflectiveQuadTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand RelativeVerticalTo;
+    enum_constant public static final androidx.ui.graphics.vector.PathCommand VerticalLineTo;
+  }
+
+  public final class PathCommandKt {
+    ctor public PathCommandKt();
+    method public static androidx.ui.graphics.vector.PathCommand toPathCommand(char);
+  }
+
+  public final class PathNode {
+    ctor public PathNode(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public androidx.ui.graphics.vector.PathCommand component1();
+    method public float[] component2();
+    method public androidx.ui.graphics.vector.PathNode copy(androidx.ui.graphics.vector.PathCommand command, float[] args);
+    method public float[] getArgs();
+    method public androidx.ui.graphics.vector.PathCommand getCommand();
+  }
+
+  public final class PathNodeKt {
+    ctor public PathNodeKt();
+    method public static operator StringBuilder plus(StringBuilder, androidx.ui.graphics.vector.PathNode node);
+  }
+
+  public final class PathParser {
+    ctor public PathParser();
+    method public androidx.ui.graphics.vector.PathParser addPathNodes(java.util.List<androidx.ui.graphics.vector.PathNode> nodes);
+    method public void clear();
+    method public androidx.ui.graphics.vector.PathParser parsePathString(String pathData);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> toNodes();
+    method public androidx.ui.graphics.Path toPath(androidx.ui.graphics.Path target = androidx.ui.graphics.Path());
+  }
+
+  public final class PathParserKt {
+    ctor public PathParserKt();
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class AccessibilityAction<T extends kotlin.Function<? extends kotlin.Unit>> {
+    ctor public AccessibilityAction(String? label, T action);
+    method public String? component1();
+    method public T component2();
+    method public androidx.ui.semantics.AccessibilityAction<T> copy(String? label, T action);
+    method public T getAction();
+    method public String? getLabel();
+  }
+
+  public class SemanticsPropertyKey<T> implements kotlin.properties.ReadWriteProperty<androidx.ui.semantics.SemanticsPropertyReceiver,T> {
+    ctor public SemanticsPropertyKey(String name);
+    method public final String getName();
+    method public final T! getValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property);
+    method public T! merge(T? existingValue, T? newValue);
+    method public final void setValue(androidx.ui.semantics.SemanticsPropertyReceiver thisRef, kotlin.reflect.KProperty<?> property, T? value);
+  }
+
+  public interface SemanticsPropertyReceiver {
+    method public operator <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+  }
+
+}
+
+package androidx.ui.testutils {
+
+  public final class PointerInputTestUtilKt {
+    ctor public PointerInputTestUtilKt();
+    method public static androidx.ui.core.PointerInputChange consume(androidx.ui.core.PointerInputChange, float dx = 0f, float dy = 0f, boolean downChange = false);
+    method public static androidx.ui.core.PointerInputChange down(int id = 0, androidx.ui.core.Duration duration = Duration.Zero, float x = 0f, float y = 0f);
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverAllPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, androidx.ui.core.PointerInputChange![] pointerInputChanges, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static java.util.List<androidx.ui.core.PointerInputChange> invokeOverPasses(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>>, java.util.List<androidx.ui.core.PointerInputChange> pointerInputChanges, androidx.ui.core.PointerEventPass![] pointerEventPasses, androidx.ui.core.IntPxSize size = IntPxSize(Int.MAX_VALUE.ipx, Int.MAX_VALUE.ipx));
+    method public static androidx.ui.core.PointerInputChange moveBy(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float dx = 0f, float dy = 0f);
+    method public static androidx.ui.core.PointerInputChange moveTo(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration, float x = 0f, float y = 0f);
+    method public static androidx.ui.core.PointerInputChange up(androidx.ui.core.PointerInputChange, androidx.ui.core.Duration duration);
+  }
+
+}
+
+package androidx.ui.util {
+
+  public final class Float16 implements java.lang.Comparable<androidx.ui.util.Float16> {
+    ctor public Float16(short halfValue);
+    ctor public Float16(float value);
+    ctor public Float16(double value);
+    method public androidx.ui.util.Float16 absoluteValue();
+    method public androidx.ui.util.Float16 ceil();
+    method public operator int compareTo(androidx.ui.util.Float16 other);
+    method public androidx.ui.util.Float16 floor();
+    method public int getExponent();
+    method public short getHalfValue();
+    method public androidx.ui.util.Float16 getSign();
+    method public int getSignificand();
+    method public boolean isFinite();
+    method public boolean isInfinite();
+    method public boolean isNaN();
+    method public boolean isNormalized();
+    method public androidx.ui.util.Float16 round();
+    method public int toBits();
+    method public byte toByte();
+    method public double toDouble();
+    method public float toFloat();
+    method public String toHexString();
+    method public int toInt();
+    method public long toLong();
+    method public int toRawBits();
+    method public short toShort();
+    method public androidx.ui.util.Float16 trunc();
+    method public androidx.ui.util.Float16 withSign(androidx.ui.util.Float16 sign);
+    property public final int exponent;
+    property public final androidx.ui.util.Float16 sign;
+    property public final int significand;
+    field public static final androidx.ui.util.Float16.Companion! Companion;
+    field public static final int MaxExponent = 15; // 0xf
+    field public static final int MinExponent = -14; // 0xfffffff2
+    field public static final int Size = 16; // 0x10
+  }
+
+  public static final class Float16.Companion {
+    method public androidx.ui.util.Float16 getEpsilon();
+    method public androidx.ui.util.Float16 getLowestValue();
+    method public androidx.ui.util.Float16 getMaxValue();
+    method public androidx.ui.util.Float16 getMinNormal();
+    method public androidx.ui.util.Float16 getMinValue();
+    method public androidx.ui.util.Float16 getNaN();
+    method public androidx.ui.util.Float16 getNegativeInfinity();
+    method public androidx.ui.util.Float16 getNegativeZero();
+    method public androidx.ui.util.Float16 getPositiveInfinity();
+    method public androidx.ui.util.Float16 getPositiveZero();
+    property public final androidx.ui.util.Float16 Epsilon;
+    property public final androidx.ui.util.Float16 LowestValue;
+    property public final androidx.ui.util.Float16 MaxValue;
+    property public final androidx.ui.util.Float16 MinNormal;
+    property public final androidx.ui.util.Float16 MinValue;
+    property public final androidx.ui.util.Float16 NaN;
+    property public final androidx.ui.util.Float16 NegativeInfinity;
+    property public final androidx.ui.util.Float16 NegativeZero;
+    property public final androidx.ui.util.Float16 PositiveInfinity;
+    property public final androidx.ui.util.Float16 PositiveZero;
+  }
+
+  public final class Float16Kt {
+    ctor public Float16Kt();
+    method public static androidx.ui.util.Float16 max(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+    method public static androidx.ui.util.Float16 min(androidx.ui.util.Float16 x, androidx.ui.util.Float16 y);
+  }
+
+}
+
+package androidx.ui.vectormath64 {
+
+  public final class Matrix2 {
+    ctor public Matrix2(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    ctor public Matrix2();
+    ctor public Matrix2(androidx.ui.vectormath64.Matrix2 m);
+    method public androidx.ui.vectormath64.Vector2 component1();
+    method public androidx.ui.vectormath64.Vector2 component2();
+    method public androidx.ui.vectormath64.Matrix2 copy(androidx.ui.vectormath64.Vector2 x, androidx.ui.vectormath64.Vector2 y);
+    method public operator androidx.ui.vectormath64.Matrix2 dec();
+    method public operator androidx.ui.vectormath64.Matrix2 div(float v);
+    method public operator androidx.ui.vectormath64.Vector2 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM2storage();
+    method public androidx.ui.vectormath64.Vector2 getX();
+    method public androidx.ui.vectormath64.Vector2 getY();
+    method public operator androidx.ui.vectormath64.Matrix2 inc();
+    method public operator androidx.ui.vectormath64.Matrix2 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector2 p);
+    method public void setY(androidx.ui.vectormath64.Vector2 p);
+    method public operator androidx.ui.vectormath64.Matrix2 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix2 times(androidx.ui.vectormath64.Matrix2 m);
+    method public operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix2 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m2storage;
+    field public static final androidx.ui.vectormath64.Matrix2.Companion! Companion;
+  }
+
+  public static final class Matrix2.Companion {
+    method public androidx.ui.vectormath64.Matrix2 identity();
+    method public androidx.ui.vectormath64.Matrix2 of(float... a);
+  }
+
+  public final class Matrix3 {
+    ctor public Matrix3(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    ctor public Matrix3();
+    ctor public Matrix3(androidx.ui.vectormath64.Matrix3 m);
+    method public androidx.ui.vectormath64.Vector3 component1();
+    method public androidx.ui.vectormath64.Vector3 component2();
+    method public androidx.ui.vectormath64.Vector3 component3();
+    method public androidx.ui.vectormath64.Matrix3 copy(androidx.ui.vectormath64.Vector3 x, androidx.ui.vectormath64.Vector3 y, androidx.ui.vectormath64.Vector3 z);
+    method public operator androidx.ui.vectormath64.Matrix3 dec();
+    method public operator androidx.ui.vectormath64.Matrix3 div(float v);
+    method public operator androidx.ui.vectormath64.Vector3 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public inline java.util.List<java.lang.Float> getM3storage();
+    method public androidx.ui.vectormath64.Vector3 getX();
+    method public androidx.ui.vectormath64.Vector3 getY();
+    method public androidx.ui.vectormath64.Vector3 getZ();
+    method public operator androidx.ui.vectormath64.Matrix3 inc();
+    method public operator androidx.ui.vectormath64.Matrix3 minus(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 plus(float v);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int column, int row, float v);
+    method public void setX(androidx.ui.vectormath64.Vector3 p);
+    method public void setY(androidx.ui.vectormath64.Vector3 p);
+    method public void setZ(androidx.ui.vectormath64.Vector3 p);
+    method public operator androidx.ui.vectormath64.Matrix3 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix3 times(androidx.ui.vectormath64.Matrix3 m);
+    method public operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public float[] toFloatArray();
+    method public operator androidx.ui.vectormath64.Matrix3 unaryMinus();
+    property public final inline java.util.List<java.lang.Float> m3storage;
+    field public static final androidx.ui.vectormath64.Matrix3.Companion! Companion;
+  }
+
+  public static final class Matrix3.Companion {
+    method public androidx.ui.vectormath64.Matrix3 identity();
+    method public androidx.ui.vectormath64.Matrix3 of(float... a);
+  }
+
+  public final class Matrix4 {
+    ctor public Matrix4(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    ctor public Matrix4();
+    ctor public Matrix4(androidx.ui.vectormath64.Vector3 right, androidx.ui.vectormath64.Vector3 up, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 position);
+    ctor public Matrix4(androidx.ui.vectormath64.Matrix4 m);
+    method public void assignColumns(androidx.ui.vectormath64.Matrix4 other);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public androidx.ui.vectormath64.Vector4 component1();
+    method public androidx.ui.vectormath64.Vector4 component2();
+    method public androidx.ui.vectormath64.Vector4 component3();
+    method public androidx.ui.vectormath64.Vector4 component4();
+    method public androidx.ui.vectormath64.Matrix4 copy(androidx.ui.vectormath64.Vector4 x, androidx.ui.vectormath64.Vector4 y, androidx.ui.vectormath64.Vector4 z, androidx.ui.vectormath64.Vector4 w);
+    method public float copyInverse(androidx.ui.vectormath64.Matrix4 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 dec();
+    method public operator androidx.ui.vectormath64.Matrix4 div(float v);
+    method public operator androidx.ui.vectormath64.Vector4 get(int column);
+    method public operator float get(int column, int row);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.MatrixColumn column);
+    method public operator float get(androidx.ui.vectormath64.MatrixColumn column, int row);
+    method public float getDeterminant();
+    method public inline androidx.ui.vectormath64.Vector3 getForward();
+    method public inline java.util.List<java.lang.Float> getM4storage();
+    method public inline androidx.ui.vectormath64.Vector3 getPosition();
+    method public inline androidx.ui.vectormath64.Vector3 getRight();
+    method public androidx.ui.vectormath64.Vector3 getRotation();
+    method public androidx.ui.vectormath64.Vector4 getRow(int row);
+    method public inline androidx.ui.vectormath64.Vector3 getScale();
+    method public inline androidx.ui.vectormath64.Vector3 getTranslation();
+    method public inline androidx.ui.vectormath64.Vector3 getUp();
+    method public inline androidx.ui.vectormath64.Matrix3 getUpperLeft();
+    method public androidx.ui.vectormath64.Vector4 getW();
+    method public androidx.ui.vectormath64.Vector4 getX();
+    method public androidx.ui.vectormath64.Vector4 getY();
+    method public androidx.ui.vectormath64.Vector4 getZ();
+    method public operator androidx.ui.vectormath64.Matrix4 inc();
+    method public float invert();
+    method public operator androidx.ui.vectormath64.Matrix4 minus(float v);
+    method public androidx.ui.vectormath64.Vector3 perspectiveTransform(androidx.ui.vectormath64.Vector3 arg);
+    method public operator androidx.ui.vectormath64.Matrix4 plus(float v);
+    method public void rotateX(float radians);
+    method public void rotateY(float radians);
+    method public void rotateZ(float radians);
+    method public void scale(Object x, Float? y = null, Float? z = null);
+    method public operator void set(int column, androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int column, int row, float v);
+    method public inline void setForward(androidx.ui.vectormath64.Vector3 value);
+    method public void setFrom(androidx.ui.vectormath64.Matrix4 arg);
+    method public inline void setPosition(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRight(androidx.ui.vectormath64.Vector3 value);
+    method public void setTranslationRaw(float x, float y, float z);
+    method public inline void setUp(androidx.ui.vectormath64.Vector3 value);
+    method public void setW(androidx.ui.vectormath64.Vector4 p);
+    method public void setX(androidx.ui.vectormath64.Vector4 p);
+    method public void setY(androidx.ui.vectormath64.Vector4 p);
+    method public void setZ(androidx.ui.vectormath64.Vector4 p);
+    method public operator androidx.ui.vectormath64.Matrix4 times(float v);
+    method public operator androidx.ui.vectormath64.Matrix4 times(androidx.ui.vectormath64.Matrix4 m);
+    method public operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public operator void timesAssign(androidx.ui.vectormath64.Matrix4 m);
+    method public float[] toFloatArray();
+    method public void translate(Object x, float y = 0.0f, float z = 0.0f);
+    method public operator androidx.ui.vectormath64.Matrix4 unaryMinus();
+    property public final float determinant;
+    property public final inline androidx.ui.vectormath64.Vector3 forward;
+    property public final inline java.util.List<java.lang.Float> m4storage;
+    property public final inline androidx.ui.vectormath64.Vector3 position;
+    property public final inline androidx.ui.vectormath64.Vector3 right;
+    property public final androidx.ui.vectormath64.Vector3 rotation;
+    property public final inline androidx.ui.vectormath64.Vector3 scale;
+    property public final inline androidx.ui.vectormath64.Vector3 translation;
+    property public final inline androidx.ui.vectormath64.Vector3 up;
+    property public final inline androidx.ui.vectormath64.Matrix3 upperLeft;
+    field public static final androidx.ui.vectormath64.Matrix4.Companion! Companion;
+  }
+
+  public static final class Matrix4.Companion {
+    method public androidx.ui.vectormath64.Matrix4 diagonal3(androidx.ui.vectormath64.Vector3 scale);
+    method public androidx.ui.vectormath64.Matrix4 diagonal3Values(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 identity();
+    method public androidx.ui.vectormath64.Matrix4 of(float... a);
+    method public androidx.ui.vectormath64.Matrix4 rotationX(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationY(float radians);
+    method public androidx.ui.vectormath64.Matrix4 rotationZ(float radians);
+    method public androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 translation);
+    method public androidx.ui.vectormath64.Matrix4 translationValues(float x, float y, float z);
+    method public androidx.ui.vectormath64.Matrix4 zero();
+  }
+
+  public final class Matrix4Kt {
+    ctor public Matrix4Kt();
+    method public static Float? getAsScale(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Offset? getAsTranslation(androidx.ui.vectormath64.Matrix4);
+    method public static androidx.ui.engine.geometry.Rect inverseTransformRect(androidx.ui.vectormath64.Matrix4 transform, androidx.ui.engine.geometry.Rect rect);
+    method public static boolean isIdentity(androidx.ui.vectormath64.Matrix4);
+    method public static boolean matrixEquals(androidx.ui.vectormath64.Matrix4? a, androidx.ui.vectormath64.Matrix4? b);
+    method public static androidx.ui.engine.geometry.Offset transformPoint(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Offset point);
+    method public static androidx.ui.engine.geometry.Rect transformRect(androidx.ui.vectormath64.Matrix4, androidx.ui.engine.geometry.Rect rect);
+  }
+
+  public enum MatrixColumn {
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn W;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn X;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Y;
+    enum_constant public static final androidx.ui.vectormath64.MatrixColumn Z;
+  }
+
+  public final class MatrixExtensionsKt {
+    ctor public MatrixExtensionsKt();
+    method public static androidx.ui.vectormath64.Matrix3 inverse(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 inverse(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 lookAt(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 target, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 lookTowards(androidx.ui.vectormath64.Vector3 eye, androidx.ui.vectormath64.Vector3 forward, androidx.ui.vectormath64.Vector3 up = androidx.ui.vectormath64.Vector3(1.0));
+    method public static androidx.ui.vectormath64.Matrix4 normal(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 ortho(float l, float r, float b, float t, float n, float f);
+    method public static androidx.ui.vectormath64.Matrix4 perspective(float fov, float ratio, float near, float far);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 d);
+    method public static androidx.ui.vectormath64.Matrix4 rotation(androidx.ui.vectormath64.Vector3 axis, float angle);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Vector3 s);
+    method public static androidx.ui.vectormath64.Matrix4 scale(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Vector3 t);
+    method public static androidx.ui.vectormath64.Matrix4 translation(androidx.ui.vectormath64.Matrix4 m);
+    method public static androidx.ui.vectormath64.Matrix2 transpose(androidx.ui.vectormath64.Matrix2 m);
+    method public static androidx.ui.vectormath64.Matrix3 transpose(androidx.ui.vectormath64.Matrix3 m);
+    method public static androidx.ui.vectormath64.Matrix4 transpose(androidx.ui.vectormath64.Matrix4 m);
+  }
+
+  public final class ScalarKt {
+    ctor public ScalarKt();
+    method public static inline float degrees(float v);
+    method public static inline float fract(float v);
+    method public static inline float mix(float a, float b, float x);
+    method public static inline float radians(float v);
+    method public static inline float sqr(float v);
+    field public static final float FOUR_PI = 12.566371f;
+    field public static final float HALF_PI = 1.5707964f;
+    field public static final float INV_FOUR_PI = 0.07957747f;
+    field public static final float INV_PI = 0.31830987f;
+    field public static final float INV_TWO_PI = 0.15915494f;
+    field public static final float PI = 3.1415927f;
+    field public static final float TWO_PI = 6.2831855f;
+  }
+
+  public final class Vector2 {
+    ctor public Vector2(float x, float y);
+    ctor public Vector2();
+    ctor public Vector2(androidx.ui.vectormath64.Vector2 v);
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.vectormath64.Vector2 copy(float x, float y);
+    method public operator androidx.ui.vectormath64.Vector2 dec();
+    method public inline operator androidx.ui.vectormath64.Vector2 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 div(androidx.ui.vectormath64.Vector2 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public inline float getG();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV2storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public float getY();
+    method public operator androidx.ui.vectormath64.Vector2 inc();
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 plus(androidx.ui.vectormath64.Vector2 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public inline void setG(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public void setY(float p);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector2 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline androidx.ui.vectormath64.Vector2 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector2 unaryMinus();
+    property public final inline float g;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v2storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+  }
+
+  public final class Vector3 {
+    ctor public Vector3(float x, float y, float z);
+    ctor public Vector3();
+    ctor public Vector3(androidx.ui.vectormath64.Vector2 v, float z);
+    ctor public Vector3(androidx.ui.vectormath64.Vector3 v);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public androidx.ui.vectormath64.Vector3 copy(float x, float y, float z);
+    method public operator androidx.ui.vectormath64.Vector3 dec();
+    method public inline operator androidx.ui.vectormath64.Vector3 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 div(androidx.ui.vectormath64.Vector3 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV3storage();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector3 inc();
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 plus(androidx.ui.vectormath64.Vector3 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setT(float value);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector3 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline androidx.ui.vectormath64.Vector3 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector3 unaryMinus();
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v3storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+  }
+
+  public final class Vector4 {
+    ctor public Vector4(float x, float y, float z, float w);
+    ctor public Vector4();
+    ctor public Vector4(androidx.ui.vectormath64.Vector2 v, float z, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector3 v, float w);
+    ctor public Vector4(androidx.ui.vectormath64.Vector4 v);
+    method public void assignFromStorage(java.util.List<java.lang.Float> storage);
+    method public float component1();
+    method public float component2();
+    method public float component3();
+    method public float component4();
+    method public androidx.ui.vectormath64.Vector4 copy(float x, float y, float z, float w);
+    method public operator androidx.ui.vectormath64.Vector4 dec();
+    method public inline operator androidx.ui.vectormath64.Vector4 div(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 div(androidx.ui.vectormath64.Vector4 v);
+    method public operator float get(androidx.ui.vectormath64.VectorComponent index);
+    method public operator androidx.ui.vectormath64.Vector2 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4);
+    method public operator float get(int index);
+    method public operator androidx.ui.vectormath64.Vector2 get(int index1, int index2);
+    method public operator androidx.ui.vectormath64.Vector3 get(int index1, int index2, int index3);
+    method public operator androidx.ui.vectormath64.Vector4 get(int index1, int index2, int index3, int index4);
+    method public inline float getA();
+    method public inline float getB();
+    method public inline float getG();
+    method public inline float getP();
+    method public inline float getQ();
+    method public inline float getR();
+    method public inline androidx.ui.vectormath64.Vector2 getRg();
+    method public inline androidx.ui.vectormath64.Vector3 getRgb();
+    method public inline androidx.ui.vectormath64.Vector4 getRgba();
+    method public inline float getS();
+    method public inline androidx.ui.vectormath64.Vector2 getSt();
+    method public inline androidx.ui.vectormath64.Vector3 getStp();
+    method public inline androidx.ui.vectormath64.Vector4 getStpq();
+    method public inline float getT();
+    method public inline java.util.List<java.lang.Float> getV4storage();
+    method public float getW();
+    method public float getX();
+    method public inline androidx.ui.vectormath64.Vector2 getXy();
+    method public inline androidx.ui.vectormath64.Vector3 getXyz();
+    method public inline androidx.ui.vectormath64.Vector4 getXyzw();
+    method public float getY();
+    method public float getZ();
+    method public operator androidx.ui.vectormath64.Vector4 inc();
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 minus(androidx.ui.vectormath64.Vector4 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 plus(androidx.ui.vectormath64.Vector4 v);
+    method public operator void set(int index, float v);
+    method public operator void set(int index1, int index2, float v);
+    method public operator void set(int index1, int index2, int index3, float v);
+    method public operator void set(int index1, int index2, int index3, int index4, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, float v);
+    method public operator void set(androidx.ui.vectormath64.VectorComponent index1, androidx.ui.vectormath64.VectorComponent index2, androidx.ui.vectormath64.VectorComponent index3, androidx.ui.vectormath64.VectorComponent index4, float v);
+    method public inline void setA(float value);
+    method public inline void setB(float value);
+    method public inline void setG(float value);
+    method public inline void setP(float value);
+    method public inline void setQ(float value);
+    method public inline void setR(float value);
+    method public inline void setRg(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setRgb(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setRgba(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setS(float value);
+    method public inline void setSt(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setStp(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setStpq(androidx.ui.vectormath64.Vector4 value);
+    method public inline void setT(float value);
+    method public void setW(float p);
+    method public void setX(float p);
+    method public inline void setXy(androidx.ui.vectormath64.Vector2 value);
+    method public inline void setXyz(androidx.ui.vectormath64.Vector3 value);
+    method public inline void setXyzw(androidx.ui.vectormath64.Vector4 value);
+    method public void setY(float p);
+    method public void setZ(float p);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(float v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector2 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector3 v);
+    method public inline operator androidx.ui.vectormath64.Vector4 times(androidx.ui.vectormath64.Vector4 v);
+    method public inline androidx.ui.vectormath64.Vector4 transform(kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public operator androidx.ui.vectormath64.Vector4 unaryMinus();
+    property public final inline float a;
+    property public final inline float b;
+    property public final inline float g;
+    property public final inline float p;
+    property public final inline float q;
+    property public final inline float r;
+    property public final inline androidx.ui.vectormath64.Vector2 rg;
+    property public final inline androidx.ui.vectormath64.Vector3 rgb;
+    property public final inline androidx.ui.vectormath64.Vector4 rgba;
+    property public final inline float s;
+    property public final inline androidx.ui.vectormath64.Vector2 st;
+    property public final inline androidx.ui.vectormath64.Vector3 stp;
+    property public final inline androidx.ui.vectormath64.Vector4 stpq;
+    property public final inline float t;
+    property public final inline java.util.List<java.lang.Float> v4storage;
+    property public final inline androidx.ui.vectormath64.Vector2 xy;
+    property public final inline androidx.ui.vectormath64.Vector3 xyz;
+    property public final inline androidx.ui.vectormath64.Vector4 xyzw;
+  }
+
+  public enum VectorComponent {
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent A;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent B;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent G;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent P;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Q;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent R;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent S;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent T;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent W;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent X;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Y;
+    enum_constant public static final androidx.ui.vectormath64.VectorComponent Z;
+  }
+
+  public final class VectorExtensionsKt {
+    ctor public VectorExtensionsKt();
+    method public static inline androidx.ui.vectormath64.Vector2 abs(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector3 abs(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector4 abs(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector2 coerceIn(androidx.ui.vectormath64.Vector2, androidx.ui.vectormath64.Vector2 min, androidx.ui.vectormath64.Vector2 max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector3 coerceIn(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 min, androidx.ui.vectormath64.Vector3 max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, float min, float max);
+    method public static inline androidx.ui.vectormath64.Vector4 coerceIn(androidx.ui.vectormath64.Vector4, androidx.ui.vectormath64.Vector4 min, androidx.ui.vectormath64.Vector4 max);
+    method public static inline androidx.ui.vectormath64.Vector3 cross(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float distance(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 div(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 div(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 div(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline float dot(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float dot(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float length(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector2 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector3 v);
+    method public static inline float length2(androidx.ui.vectormath64.Vector4 v);
+    method public static inline float max(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 max(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 max(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float max(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 max(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector2 v);
+    method public static inline androidx.ui.vectormath64.Vector2 min(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector3 v);
+    method public static inline androidx.ui.vectormath64.Vector3 min(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b);
+    method public static inline float min(androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector4 min(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b);
+    method public static inline operator androidx.ui.vectormath64.Vector2 minus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 minus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 minus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector2 mix(androidx.ui.vectormath64.Vector2 a, androidx.ui.vectormath64.Vector2 b, androidx.ui.vectormath64.Vector2 x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector3 mix(androidx.ui.vectormath64.Vector3 a, androidx.ui.vectormath64.Vector3 b, androidx.ui.vectormath64.Vector3 x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, float x);
+    method public static inline androidx.ui.vectormath64.Vector4 mix(androidx.ui.vectormath64.Vector4 a, androidx.ui.vectormath64.Vector4 b, androidx.ui.vectormath64.Vector4 x);
+    method public static androidx.ui.vectormath64.Vector2 normalize(androidx.ui.vectormath64.Vector2 v);
+    method public static androidx.ui.vectormath64.Vector3 normalize(androidx.ui.vectormath64.Vector3 v);
+    method public static androidx.ui.vectormath64.Vector4 normalize(androidx.ui.vectormath64.Vector4 v);
+    method public static inline operator androidx.ui.vectormath64.Vector2 plus(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 plus(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 plus(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 reflect(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n);
+    method public static inline androidx.ui.vectormath64.Vector3 reflect(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n);
+    method public static androidx.ui.vectormath64.Vector2 refract(androidx.ui.vectormath64.Vector2 i, androidx.ui.vectormath64.Vector2 n, float eta);
+    method public static androidx.ui.vectormath64.Vector3 refract(androidx.ui.vectormath64.Vector3 i, androidx.ui.vectormath64.Vector3 n, float eta);
+    method public static inline operator androidx.ui.vectormath64.Vector2 times(float, androidx.ui.vectormath64.Vector2 v);
+    method public static inline operator androidx.ui.vectormath64.Vector3 times(float, androidx.ui.vectormath64.Vector3 v);
+    method public static inline operator androidx.ui.vectormath64.Vector4 times(float, androidx.ui.vectormath64.Vector4 v);
+    method public static inline androidx.ui.vectormath64.Vector2 transform(androidx.ui.vectormath64.Vector2 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector3 transform(androidx.ui.vectormath64.Vector3 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline androidx.ui.vectormath64.Vector4 transform(androidx.ui.vectormath64.Vector4 v, kotlin.jvm.functions.Function1<? super java.lang.Float,java.lang.Float> block);
+    method public static inline infix androidx.ui.vectormath64.Vector3 x(androidx.ui.vectormath64.Vector3, androidx.ui.vectormath64.Vector3 v);
+  }
+
+}
+
diff --git a/ui/ui-foundation/api/0.1.0-dev04.txt b/ui/ui-foundation/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..503fd58
--- /dev/null
+++ b/ui/ui-foundation/api/0.1.0-dev04.txt
@@ -0,0 +1,352 @@
+// Signature format: 3.0
+package androidx.ui.foundation {
+
+  public final class BackgroundKt {
+    ctor public BackgroundKt();
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Brush brush);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class ClickableKt {
+    ctor public ClickableKt();
+    method public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColoredRectKt {
+    ctor public ColoredRectKt();
+    method public static void ColoredRect(androidx.ui.graphics.Brush brush, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+    method public static void ColoredRect(androidx.ui.graphics.Color color, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class ContentColorKt {
+    ctor public ContentColorKt();
+    method public static void ProvideContentColor(androidx.ui.graphics.Color color, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.graphics.Color contentColor();
+  }
+
+  public final class DarkThemeKt {
+    ctor public DarkThemeKt();
+    method public static androidx.compose.Effect<java.lang.Boolean> isSystemInDarkTheme();
+  }
+
+  public final class DeterminateProgressIndicatorKt {
+    ctor public DeterminateProgressIndicatorKt();
+    method public static void DeterminateProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DialogKt {
+    ctor public DialogKt();
+    method public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawBordersReceiver {
+    method public void all(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allHorizontal(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allVertical(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void bottom(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void horizontal(int row, kotlin.ranges.IntRange columns = 0 <other> columnCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void left(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void outer(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void right(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void top(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void vertical(int column, kotlin.ranges.IntRange rows = 0 <other> rowCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+    method public static void DrawImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+    method public static void SimpleImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+  }
+
+  public final class ScrollerKt {
+    ctor public ScrollerKt();
+    method public static void HorizontalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+    method public static void VerticalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+  }
+
+  public final class ScrollerPosition {
+    ctor public ScrollerPosition(float initial);
+    ctor public ScrollerPosition();
+    method public androidx.ui.foundation.animation.FlingConfig getFlingConfig();
+    method public androidx.ui.core.Px getMaxPosition();
+    method public androidx.ui.core.Px getValue();
+    method public void scrollBy(androidx.ui.core.Px value);
+    method public void scrollTo(androidx.ui.core.Px value);
+    method public void setFlingConfig(androidx.ui.foundation.animation.FlingConfig p);
+    method public void smoothScrollBy(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    method public void smoothScrollTo(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    property public final androidx.ui.foundation.animation.FlingConfig flingConfig;
+    property public final androidx.ui.core.Px maxPosition;
+    property public final androidx.ui.core.Px value;
+  }
+
+  public final class Strings {
+    method public String getChecked();
+    method public String getIndeterminate();
+    method public String getNotSelected();
+    method public String getSelected();
+    method public String getUnchecked();
+    property public final String Checked;
+    property public final String Indeterminate;
+    property public final String NotSelected;
+    property public final String Selected;
+    property public final String Unchecked;
+    field public static final androidx.ui.foundation.Strings! INSTANCE;
+  }
+
+  public final class TableBordersKt {
+    ctor public TableBordersKt();
+    method public static void drawBorders(androidx.ui.layout.TableChildren, androidx.ui.foundation.shape.border.Border defaultBorder = Border(Color.Black, Dp.Hairline), kotlin.jvm.functions.Function1<? super androidx.ui.foundation.DrawBordersReceiver,kotlin.Unit> block);
+  }
+
+  public interface ValueHolder<T> {
+    method public T getValue();
+    property public abstract T value;
+  }
+
+}
+
+package androidx.ui.foundation.animation {
+
+  public final class AnimatedValueHolder implements androidx.ui.foundation.ValueHolder<java.lang.Float> {
+    ctor public AnimatedValueHolder(float initial);
+    method public void fling(androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+    method public androidx.animation.AnimatedFloat getAnimatedFloat();
+    method public Float! getValue();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    property public final androidx.animation.AnimatedFloat animatedFloat;
+    property public Float! value;
+  }
+
+  public final class AnimatedValueHolderKt {
+    ctor public AnimatedValueHolderKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.foundation.animation.AnimatedValueHolder> animatedDragValue(float initial, float minBound, float maxBound);
+  }
+
+  public final class FlingConfig {
+    ctor public FlingConfig(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    ctor public FlingConfig();
+    method public androidx.animation.DecayAnimation component1();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> component3();
+    method public androidx.ui.foundation.animation.FlingConfig copy(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> getAdjustTarget();
+    method public androidx.animation.DecayAnimation getDecayAnimation();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? getOnAnimationEnd();
+  }
+
+  public final class FlingConfigKt {
+    ctor public FlingConfigKt();
+    method public static androidx.ui.foundation.animation.FlingConfig AnchorsFlingConfig(java.util.List<java.lang.Float> anchors, androidx.animation.AnimationBuilder<java.lang.Float> animationBuilder = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>?  androidx.animation.DecayAnimation decayAnimation = androidx.animation.ExponentialDecay());
+    method public static void fling(androidx.animation.AnimatedFloat, androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+  }
+
+}
+
+package androidx.ui.foundation.gestures {
+
+  public abstract sealed class DragDirection {
+  }
+
+  public static final class DragDirection.Horizontal extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Horizontal! INSTANCE;
+  }
+
+  public static final class DragDirection.Vertical extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Vertical! INSTANCE;
+  }
+
+  public interface DragValueController {
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public abstract float currentValue;
+  }
+
+  public final class DraggableKt {
+    ctor public DraggableKt();
+    method public static void Draggable(androidx.ui.foundation.gestures.DragDirection dragDirection, androidx.ui.foundation.ValueHolder<java.lang.Float> dragValue, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDragValueChangeRequested, kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FloatDragValueController implements androidx.ui.foundation.gestures.DragValueController {
+    ctor public FloatDragValueController(float initialValue);
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public float currentValue;
+  }
+
+}
+
+package androidx.ui.foundation.selection {
+
+  public final class MutuallyExclusiveSetItemKt {
+    ctor public MutuallyExclusiveSetItemKt();
+    method public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ToggleableKt {
+    ctor public ToggleableKt();
+    method public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
+    method public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState value = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public enum ToggleableState {
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Indeterminate;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Off;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState On;
+  }
+
+}
+
+package androidx.ui.foundation.semantics {
+
+  public final class FoundationSemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getInMutuallyExclusiveGroup();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> getToggleableState();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> InMutuallyExclusiveGroup;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> ToggleableState;
+    field public static final androidx.ui.foundation.semantics.FoundationSemanticsProperties! INSTANCE;
+  }
+
+  public final class FoundationSemanticsPropertiesKt {
+    ctor public FoundationSemanticsPropertiesKt();
+    method public static boolean getInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getSelected(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.foundation.selection.ToggleableState getToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setSelected(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.foundation.selection.ToggleableState p);
+  }
+
+}
+
+package androidx.ui.foundation.shape {
+
+  public final class DrawShapeKt {
+    ctor public DrawShapeKt();
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class GenericShape implements androidx.ui.engine.geometry.Shape {
+    ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public final class RectangleShapeKt {
+    ctor public RectangleShapeKt();
+    method public static androidx.ui.engine.geometry.Shape getRectangleShape();
+  }
+
+}
+
+package androidx.ui.foundation.shape.border {
+
+  public final class Border {
+    ctor public Border(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.foundation.shape.border.Border copy(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush getBrush();
+    method public androidx.ui.core.Dp getWidth();
+  }
+
+  public final class BorderKt {
+    ctor public BorderKt();
+    method public static androidx.ui.foundation.shape.border.Border Border(androidx.ui.graphics.Color color, androidx.ui.core.Dp width);
+  }
+
+  public final class DrawBorderKt {
+    ctor public DrawBorderKt();
+    method public static void DrawBorder(androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border border);
+  }
+
+}
+
+package androidx.ui.foundation.shape.corner {
+
+  public abstract class CornerBasedShape implements androidx.ui.engine.geometry.Shape {
+    ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public final androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public abstract androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+  }
+
+  public interface CornerSize {
+    method public androidx.ui.core.Px toPx(androidx.ui.core.PxSize shapeSize, androidx.ui.core.Density density);
+  }
+
+  public final class CornerSizeKt {
+    ctor public CornerSizeKt();
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@IntRange(from=0, to=50) int percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@FloatRange(from=0.0, to=50.0) float percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize getZeroCornerSize();
+  }
+
+  public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Generic createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class CutCornerShapeKt {
+    ctor public CutCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+  }
+
+  public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Rounded createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class RoundedCornerShapeKt {
+    ctor public RoundedCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape getCircleShape();
+  }
+
+}
+
diff --git a/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..503fd58
--- /dev/null
+++ b/ui/ui-foundation/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,352 @@
+// Signature format: 3.0
+package androidx.ui.foundation {
+
+  public final class BackgroundKt {
+    ctor public BackgroundKt();
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Brush brush);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class ClickableKt {
+    ctor public ClickableKt();
+    method public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColoredRectKt {
+    ctor public ColoredRectKt();
+    method public static void ColoredRect(androidx.ui.graphics.Brush brush, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+    method public static void ColoredRect(androidx.ui.graphics.Color color, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class ContentColorKt {
+    ctor public ContentColorKt();
+    method public static void ProvideContentColor(androidx.ui.graphics.Color color, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.graphics.Color contentColor();
+  }
+
+  public final class DarkThemeKt {
+    ctor public DarkThemeKt();
+    method public static androidx.compose.Effect<java.lang.Boolean> isSystemInDarkTheme();
+  }
+
+  public final class DeterminateProgressIndicatorKt {
+    ctor public DeterminateProgressIndicatorKt();
+    method public static void DeterminateProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DialogKt {
+    ctor public DialogKt();
+    method public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawBordersReceiver {
+    method public void all(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allHorizontal(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allVertical(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void bottom(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void horizontal(int row, kotlin.ranges.IntRange columns = 0 <other> columnCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void left(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void outer(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void right(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void top(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void vertical(int column, kotlin.ranges.IntRange rows = 0 <other> rowCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+    method public static void DrawImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+    method public static void SimpleImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+  }
+
+  public final class ScrollerKt {
+    ctor public ScrollerKt();
+    method public static void HorizontalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+    method public static void VerticalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+  }
+
+  public final class ScrollerPosition {
+    ctor public ScrollerPosition(float initial);
+    ctor public ScrollerPosition();
+    method public androidx.ui.foundation.animation.FlingConfig getFlingConfig();
+    method public androidx.ui.core.Px getMaxPosition();
+    method public androidx.ui.core.Px getValue();
+    method public void scrollBy(androidx.ui.core.Px value);
+    method public void scrollTo(androidx.ui.core.Px value);
+    method public void setFlingConfig(androidx.ui.foundation.animation.FlingConfig p);
+    method public void smoothScrollBy(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    method public void smoothScrollTo(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    property public final androidx.ui.foundation.animation.FlingConfig flingConfig;
+    property public final androidx.ui.core.Px maxPosition;
+    property public final androidx.ui.core.Px value;
+  }
+
+  public final class Strings {
+    method public String getChecked();
+    method public String getIndeterminate();
+    method public String getNotSelected();
+    method public String getSelected();
+    method public String getUnchecked();
+    property public final String Checked;
+    property public final String Indeterminate;
+    property public final String NotSelected;
+    property public final String Selected;
+    property public final String Unchecked;
+    field public static final androidx.ui.foundation.Strings! INSTANCE;
+  }
+
+  public final class TableBordersKt {
+    ctor public TableBordersKt();
+    method public static void drawBorders(androidx.ui.layout.TableChildren, androidx.ui.foundation.shape.border.Border defaultBorder = Border(Color.Black, Dp.Hairline), kotlin.jvm.functions.Function1<? super androidx.ui.foundation.DrawBordersReceiver,kotlin.Unit> block);
+  }
+
+  public interface ValueHolder<T> {
+    method public T getValue();
+    property public abstract T value;
+  }
+
+}
+
+package androidx.ui.foundation.animation {
+
+  public final class AnimatedValueHolder implements androidx.ui.foundation.ValueHolder<java.lang.Float> {
+    ctor public AnimatedValueHolder(float initial);
+    method public void fling(androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+    method public androidx.animation.AnimatedFloat getAnimatedFloat();
+    method public Float! getValue();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    property public final androidx.animation.AnimatedFloat animatedFloat;
+    property public Float! value;
+  }
+
+  public final class AnimatedValueHolderKt {
+    ctor public AnimatedValueHolderKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.foundation.animation.AnimatedValueHolder> animatedDragValue(float initial, float minBound, float maxBound);
+  }
+
+  public final class FlingConfig {
+    ctor public FlingConfig(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    ctor public FlingConfig();
+    method public androidx.animation.DecayAnimation component1();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> component3();
+    method public androidx.ui.foundation.animation.FlingConfig copy(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> getAdjustTarget();
+    method public androidx.animation.DecayAnimation getDecayAnimation();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? getOnAnimationEnd();
+  }
+
+  public final class FlingConfigKt {
+    ctor public FlingConfigKt();
+    method public static androidx.ui.foundation.animation.FlingConfig AnchorsFlingConfig(java.util.List<java.lang.Float> anchors, androidx.animation.AnimationBuilder<java.lang.Float> animationBuilder = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>?  androidx.animation.DecayAnimation decayAnimation = androidx.animation.ExponentialDecay());
+    method public static void fling(androidx.animation.AnimatedFloat, androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+  }
+
+}
+
+package androidx.ui.foundation.gestures {
+
+  public abstract sealed class DragDirection {
+  }
+
+  public static final class DragDirection.Horizontal extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Horizontal! INSTANCE;
+  }
+
+  public static final class DragDirection.Vertical extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Vertical! INSTANCE;
+  }
+
+  public interface DragValueController {
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public abstract float currentValue;
+  }
+
+  public final class DraggableKt {
+    ctor public DraggableKt();
+    method public static void Draggable(androidx.ui.foundation.gestures.DragDirection dragDirection, androidx.ui.foundation.ValueHolder<java.lang.Float> dragValue, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDragValueChangeRequested, kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FloatDragValueController implements androidx.ui.foundation.gestures.DragValueController {
+    ctor public FloatDragValueController(float initialValue);
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public float currentValue;
+  }
+
+}
+
+package androidx.ui.foundation.selection {
+
+  public final class MutuallyExclusiveSetItemKt {
+    ctor public MutuallyExclusiveSetItemKt();
+    method public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ToggleableKt {
+    ctor public ToggleableKt();
+    method public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
+    method public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState value = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public enum ToggleableState {
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Indeterminate;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Off;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState On;
+  }
+
+}
+
+package androidx.ui.foundation.semantics {
+
+  public final class FoundationSemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getInMutuallyExclusiveGroup();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> getToggleableState();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> InMutuallyExclusiveGroup;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> ToggleableState;
+    field public static final androidx.ui.foundation.semantics.FoundationSemanticsProperties! INSTANCE;
+  }
+
+  public final class FoundationSemanticsPropertiesKt {
+    ctor public FoundationSemanticsPropertiesKt();
+    method public static boolean getInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getSelected(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.foundation.selection.ToggleableState getToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setSelected(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.foundation.selection.ToggleableState p);
+  }
+
+}
+
+package androidx.ui.foundation.shape {
+
+  public final class DrawShapeKt {
+    ctor public DrawShapeKt();
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class GenericShape implements androidx.ui.engine.geometry.Shape {
+    ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public final class RectangleShapeKt {
+    ctor public RectangleShapeKt();
+    method public static androidx.ui.engine.geometry.Shape getRectangleShape();
+  }
+
+}
+
+package androidx.ui.foundation.shape.border {
+
+  public final class Border {
+    ctor public Border(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.foundation.shape.border.Border copy(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush getBrush();
+    method public androidx.ui.core.Dp getWidth();
+  }
+
+  public final class BorderKt {
+    ctor public BorderKt();
+    method public static androidx.ui.foundation.shape.border.Border Border(androidx.ui.graphics.Color color, androidx.ui.core.Dp width);
+  }
+
+  public final class DrawBorderKt {
+    ctor public DrawBorderKt();
+    method public static void DrawBorder(androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border border);
+  }
+
+}
+
+package androidx.ui.foundation.shape.corner {
+
+  public abstract class CornerBasedShape implements androidx.ui.engine.geometry.Shape {
+    ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public final androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public abstract androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+  }
+
+  public interface CornerSize {
+    method public androidx.ui.core.Px toPx(androidx.ui.core.PxSize shapeSize, androidx.ui.core.Density density);
+  }
+
+  public final class CornerSizeKt {
+    ctor public CornerSizeKt();
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@IntRange(from=0, to=50) int percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@FloatRange(from=0.0, to=50.0) float percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize getZeroCornerSize();
+  }
+
+  public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Generic createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class CutCornerShapeKt {
+    ctor public CutCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+  }
+
+  public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Rounded createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class RoundedCornerShapeKt {
+    ctor public RoundedCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape getCircleShape();
+  }
+
+}
+
diff --git a/ui/ui-foundation/api/res-0.1.0-dev04.txt b/ui/ui-foundation/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-foundation/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-foundation/api/restricted_0.1.0-dev04.txt b/ui/ui-foundation/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..503fd58
--- /dev/null
+++ b/ui/ui-foundation/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,352 @@
+// Signature format: 3.0
+package androidx.ui.foundation {
+
+  public final class BackgroundKt {
+    ctor public BackgroundKt();
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.graphics.Brush brush);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static androidx.ui.core.DrawModifier background(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class ClickableKt {
+    ctor public ClickableKt();
+    method public static void Clickable(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = false, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColoredRectKt {
+    ctor public ColoredRectKt();
+    method public static void ColoredRect(androidx.ui.graphics.Brush brush, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+    method public static void ColoredRect(androidx.ui.graphics.Color color, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class ContentColorKt {
+    ctor public ContentColorKt();
+    method public static void ProvideContentColor(androidx.ui.graphics.Color color, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.graphics.Color contentColor();
+  }
+
+  public final class DarkThemeKt {
+    ctor public DarkThemeKt();
+    method public static androidx.compose.Effect<java.lang.Boolean> isSystemInDarkTheme();
+  }
+
+  public final class DeterminateProgressIndicatorKt {
+    ctor public DeterminateProgressIndicatorKt();
+    method public static void DeterminateProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DialogKt {
+    ctor public DialogKt();
+    method public static void Dialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawBordersReceiver {
+    method public void all(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allHorizontal(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void allVertical(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void bottom(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void horizontal(int row, kotlin.ranges.IntRange columns = 0 <other> columnCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void left(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void outer(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void right(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void top(androidx.ui.foundation.shape.border.Border border = defaultBorder);
+    method public void vertical(int column, kotlin.ranges.IntRange rows = 0 <other> rowCount, androidx.ui.foundation.shape.border.Border border = defaultBorder);
+  }
+
+  public final class ImageKt {
+    ctor public ImageKt();
+    method public static void DrawImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+    method public static void SimpleImage(androidx.ui.graphics.Image image, androidx.ui.graphics.Color? tint = null);
+  }
+
+  public final class ScrollerKt {
+    ctor public ScrollerKt();
+    method public static void HorizontalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+    method public static void VerticalScroller(androidx.ui.foundation.ScrollerPosition scrollerPosition = +memo({ 
+    <init>()
+}), androidx.ui.core.Modifier modifier = Modifier.None, boolean isScrollable = true, kotlin.jvm.functions.Function0<kotlin.Unit> child);
+  }
+
+  public final class ScrollerPosition {
+    ctor public ScrollerPosition(float initial);
+    ctor public ScrollerPosition();
+    method public androidx.ui.foundation.animation.FlingConfig getFlingConfig();
+    method public androidx.ui.core.Px getMaxPosition();
+    method public androidx.ui.core.Px getValue();
+    method public void scrollBy(androidx.ui.core.Px value);
+    method public void scrollTo(androidx.ui.core.Px value);
+    method public void setFlingConfig(androidx.ui.foundation.animation.FlingConfig p);
+    method public void smoothScrollBy(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    method public void smoothScrollTo(androidx.ui.core.Px value, kotlin.jvm.functions.Function2<? super androidx.animation.AnimationEndReason,? super java.lang.Float,kotlin.Unit>  _, _ ->  });
+    property public final androidx.ui.foundation.animation.FlingConfig flingConfig;
+    property public final androidx.ui.core.Px maxPosition;
+    property public final androidx.ui.core.Px value;
+  }
+
+  public final class Strings {
+    method public String getChecked();
+    method public String getIndeterminate();
+    method public String getNotSelected();
+    method public String getSelected();
+    method public String getUnchecked();
+    property public final String Checked;
+    property public final String Indeterminate;
+    property public final String NotSelected;
+    property public final String Selected;
+    property public final String Unchecked;
+    field public static final androidx.ui.foundation.Strings! INSTANCE;
+  }
+
+  public final class TableBordersKt {
+    ctor public TableBordersKt();
+    method public static void drawBorders(androidx.ui.layout.TableChildren, androidx.ui.foundation.shape.border.Border defaultBorder = Border(Color.Black, Dp.Hairline), kotlin.jvm.functions.Function1<? super androidx.ui.foundation.DrawBordersReceiver,kotlin.Unit> block);
+  }
+
+  public interface ValueHolder<T> {
+    method public T getValue();
+    property public abstract T value;
+  }
+
+}
+
+package androidx.ui.foundation.animation {
+
+  public final class AnimatedValueHolder implements androidx.ui.foundation.ValueHolder<java.lang.Float> {
+    ctor public AnimatedValueHolder(float initial);
+    method public void fling(androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+    method public androidx.animation.AnimatedFloat getAnimatedFloat();
+    method public Float! getValue();
+    method public void setBounds(float min = Float.NEGATIVE_INFINITY, float max = Float.POSITIVE_INFINITY);
+    property public final androidx.animation.AnimatedFloat animatedFloat;
+    property public Float! value;
+  }
+
+  public final class AnimatedValueHolderKt {
+    ctor public AnimatedValueHolderKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.foundation.animation.AnimatedValueHolder> animatedDragValue(float initial, float minBound, float maxBound);
+  }
+
+  public final class FlingConfig {
+    ctor public FlingConfig(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    ctor public FlingConfig();
+    method public androidx.animation.DecayAnimation component1();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? component2();
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> component3();
+    method public androidx.ui.foundation.animation.FlingConfig copy(androidx.animation.DecayAnimation decayAnimation, kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>? onAnimationEnd, kotlin.jvm.functions.Function1<? super java.lang.Float,androidx.animation.TargetAnimation> adjustTarget);
+    method public kotlin.jvm.functions.Function1<java.lang.Float,androidx.animation.TargetAnimation> getAdjustTarget();
+    method public androidx.animation.DecayAnimation getDecayAnimation();
+    method public kotlin.jvm.functions.Function3<androidx.animation.AnimationEndReason,java.lang.Float,java.lang.Float,kotlin.Unit>? getOnAnimationEnd();
+  }
+
+  public final class FlingConfigKt {
+    ctor public FlingConfigKt();
+    method public static androidx.ui.foundation.animation.FlingConfig AnchorsFlingConfig(java.util.List<java.lang.Float> anchors, androidx.animation.AnimationBuilder<java.lang.Float> animationBuilder = androidx.animation.PhysicsBuilder(), kotlin.jvm.functions.Function3<? super androidx.animation.AnimationEndReason,? super java.lang.Float,? super java.lang.Float,kotlin.Unit>?  androidx.animation.DecayAnimation decayAnimation = androidx.animation.ExponentialDecay());
+    method public static void fling(androidx.animation.AnimatedFloat, androidx.ui.foundation.animation.FlingConfig config, float startVelocity);
+  }
+
+}
+
+package androidx.ui.foundation.gestures {
+
+  public abstract sealed class DragDirection {
+  }
+
+  public static final class DragDirection.Horizontal extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Horizontal! INSTANCE;
+  }
+
+  public static final class DragDirection.Vertical extends androidx.ui.foundation.gestures.DragDirection {
+    field public static final androidx.ui.foundation.gestures.DragDirection.Vertical! INSTANCE;
+  }
+
+  public interface DragValueController {
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public abstract float currentValue;
+  }
+
+  public final class DraggableKt {
+    ctor public DraggableKt();
+    method public static void Draggable(androidx.ui.foundation.gestures.DragDirection dragDirection, androidx.ui.foundation.ValueHolder<java.lang.Float> dragValue, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onDragValueChangeRequested, kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>  kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FloatDragValueController implements androidx.ui.foundation.gestures.DragValueController {
+    ctor public FloatDragValueController(float initialValue);
+    method public float getCurrentValue();
+    method public void onDrag(float target);
+    method public void onDragEnd(float velocity, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit> onValueSettled);
+    method public void setBounds(float min, float max);
+    property public float currentValue;
+  }
+
+}
+
+package androidx.ui.foundation.selection {
+
+  public final class MutuallyExclusiveSetItemKt {
+    ctor public MutuallyExclusiveSetItemKt();
+    method public static void MutuallyExclusiveSetItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onClick, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ToggleableKt {
+    ctor public ToggleableKt();
+    method public static void Toggleable(boolean value, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.foundation.selection.ToggleableState ToggleableState(boolean value);
+    method public static void TriStateToggleable(androidx.ui.foundation.selection.ToggleableState value = androidx.ui.foundation.selection.ToggleableState.On, kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public enum ToggleableState {
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Indeterminate;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState Off;
+    enum_constant public static final androidx.ui.foundation.selection.ToggleableState On;
+  }
+
+}
+
+package androidx.ui.foundation.semantics {
+
+  public final class FoundationSemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getInMutuallyExclusiveGroup();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getSelected();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> getToggleableState();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> InMutuallyExclusiveGroup;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Selected;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.foundation.selection.ToggleableState> ToggleableState;
+    field public static final androidx.ui.foundation.semantics.FoundationSemanticsProperties! INSTANCE;
+  }
+
+  public final class FoundationSemanticsPropertiesKt {
+    ctor public FoundationSemanticsPropertiesKt();
+    method public static boolean getInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getSelected(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.foundation.selection.ToggleableState getToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void setInMutuallyExclusiveGroup(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setSelected(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setToggleableState(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.foundation.selection.ToggleableState p);
+  }
+
+}
+
+package androidx.ui.foundation.shape {
+
+  public final class DrawShapeKt {
+    ctor public DrawShapeKt();
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color color);
+    method public static void DrawShape(androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Brush brush);
+  }
+
+  public final class GenericShape implements androidx.ui.engine.geometry.Shape {
+    ctor public GenericShape(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.foundation.shape.GenericShape copy(kotlin.jvm.functions.Function2<? super androidx.ui.graphics.Path,? super androidx.ui.core.PxSize,kotlin.Unit> builder);
+    method public androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+  }
+
+  public final class RectangleShapeKt {
+    ctor public RectangleShapeKt();
+    method public static androidx.ui.engine.geometry.Shape getRectangleShape();
+  }
+
+}
+
+package androidx.ui.foundation.shape.border {
+
+  public final class Border {
+    ctor public Border(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.foundation.shape.border.Border copy(androidx.ui.graphics.Brush brush, androidx.ui.core.Dp width);
+    method public androidx.ui.graphics.Brush getBrush();
+    method public androidx.ui.core.Dp getWidth();
+  }
+
+  public final class BorderKt {
+    ctor public BorderKt();
+    method public static androidx.ui.foundation.shape.border.Border Border(androidx.ui.graphics.Color color, androidx.ui.core.Dp width);
+  }
+
+  public final class DrawBorderKt {
+    ctor public DrawBorderKt();
+    method public static void DrawBorder(androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border border);
+  }
+
+}
+
+package androidx.ui.foundation.shape.corner {
+
+  public abstract class CornerBasedShape implements androidx.ui.engine.geometry.Shape {
+    ctor public CornerBasedShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public final androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public abstract androidx.ui.engine.geometry.Outline createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+  }
+
+  public interface CornerSize {
+    method public androidx.ui.core.Px toPx(androidx.ui.core.PxSize shapeSize, androidx.ui.core.Density density);
+  }
+
+  public final class CornerSizeKt {
+    ctor public CornerSizeKt();
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@IntRange(from=0, to=50) int percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize CornerSize(@FloatRange(from=0.0, to=50.0) float percent);
+    method public static androidx.ui.foundation.shape.corner.CornerSize getZeroCornerSize();
+  }
+
+  public final class CutCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.CutCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Generic createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class CutCornerShapeKt {
+    ctor public CutCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.CutCornerShape CutCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+  }
+
+  public final class RoundedCornerShape extends androidx.ui.foundation.shape.corner.CornerBasedShape {
+    ctor public RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize component1();
+    method public androidx.ui.foundation.shape.corner.CornerSize component2();
+    method public androidx.ui.foundation.shape.corner.CornerSize component3();
+    method public androidx.ui.foundation.shape.corner.CornerSize component4();
+    method public androidx.ui.foundation.shape.corner.RoundedCornerShape copy(androidx.ui.foundation.shape.corner.CornerSize topLeft, androidx.ui.foundation.shape.corner.CornerSize topRight, androidx.ui.foundation.shape.corner.CornerSize bottomRight, androidx.ui.foundation.shape.corner.CornerSize bottomLeft);
+    method public androidx.ui.engine.geometry.Outline.Rounded createOutline(androidx.ui.core.PxSize size, androidx.ui.core.Px topLeft, androidx.ui.core.Px topRight, androidx.ui.core.Px bottomRight, androidx.ui.core.Px bottomLeft);
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getBottomRight();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopLeft();
+    method public androidx.ui.foundation.shape.corner.CornerSize getTopRight();
+  }
+
+  public final class RoundedCornerShapeKt {
+    ctor public RoundedCornerShapeKt();
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.foundation.shape.corner.CornerSize corner);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px size);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(int percent);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Dp topLeft = 0.dp, androidx.ui.core.Dp topRight = 0.dp, androidx.ui.core.Dp bottomRight = 0.dp, androidx.ui.core.Dp bottomLeft = 0.dp);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(androidx.ui.core.Px topLeft = 0.px, androidx.ui.core.Px topRight = 0.px, androidx.ui.core.Px bottomRight = 0.px, androidx.ui.core.Px bottomLeft = 0.px);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape RoundedCornerShape(@IntRange(from=0, to=50) int topLeftPercent = 0, @IntRange(from=0, to=50) int topRightPercent = 0, @IntRange(from=0, to=50) int bottomRightPercent = 0, @IntRange(from=0, to=50) int bottomLeftPercent = 0);
+    method public static androidx.ui.foundation.shape.corner.RoundedCornerShape getCircleShape();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/0.1.0-dev04.txt b/ui/ui-framework/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..a2b3818
--- /dev/null
+++ b/ui/ui-framework/api/0.1.0-dev04.txt
@@ -0,0 +1,625 @@
+// Signature format: 3.0
+package androidx.ui.core {
+
+  public final class ClipKt {
+    ctor public ClipKt();
+    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawKt {
+    ctor public DrawKt();
+    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+  }
+
+  public final class DrawShadowKt {
+    ctor public DrawShadowKt();
+    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
+  }
+
+  public final class EditorModel {
+    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
+    ctor public EditorModel();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+  }
+
+  public final class LayoutKt {
+    ctor public LayoutKt();
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
+  }
+
+  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
+    method public boolean contains(androidx.ui.core.Measurable element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public androidx.ui.core.Measurable get(int index);
+    method public int getSize();
+    method public int indexOf(androidx.ui.core.Measurable element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
+    method public int lastIndexOf(androidx.ui.core.Measurable element);
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
+    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
+  }
+
+  public final class OpacityKt {
+    ctor public OpacityKt();
+    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ParentDataKt {
+    ctor public ParentDataKt();
+    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PasswordTextFieldKt {
+    ctor public PasswordTextFieldKt();
+    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> >
+  }
+
+  public final class PointerInputWrapperKt {
+    ctor public PointerInputWrapperKt();
+    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    ctor public PopupKt();
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void disposeActivityComposition(android.app.Activity activity);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
+  public final class RepaintBoundaryKt {
+    ctor public RepaintBoundaryKt();
+    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TestTagProviderKt {
+    ctor public TestTagProviderKt();
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static String getDefaultTestTag();
+    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
+  }
+
+  public final class TextFieldDelegateKt {
+    ctor public TextFieldDelegateKt();
+  }
+
+  public final class TextFieldKt {
+    ctor public TextFieldKt();
+    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit>  _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
+    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
+    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
+  }
+
+  public final class TextSpanComposeKt {
+    ctor public TextSpanComposeKt();
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
+    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
+    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
+  }
+
+  public final class TextSpanComposition {
+    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.core.TextSpanComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class TextSpanScope {
+    method public androidx.ui.core.TextSpanComposition getComposer();
+  }
+
+  public final class WrapperKt {
+    ctor public WrapperKt();
+    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
+    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
+    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    ctor public ConstantsKt();
+    method public static androidx.ui.core.Duration getDoubleTapMinTime();
+    method public static androidx.ui.core.Dp getDoubleTapSlop();
+    method public static androidx.ui.core.Duration getDoubleTapTimeout();
+    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
+    method public static androidx.ui.core.Dp getHoverTapSlop();
+    method public static androidx.ui.core.Duration getHoverTapTimeout();
+    method public static androidx.ui.core.Duration getJumpTapTimeout();
+    method public static androidx.ui.core.Duration getLongPressTimeout();
+    method public static androidx.ui.core.Dp getMaxFlingVelocity();
+    method public static androidx.ui.core.Dp getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.core.Duration getPressTimeout();
+    method public static androidx.ui.core.Dp getScaleSlop();
+    method public static androidx.ui.core.Dp getTouchSlop();
+    method public static androidx.ui.core.Dp getWindowTouchSlop();
+    method public static androidx.ui.core.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureDetectorKt {
+    ctor public DoubleTapGestureDetectorKt();
+    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface DragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.core.PxPosition downPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressDragGestureDetectorKt {
+    ctor public LongPressDragGestureDetectorKt();
+    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface LongPressDragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressGestureDetectorKt {
+    ctor public LongPressGestureDetectorKt();
+    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressGestureDetectorKt {
+    ctor public PressGestureDetectorKt();
+    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressIndicatorGestureDetectorKt {
+    ctor public PressIndicatorGestureDetectorKt();
+    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressReleasedGestureDetectorKt {
+    ctor public PressReleasedGestureDetectorKt();
+    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawDragGestureDetectorKt {
+    ctor public RawDragGestureDetectorKt();
+    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawScaleGestureDetectorKt {
+    ctor public RawScaleGestureDetectorKt();
+    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface RawScaleObserver {
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureDetectorKt {
+    ctor public ScaleGestureDetectorKt();
+    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface ScaleObserver {
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureDetectorKt {
+    ctor public ScaleSlopExceededGestureDetectorKt();
+    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ScaleUtilKt {
+    ctor public ScaleUtilKt();
+  }
+
+  public final class TouchSlopDragGestureDetectorKt {
+    ctor public TouchSlopDragGestureDetectorKt();
+    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TouchSlopExceededGestureDetectorKt {
+    ctor public TouchSlopExceededGestureDetectorKt();
+    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class GestureUtilsKt {
+    ctor public GestureUtilsKt();
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
+  }
+
+  public final class PolyFitLeastSquaresKt {
+    ctor public PolyFitLeastSquaresKt();
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
+    method public androidx.ui.core.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+    ctor public VelocityTrackerKt();
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public class FocusManager {
+    method public final void requestFocusById(String identifier);
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.text.style.TextDirection component2();
+    method public int component3();
+    method public androidx.ui.core.LayoutCoordinates? component4();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition getCoordinates();
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public int getOffset();
+  }
+
+  public final class SelectionContainerKt {
+    ctor public SelectionContainerKt();
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+    ctor public SelectionHandlesKt();
+  }
+
+  public final class SelectionManagerKt {
+    ctor public SelectionManagerKt();
+  }
+
+  public interface SelectionRegistrar {
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    ctor public SelectionRegistrarKt();
+    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+  public final class TextSelectionDelegateKt {
+    ctor public TextSelectionDelegateKt();
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public final class FocusOperator {
+    ctor public FocusOperator();
+    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
+    method public androidx.ui.focus.FocusState getFocusState();
+    method public void requestFocus();
+    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
+    property public final androidx.ui.focus.FocusState focusState;
+  }
+
+  public final class FocusableKt {
+    ctor public FocusableKt();
+    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
+    <init>()
+}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public void ensureNotConsumed();
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
+  }
+
+  public final class VectorAssetKt {
+    ctor public VectorAssetKt();
+    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
+  }
+
+  public final class VectorComposeKt {
+    ctor public VectorComposeKt();
+    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+    ctor public XmlVectorParserKt();
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    ctor public ColorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class ImageResourcesKt {
+    ctor public ImageResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    ctor public PrimitiveResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+    ctor public ResourcesKt();
+  }
+
+  public final class StringResourcesKt {
+    ctor public StringResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    ctor public VectorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class SemanticsActions {
+    ctor public SemanticsActions();
+    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
+  }
+
+  public static final class SemanticsActions.Companion {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
+  }
+
+  public final class SemanticsKt {
+    ctor public SemanticsKt();
+    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
+    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
+  }
+
+  public final class SemanticsPropertiesKt {
+    ctor public SemanticsPropertiesKt();
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
+  }
+
+}
+
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    ctor public InspectionModeKt();
+    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..a2b3818
--- /dev/null
+++ b/ui/ui-framework/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,625 @@
+// Signature format: 3.0
+package androidx.ui.core {
+
+  public final class ClipKt {
+    ctor public ClipKt();
+    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawKt {
+    ctor public DrawKt();
+    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+  }
+
+  public final class DrawShadowKt {
+    ctor public DrawShadowKt();
+    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
+  }
+
+  public final class EditorModel {
+    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
+    ctor public EditorModel();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+  }
+
+  public final class LayoutKt {
+    ctor public LayoutKt();
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
+  }
+
+  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
+    method public boolean contains(androidx.ui.core.Measurable element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public androidx.ui.core.Measurable get(int index);
+    method public int getSize();
+    method public int indexOf(androidx.ui.core.Measurable element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
+    method public int lastIndexOf(androidx.ui.core.Measurable element);
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
+    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
+  }
+
+  public final class OpacityKt {
+    ctor public OpacityKt();
+    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ParentDataKt {
+    ctor public ParentDataKt();
+    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PasswordTextFieldKt {
+    ctor public PasswordTextFieldKt();
+    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> >
+  }
+
+  public final class PointerInputWrapperKt {
+    ctor public PointerInputWrapperKt();
+    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    ctor public PopupKt();
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void disposeActivityComposition(android.app.Activity activity);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
+  public final class RepaintBoundaryKt {
+    ctor public RepaintBoundaryKt();
+    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TestTagProviderKt {
+    ctor public TestTagProviderKt();
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static String getDefaultTestTag();
+    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
+  }
+
+  public final class TextFieldDelegateKt {
+    ctor public TextFieldDelegateKt();
+  }
+
+  public final class TextFieldKt {
+    ctor public TextFieldKt();
+    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit>  _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
+    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
+    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
+  }
+
+  public final class TextSpanComposeKt {
+    ctor public TextSpanComposeKt();
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
+    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
+    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
+  }
+
+  public final class TextSpanComposition {
+    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.core.TextSpanComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class TextSpanScope {
+    method public androidx.ui.core.TextSpanComposition getComposer();
+  }
+
+  public final class WrapperKt {
+    ctor public WrapperKt();
+    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
+    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
+    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    ctor public ConstantsKt();
+    method public static androidx.ui.core.Duration getDoubleTapMinTime();
+    method public static androidx.ui.core.Dp getDoubleTapSlop();
+    method public static androidx.ui.core.Duration getDoubleTapTimeout();
+    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
+    method public static androidx.ui.core.Dp getHoverTapSlop();
+    method public static androidx.ui.core.Duration getHoverTapTimeout();
+    method public static androidx.ui.core.Duration getJumpTapTimeout();
+    method public static androidx.ui.core.Duration getLongPressTimeout();
+    method public static androidx.ui.core.Dp getMaxFlingVelocity();
+    method public static androidx.ui.core.Dp getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.core.Duration getPressTimeout();
+    method public static androidx.ui.core.Dp getScaleSlop();
+    method public static androidx.ui.core.Dp getTouchSlop();
+    method public static androidx.ui.core.Dp getWindowTouchSlop();
+    method public static androidx.ui.core.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureDetectorKt {
+    ctor public DoubleTapGestureDetectorKt();
+    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface DragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.core.PxPosition downPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressDragGestureDetectorKt {
+    ctor public LongPressDragGestureDetectorKt();
+    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface LongPressDragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressGestureDetectorKt {
+    ctor public LongPressGestureDetectorKt();
+    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressGestureDetectorKt {
+    ctor public PressGestureDetectorKt();
+    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressIndicatorGestureDetectorKt {
+    ctor public PressIndicatorGestureDetectorKt();
+    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressReleasedGestureDetectorKt {
+    ctor public PressReleasedGestureDetectorKt();
+    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawDragGestureDetectorKt {
+    ctor public RawDragGestureDetectorKt();
+    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawScaleGestureDetectorKt {
+    ctor public RawScaleGestureDetectorKt();
+    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface RawScaleObserver {
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureDetectorKt {
+    ctor public ScaleGestureDetectorKt();
+    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface ScaleObserver {
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureDetectorKt {
+    ctor public ScaleSlopExceededGestureDetectorKt();
+    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ScaleUtilKt {
+    ctor public ScaleUtilKt();
+  }
+
+  public final class TouchSlopDragGestureDetectorKt {
+    ctor public TouchSlopDragGestureDetectorKt();
+    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TouchSlopExceededGestureDetectorKt {
+    ctor public TouchSlopExceededGestureDetectorKt();
+    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class GestureUtilsKt {
+    ctor public GestureUtilsKt();
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
+  }
+
+  public final class PolyFitLeastSquaresKt {
+    ctor public PolyFitLeastSquaresKt();
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
+    method public androidx.ui.core.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+    ctor public VelocityTrackerKt();
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public class FocusManager {
+    method public final void requestFocusById(String identifier);
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.text.style.TextDirection component2();
+    method public int component3();
+    method public androidx.ui.core.LayoutCoordinates? component4();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition getCoordinates();
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public int getOffset();
+  }
+
+  public final class SelectionContainerKt {
+    ctor public SelectionContainerKt();
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+    ctor public SelectionHandlesKt();
+  }
+
+  public final class SelectionManagerKt {
+    ctor public SelectionManagerKt();
+  }
+
+  public interface SelectionRegistrar {
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    ctor public SelectionRegistrarKt();
+    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+  public final class TextSelectionDelegateKt {
+    ctor public TextSelectionDelegateKt();
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public final class FocusOperator {
+    ctor public FocusOperator();
+    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
+    method public androidx.ui.focus.FocusState getFocusState();
+    method public void requestFocus();
+    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
+    property public final androidx.ui.focus.FocusState focusState;
+  }
+
+  public final class FocusableKt {
+    ctor public FocusableKt();
+    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
+    <init>()
+}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public void ensureNotConsumed();
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
+  }
+
+  public final class VectorAssetKt {
+    ctor public VectorAssetKt();
+    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
+  }
+
+  public final class VectorComposeKt {
+    ctor public VectorComposeKt();
+    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+    ctor public XmlVectorParserKt();
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    ctor public ColorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class ImageResourcesKt {
+    ctor public ImageResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    ctor public PrimitiveResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+    ctor public ResourcesKt();
+  }
+
+  public final class StringResourcesKt {
+    ctor public StringResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    ctor public VectorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class SemanticsActions {
+    ctor public SemanticsActions();
+    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
+  }
+
+  public static final class SemanticsActions.Companion {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
+  }
+
+  public final class SemanticsKt {
+    ctor public SemanticsKt();
+    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
+    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
+  }
+
+  public final class SemanticsPropertiesKt {
+    ctor public SemanticsPropertiesKt();
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
+  }
+
+}
+
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    ctor public InspectionModeKt();
+    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
diff --git a/ui/ui-framework/api/res-0.1.0-dev04.txt b/ui/ui-framework/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-framework/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-framework/api/restricted_0.1.0-dev04.txt b/ui/ui-framework/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..a2b3818
--- /dev/null
+++ b/ui/ui-framework/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,625 @@
+// Signature format: 3.0
+package androidx.ui.core {
+
+  public final class ClipKt {
+    ctor public ClipKt();
+    method public static inline void Clip(androidx.ui.engine.geometry.Shape shape, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class DrawKt {
+    ctor public DrawKt();
+    method public static inline void Draw(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+    method public static inline void Draw(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit> onPaint);
+  }
+
+  public final class DrawShadowKt {
+    ctor public DrawShadowKt();
+    method public static inline void DrawShadow(androidx.ui.engine.geometry.Shape shape, androidx.ui.core.Dp elevation);
+  }
+
+  public enum DropDownAlignment {
+    enum_constant public static final androidx.ui.core.DropDownAlignment Left;
+    enum_constant public static final androidx.ui.core.DropDownAlignment Right;
+  }
+
+  public final class EditorModel {
+    ctor public EditorModel(String text, androidx.ui.text.TextRange selection);
+    ctor public EditorModel();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.core.EditorModel copy(String text, androidx.ui.text.TextRange selection);
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+  }
+
+  public final class LayoutKt {
+    ctor public LayoutKt();
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicHeightMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidthMeasureBlock, kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super java.util.List<? extends androidx.ui.core.IntrinsicMeasurable>,? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicHeightMeasureBlock, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit> children, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super java.util.List<? extends androidx.ui.core.Measurable>,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static void Layout(kotlin.jvm.functions.Function0<kotlin.Unit>![] childrenArray, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function3<? super androidx.ui.core.MeasureScope,? super androidx.ui.core.MultiComposableMeasurables,? super androidx.ui.core.Constraints,? extends androidx.ui.core.MeasureScope.LayoutResult> measureBlock);
+    method public static inline void OnChildPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static inline void OnPositioned(kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutCoordinates,kotlin.Unit> onPositioned);
+    method public static void WithConstraints(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.Constraints,kotlin.Unit> children);
+  }
+
+  public final class MultiComposableMeasurables implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.core.Measurable> {
+    method public boolean contains(androidx.ui.core.Measurable element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public operator java.util.List<androidx.ui.core.Measurable> get(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public androidx.ui.core.Measurable get(int index);
+    method public int getSize();
+    method public int indexOf(androidx.ui.core.Measurable element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.core.Measurable> iterator();
+    method public int lastIndexOf(androidx.ui.core.Measurable element);
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator();
+    method public java.util.ListIterator<androidx.ui.core.Measurable> listIterator(int index);
+    method public java.util.List<androidx.ui.core.Measurable> subList(int fromIndex, int toIndex);
+  }
+
+  public final class OpacityKt {
+    ctor public OpacityKt();
+    method public static inline void Opacity(@FloatRange(from=0.0, to=1.0) float opacity, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ParentDataKt {
+    ctor public ParentDataKt();
+    method public static inline void ParentData(Object data, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PasswordTextFieldKt {
+    ctor public PasswordTextFieldKt();
+    method public static void PasswordTextField(String value, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, char mask = '\u2022', androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> >
+  }
+
+  public final class PointerInputWrapperKt {
+    ctor public PointerInputWrapperKt();
+    method public static inline void PointerInputWrapper(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler = { event, _, _ -> event }, kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler = {}, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PopupKt {
+    ctor public PopupKt();
+    method public static void DropdownPopup(androidx.ui.core.DropDownAlignment dropDownAlignment = androidx.ui.core.DropDownAlignment.Left, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Popup(androidx.ui.core.Alignment alignment = Alignment.TopLeft, androidx.ui.core.IntPxPosition offset = IntPxPosition(IntPx.Zero, IntPx.Zero), androidx.ui.core.PopupProperties popupProperties = androidx.ui.core.PopupProperties(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void disposeActivityComposition(android.app.Activity activity);
+    method public static boolean isPopupLayout(android.view.View view, String? testTag = null);
+  }
+
+  public final class PopupProperties {
+    ctor public PopupProperties(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    ctor public PopupProperties();
+    method public boolean component1();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? component2();
+    method public androidx.ui.core.PopupProperties copy(boolean isFocusable, kotlin.jvm.functions.Function0<kotlin.Unit>? onDismissRequest);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getOnDismissRequest();
+    method public boolean isFocusable();
+  }
+
+  public final class RepaintBoundaryKt {
+    ctor public RepaintBoundaryKt();
+    method public static void RepaintBoundary(String? name = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TestTagProviderKt {
+    ctor public TestTagProviderKt();
+    method public static void TestTag(String tag, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static String getDefaultTestTag();
+    method public static androidx.compose.Ambient<java.lang.String> getTestTagAmbient();
+  }
+
+  public final class TextFieldDelegateKt {
+    ctor public TextFieldDelegateKt();
+  }
+
+  public final class TextFieldKt {
+    ctor public TextFieldKt();
+    method public static void TextField(String value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel value, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.core.EditorModel,kotlin.Unit>  androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+    method public static void TextField(androidx.ui.core.EditorModel model, androidx.ui.text.TextRange? compositionRange, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function2<? super androidx.ui.core.EditorModel,? super androidx.ui.text.TextRange,kotlin.Unit>  _, _ ->  }, androidx.ui.text.TextStyle? textStyle = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, androidx.ui.input.KeyboardType keyboardType = KeyboardType.Text, androidx.ui.input.ImeAction imeAction = ImeAction.Unspecified, kotlin.jvm.functions.Function0<kotlin.Unit>  kotlin.jvm.functions.Function0<kotlin.Unit>  String? focusIdentifier = null, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit>  androidx.ui.input.VisualTransformation? visualTransformation = null);
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static void CurrentTextStyleProvider(androidx.ui.text.TextStyle value, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Text(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Text(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static void Text(androidx.ui.text.AnnotatedString text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.text.TextStyle? style = null, androidx.ui.text.ParagraphStyle? paragraphStyle = null, boolean softWrap = true, androidx.ui.text.style.TextOverflow overflow = androidx.ui.core.TextKt.DefaultOverflow, Integer? maxLines = androidx.ui.core.TextKt.DefaultMaxLines);
+    method public static androidx.compose.Effect<androidx.ui.text.TextStyle> currentTextStyle();
+    method public static androidx.ui.core.HorizontalAlignmentLine getFirstBaseline();
+    method public static androidx.ui.core.HorizontalAlignmentLine getLastBaseline();
+  }
+
+  public final class TextSpanComposeKt {
+    ctor public TextSpanComposeKt();
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> child);
+    method public static void Span(androidx.ui.core.TextSpanScope, String? text = null, androidx.ui.text.SpanStyle? style = null);
+    method public static void compose(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.TextSpanScope,kotlin.Unit> composable);
+    method public static void disposeComposition(androidx.ui.text.TextSpan container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class TextSpanComposer extends androidx.compose.Composer<androidx.ui.text.TextSpan> {
+  }
+
+  public final class TextSpanComposition {
+    ctor public TextSpanComposition(androidx.ui.core.TextSpanComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.text.TextSpan> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.text.TextSpan,androidx.ui.text.TextSpan>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.core.TextSpanComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class TextSpanScope {
+    method public androidx.ui.core.TextSpanComposition getComposer();
+  }
+
+  public final class WrapperKt {
+    ctor public WrapperKt();
+    method public static void ComposeView(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void WithDensity(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,kotlin.Unit> block);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Density> ambientDensity();
+    method public static androidx.compose.Ambient<androidx.ui.core.AndroidComposeView> getAndroidComposeViewAmbient();
+    method public static androidx.compose.Ambient<androidx.animation.AnimationClockObservable> getAnimationClockAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.Autofill> getAutofillAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.autofill.AutofillTree> getAutofillTreeAmbient();
+    method public static androidx.compose.Ambient<android.content.res.Configuration> getConfigurationAmbient();
+    method public static androidx.compose.Ambient<android.content.Context> getContextAmbient();
+    method public static androidx.compose.Ambient<kotlin.coroutines.CoroutineContext> getCoroutineContextAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.Density> getDensityAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.input.FocusManager> getFocusManagerAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.text.font.Font.ResourceLoader> getFontLoaderAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.core.LayoutDirection> getLayoutDirectionAmbient();
+    method public static androidx.compose.Ambient<androidx.ui.input.TextInputService> getTextInputServiceAmbient();
+    method public static androidx.compose.CompositionContext? setContent(android.app.Activity, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+    method public static androidx.compose.CompositionContext? setContent(android.view.ViewGroup, kotlin.jvm.functions.Function0<kotlin.Unit> content);
+  }
+
+}
+
+package androidx.ui.core.gesture {
+
+  public final class ConstantsKt {
+    ctor public ConstantsKt();
+    method public static androidx.ui.core.Duration getDoubleTapMinTime();
+    method public static androidx.ui.core.Dp getDoubleTapSlop();
+    method public static androidx.ui.core.Duration getDoubleTapTimeout();
+    method public static androidx.ui.core.Dp getDoubleTapTouchSlop();
+    method public static androidx.ui.core.Dp getHoverTapSlop();
+    method public static androidx.ui.core.Duration getHoverTapTimeout();
+    method public static androidx.ui.core.Duration getJumpTapTimeout();
+    method public static androidx.ui.core.Duration getLongPressTimeout();
+    method public static androidx.ui.core.Dp getMaxFlingVelocity();
+    method public static androidx.ui.core.Dp getMinFlingVelocity();
+    method public static float getPagingTouchSlop();
+    method public static float getPanSlop();
+    method public static androidx.ui.core.Duration getPressTimeout();
+    method public static androidx.ui.core.Dp getScaleSlop();
+    method public static androidx.ui.core.Dp getTouchSlop();
+    method public static androidx.ui.core.Dp getWindowTouchSlop();
+    method public static androidx.ui.core.Duration getZoomControlsTimeout();
+  }
+
+  public final class DoubleTapGestureDetectorKt {
+    ctor public DoubleTapGestureDetectorKt();
+    method public static void DoubleTapGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onDoubleTap, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface DragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onStart(androidx.ui.core.PxPosition downPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressDragGestureDetectorKt {
+    ctor public LongPressDragGestureDetectorKt();
+    method public static void LongPressDragGestureDetector(androidx.ui.core.gesture.LongPressDragObserver longPressDragObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface LongPressDragObserver {
+    method public default androidx.ui.core.PxPosition onDrag(androidx.ui.core.PxPosition dragDistance);
+    method public default void onDragStart();
+    method public default void onLongPress(androidx.ui.core.PxPosition pxPosition);
+    method public default void onStop(androidx.ui.core.PxPosition velocity);
+  }
+
+  public final class LongPressGestureDetectorKt {
+    ctor public LongPressGestureDetectorKt();
+    method public static void LongPressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit> onLongPress, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressGestureDetectorKt {
+    ctor public PressGestureDetectorKt();
+    method public static void PressGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressIndicatorGestureDetectorKt {
+    ctor public PressIndicatorGestureDetectorKt();
+    method public static void PressIndicatorGestureDetector(kotlin.jvm.functions.Function1<? super androidx.ui.core.PxPosition,kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit>?  kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class PressReleasedGestureDetectorKt {
+    ctor public PressReleasedGestureDetectorKt();
+    method public static void PressReleasedGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit>?  boolean consumeDownOnStart = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawDragGestureDetectorKt {
+    ctor public RawDragGestureDetectorKt();
+    method public static void RawDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartDragging = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RawScaleGestureDetectorKt {
+    ctor public RawScaleGestureDetectorKt();
+    method public static void RawScaleGestureDetector(androidx.ui.core.gesture.RawScaleObserver scaleObserver, kotlin.jvm.functions.Function0<java.lang.Boolean>? canStartScaling = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface RawScaleObserver {
+    method public default float onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleGestureDetectorKt {
+    ctor public ScaleGestureDetectorKt();
+    method public static void ScaleGestureDetector(androidx.ui.core.gesture.ScaleObserver scaleObserver, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public interface ScaleObserver {
+    method public void onScale(float scaleFactor);
+    method public default void onStart();
+    method public default void onStop();
+  }
+
+  public final class ScaleSlopExceededGestureDetectorKt {
+    ctor public ScaleSlopExceededGestureDetectorKt();
+    method public static void ScaleSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onScaleSlopExceeded, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ScaleUtilKt {
+    ctor public ScaleUtilKt();
+  }
+
+  public final class TouchSlopDragGestureDetectorKt {
+    ctor public TouchSlopDragGestureDetectorKt();
+    method public static void TouchSlopDragGestureDetector(androidx.ui.core.gesture.DragObserver dragObserver, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class TouchSlopExceededGestureDetectorKt {
+    ctor public TouchSlopExceededGestureDetectorKt();
+    method public static void TouchSlopExceededGestureDetector(kotlin.jvm.functions.Function0<kotlin.Unit> onTouchSlopExceeded, kotlin.jvm.functions.Function1<? super androidx.ui.core.Direction,java.lang.Boolean>? canDrag = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.core.gesture.util {
+
+  public final class GestureUtilsKt {
+    ctor public GestureUtilsKt();
+    method public static boolean anyPointersInBounds(java.util.List<androidx.ui.core.PointerInputChange>, androidx.ui.core.IntPxSize bounds);
+  }
+
+  public final class PolyFitLeastSquaresKt {
+    ctor public PolyFitLeastSquaresKt();
+  }
+
+  public final class VelocityTracker {
+    ctor public VelocityTracker();
+    method public void addPosition(androidx.ui.core.Uptime uptime, androidx.ui.core.PxPosition position);
+    method public androidx.ui.core.Velocity calculateVelocity();
+    method public void resetTracking();
+  }
+
+  public final class VelocityTrackerKt {
+    ctor public VelocityTrackerKt();
+  }
+
+}
+
+package androidx.ui.core.input {
+
+  public class FocusManager {
+    method public final void requestFocusById(String identifier);
+  }
+
+}
+
+package androidx.ui.core.selection {
+
+  public interface Selectable {
+    method public androidx.ui.core.selection.Selection? getSelection(androidx.ui.core.PxPosition startPosition, androidx.ui.core.PxPosition endPosition, androidx.ui.core.LayoutCoordinates containerLayoutCoordinates, boolean longPress);
+  }
+
+  public final class Selection {
+    ctor public Selection(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo component1();
+    method public androidx.ui.core.selection.Selection.AnchorInfo component2();
+    method public boolean component3();
+    method public androidx.ui.core.selection.Selection copy(androidx.ui.core.selection.Selection.AnchorInfo start, androidx.ui.core.selection.Selection.AnchorInfo end, boolean handlesCrossed);
+    method public androidx.ui.core.selection.Selection.AnchorInfo getEnd();
+    method public boolean getHandlesCrossed();
+    method public androidx.ui.core.selection.Selection.AnchorInfo getStart();
+    method public androidx.ui.core.selection.Selection merge(androidx.ui.core.selection.Selection? other);
+    method public androidx.ui.text.TextRange toTextRange();
+  }
+
+  public static final class Selection.AnchorInfo {
+    ctor public Selection.AnchorInfo(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition component1();
+    method public androidx.ui.text.style.TextDirection component2();
+    method public int component3();
+    method public androidx.ui.core.LayoutCoordinates? component4();
+    method public androidx.ui.core.selection.Selection.AnchorInfo copy(androidx.ui.core.PxPosition coordinates, androidx.ui.text.style.TextDirection direction, int offset, androidx.ui.core.LayoutCoordinates? layoutCoordinates);
+    method public androidx.ui.core.PxPosition getCoordinates();
+    method public androidx.ui.text.style.TextDirection getDirection();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public int getOffset();
+  }
+
+  public final class SelectionContainerKt {
+    ctor public SelectionContainerKt();
+    method public static void SelectionContainer(androidx.ui.core.selection.Selection? selection, kotlin.jvm.functions.Function1<? super androidx.ui.core.selection.Selection,kotlin.Unit> onSelectionChange, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SelectionHandlesKt {
+    ctor public SelectionHandlesKt();
+  }
+
+  public final class SelectionManagerKt {
+    ctor public SelectionManagerKt();
+  }
+
+  public interface SelectionRegistrar {
+    method public androidx.ui.core.selection.Selectable subscribe(androidx.ui.core.selection.Selectable selectable);
+    method public void unsubscribe(androidx.ui.core.selection.Selectable selectable);
+  }
+
+  public final class SelectionRegistrarKt {
+    ctor public SelectionRegistrarKt();
+    method public static androidx.compose.Ambient<androidx.ui.core.selection.SelectionRegistrar> getSelectionRegistrarAmbient();
+  }
+
+  public final class TextSelectionDelegateKt {
+    ctor public TextSelectionDelegateKt();
+  }
+
+}
+
+package androidx.ui.focus {
+
+  public final class FocusOperator {
+    ctor public FocusOperator();
+    method public androidx.ui.focus.FocusDetailedState getFocusDetailedState();
+    method public androidx.ui.focus.FocusState getFocusState();
+    method public void requestFocus();
+    property public final androidx.ui.focus.FocusDetailedState focusDetailedState;
+    property public final androidx.ui.focus.FocusState focusState;
+  }
+
+  public final class FocusableKt {
+    ctor public FocusableKt();
+    method public static void Focusable(androidx.ui.focus.FocusOperator focusOperator = +memo({ 
+    <init>()
+}), kotlin.jvm.functions.Function1<? super androidx.ui.focus.FocusOperator,kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.graphics.vector {
+
+  public final class VectorAsset {
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.VectorGroup getRoot();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+  }
+
+  public final class VectorAssetBuilder {
+    ctor public VectorAssetBuilder(String name, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth, float viewportHeight);
+    method public androidx.ui.graphics.vector.VectorAssetBuilder addPath(java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+    method public androidx.ui.graphics.vector.VectorAsset build();
+    method public void ensureNotConsumed();
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder popGroup();
+    method public androidx.ui.graphics.vector.VectorAssetBuilder pushGroup(String name = "", float rotate = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath);
+  }
+
+  public final class VectorAssetKt {
+    ctor public VectorAssetKt();
+    method public static void DrawVector(androidx.ui.graphics.vector.VectorAsset vectorImage, androidx.ui.graphics.Color tintColor = Color.Transparent, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = Alignment.Center, androidx.ui.graphics.ScaleFit fit = ScaleFit.Fit);
+  }
+
+  public final class VectorComposeKt {
+    ctor public VectorComposeKt();
+    method public static void DrawVector(androidx.ui.core.Dp defaultWidth, androidx.ui.core.Dp defaultHeight, float viewportWidth = -1.0f, float viewportHeight = -1.0f, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void DrawVector(androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight, float viewportWidth = defaultWidth.value, float viewportHeight = defaultHeight.value, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode tintBlendMode = DefaultTintBlendMode, androidx.ui.core.Alignment alignment = androidx.ui.graphics.vector.VectorComposeKt.DefaultAlignment, androidx.ui.graphics.ScaleFit scaleFit = ScaleFit.Fit, String name = "", kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> children);
+    method public static void Group(androidx.ui.graphics.vector.VectorScope, String name = "", float rotation = 0.0f, float pivotX = 0.0f, float pivotY = 0.0f, float scaleX = 1.0f, float scaleY = 1.0f, float translationX = 0.0f, float translationY = 0.0f, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData = EmptyPath, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.VectorScope,kotlin.Unit> children);
+    method public static void Path(androidx.ui.graphics.vector.VectorScope, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, String name = "", androidx.ui.graphics.Brush? fill = null, float fillAlpha = 1.0f, androidx.ui.graphics.Brush? stroke = null, float strokeAlpha = 1.0f, float strokeLineWidth = 0.0f, androidx.ui.graphics.StrokeCap strokeLineCap = DefaultStrokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin = DefaultStrokeLineJoin, float strokeLineMiter = 4.0f);
+  }
+
+  public final class VectorGroup extends androidx.ui.graphics.vector.VectorNode implements java.lang.Iterable<androidx.ui.graphics.vector.VectorNode> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public VectorGroup(String name, float rotation, float pivotX, float pivotY, float scaleX, float scaleY, float translationX, float translationY, java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData);
+    ctor public VectorGroup();
+    method public operator androidx.ui.graphics.vector.VectorNode get(int index);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public java.util.Iterator<androidx.ui.graphics.vector.VectorNode> iterator();
+    property public final int size;
+  }
+
+  public abstract sealed class VectorNode {
+  }
+
+  public final class VectorPath extends androidx.ui.graphics.vector.VectorNode {
+    ctor public VectorPath(String name, java.util.List<androidx.ui.graphics.vector.PathNode> pathData, androidx.ui.graphics.Brush? fill, float fillAlpha, androidx.ui.graphics.Brush? stroke, float strokeAlpha, float strokeLineWidth, androidx.ui.graphics.StrokeCap strokeLineCap, androidx.ui.graphics.StrokeJoin strokeLineJoin, float strokeLineMiter);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+  }
+
+}
+
+package androidx.ui.graphics.vector.compat {
+
+  public final class XmlVectorParserKt {
+    ctor public XmlVectorParserKt();
+  }
+
+}
+
+package androidx.ui.res {
+
+  public final class ColorResourcesKt {
+    ctor public ColorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Color> colorResource(@ColorRes int id);
+  }
+
+  public final class DeferredResource<T> {
+    method public androidx.ui.res.Resource<T> getResource();
+    property public final androidx.ui.res.Resource<T> resource;
+  }
+
+  public final class FailedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public FailedResource(T? resource, Throwable? throwable);
+    method public Throwable? getThrowable();
+  }
+
+  public final class ImageResourcesKt {
+    ctor public ImageResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.Image> imageResource(@DrawableRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.Image>> loadImageResource(int id, androidx.ui.graphics.Image? pendingImage = null, androidx.ui.graphics.Image? failedImage = null);
+  }
+
+  public final class LoadedResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public LoadedResource(T! resource);
+  }
+
+  public final class PendingResource<T> extends androidx.ui.res.Resource<T> {
+    ctor public PendingResource(T? resource);
+  }
+
+  public final class PrimitiveResourcesKt {
+    ctor public PrimitiveResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Boolean> booleanResource(@BoolRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.core.Dp> dimensionResource(@DimenRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<int[]> integerArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.Integer> integerResource(@IntegerRes int id);
+  }
+
+  public abstract sealed class Resource<T> {
+    method public final T? getResource();
+  }
+
+  public final class ResourcesKt {
+    ctor public ResourcesKt();
+  }
+
+  public final class StringResourcesKt {
+    ctor public StringResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String[]> stringArrayResource(@ArrayRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<java.lang.String> stringResource(@StringRes int id, java.lang.Object... formatArgs);
+  }
+
+  public final class VectorResourcesKt {
+    ctor public VectorResourcesKt();
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.res.DeferredResource<androidx.ui.graphics.vector.VectorAsset>> loadVectorResource(int id, androidx.ui.graphics.vector.VectorAsset? pendingResource = null, androidx.ui.graphics.vector.VectorAsset? failedResource = null);
+    method @CheckResult(suggest="+") public static androidx.compose.Effect<androidx.ui.graphics.vector.VectorAsset> vectorResource(@DrawableRes int id);
+  }
+
+}
+
+package androidx.ui.semantics {
+
+  public final class SemanticsActions {
+    ctor public SemanticsActions();
+    field public static final androidx.ui.semantics.SemanticsActions.Companion! Companion;
+  }
+
+  public static final class SemanticsActions.Companion {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> getCustomActions();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getOnClick();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> getScrollTo();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>>> CustomActions;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> OnClick;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>>> ScrollTo;
+  }
+
+  public final class SemanticsKt {
+    ctor public SemanticsKt();
+    method public static void Semantics(boolean container = false, boolean explicitChildNodes = false, kotlin.jvm.functions.Function1<? super androidx.ui.semantics.SemanticsPropertyReceiver,kotlin.Unit>? properties = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SemanticsProperties {
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityLabel();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getAccessibilityValue();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getEnabled();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> getHidden();
+    method public androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> getTestTag();
+    method public androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> getTextDirection();
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityLabel;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> AccessibilityValue;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Enabled;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.Boolean> Hidden;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<java.lang.String> TestTag;
+    property public final androidx.ui.semantics.SemanticsPropertyKey<androidx.ui.text.style.TextDirection> TextDirection;
+    field public static final androidx.ui.semantics.SemanticsProperties! INSTANCE;
+  }
+
+  public final class SemanticsPropertiesKt {
+    ctor public SemanticsPropertiesKt();
+    method public static void ScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function2<? super androidx.ui.core.Px,? super androidx.ui.core.Px,kotlin.Unit> action);
+    method public static String getAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> getCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getEnabled(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static boolean getHidden(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> getOnClick(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> getScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static String getTestTag(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static androidx.ui.text.style.TextDirection getTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver);
+    method public static void onClick(androidx.ui.semantics.SemanticsPropertyReceiver, String? label = null, kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public static void setAccessibilityLabel(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setAccessibilityValue(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setCustomActions(androidx.ui.semantics.SemanticsPropertyReceiver, java.util.List<androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>>> p);
+    method public static void setEnabled(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setHidden(androidx.ui.semantics.SemanticsPropertyReceiver, boolean p);
+    method public static void setOnClick(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<kotlin.Unit>> p);
+    method public static void setScrollTo(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function2<androidx.ui.core.Px,androidx.ui.core.Px,kotlin.Unit>> p);
+    method public static void setTestTag(androidx.ui.semantics.SemanticsPropertyReceiver, String p);
+    method public static void setTextDirection(androidx.ui.semantics.SemanticsPropertyReceiver, androidx.ui.text.style.TextDirection p);
+  }
+
+}
+
+package androidx.ui.tooling {
+
+  public final class InspectionModeKt {
+    ctor public InspectionModeKt();
+    method public static androidx.compose.Ambient<java.lang.Boolean> getInspectionMode();
+  }
+
+}
+
diff --git a/ui/ui-layout/api/0.1.0-dev04.txt b/ui/ui-layout/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..b02f337
--- /dev/null
+++ b/ui/ui-layout/api/0.1.0-dev04.txt
@@ -0,0 +1,560 @@
+// Signature format: 3.0
+package androidx.ui.layout {
+
+  public final class AlignKt {
+    ctor public AlignKt();
+    method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Center(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Aligned {
+    method public androidx.ui.core.LayoutModifier getBottom();
+    method public androidx.ui.core.LayoutModifier getBottomCenter();
+    method public androidx.ui.core.LayoutModifier getBottomLeft();
+    method public androidx.ui.core.LayoutModifier getBottomRight();
+    method public androidx.ui.core.LayoutModifier getCenter();
+    method public androidx.ui.core.LayoutModifier getCenterHorizontally();
+    method public androidx.ui.core.LayoutModifier getCenterLeft();
+    method public androidx.ui.core.LayoutModifier getCenterRight();
+    method public androidx.ui.core.LayoutModifier getCenterVertically();
+    method public androidx.ui.core.LayoutModifier getEnd();
+    method public androidx.ui.core.LayoutModifier getStart();
+    method public androidx.ui.core.LayoutModifier getTop();
+    method public androidx.ui.core.LayoutModifier getTopCenter();
+    method public androidx.ui.core.LayoutModifier getTopLeft();
+    method public androidx.ui.core.LayoutModifier getTopRight();
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterHorizontally;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier CenterVertically;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+    property public final androidx.ui.core.LayoutModifier Top;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+    field public static final androidx.ui.layout.Aligned! INSTANCE;
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static void AlignmentLineOffset(androidx.ui.core.AlignmentLine alignmentLine, androidx.ui.core.Dp before = 0.dp, androidx.ui.core.Dp after = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void CenterAlignmentLine(androidx.ui.core.AlignmentLine alignmentLine, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Arrangement {
+    ctor public Arrangement(internal kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super java.util.List<androidx.ui.core.IntPx>,? extends java.util.List<androidx.ui.core.IntPx>> arrangeBlock);
+    field public static final androidx.ui.layout.Arrangement.Companion! Companion;
+  }
+
+  public static final class Arrangement.Companion {
+    method public androidx.ui.layout.Arrangement getBegin();
+    method public androidx.ui.layout.Arrangement getCenter();
+    method public androidx.ui.layout.Arrangement getEnd();
+    method public androidx.ui.layout.Arrangement getSpaceAround();
+    method public androidx.ui.layout.Arrangement getSpaceBetween();
+    method public androidx.ui.layout.Arrangement getSpaceEvenly();
+    property public final androidx.ui.layout.Arrangement Begin;
+    property public final androidx.ui.layout.Arrangement Center;
+    property public final androidx.ui.layout.Arrangement End;
+    property public final androidx.ui.layout.Arrangement SpaceAround;
+    property public final androidx.ui.layout.Arrangement SpaceBetween;
+    property public final androidx.ui.layout.Arrangement SpaceEvenly;
+  }
+
+  public final class AspectRatioKt {
+    ctor public AspectRatioKt();
+    method public static androidx.ui.core.LayoutModifier AspectRatio(@FloatRange(from=0.0, fromInclusive=false) float value);
+    method @Deprecated public static void AspectRatio(float aspectRatio, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColumnScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.VerticalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getEnd(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStart(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+  }
+
+  public final class ConstrainedBoxKt {
+    ctor public ConstrainedBoxKt();
+    method public static void ConstrainedBox(androidx.ui.layout.DpConstraints constraints, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ContainerKt {
+    ctor public ContainerKt();
+    method public static void Container(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.EdgeInsets padding = androidx.ui.layout.EdgeInsets(0.dp), androidx.ui.core.Alignment alignment = Alignment.Center, boolean expanded = false, androidx.ui.layout.DpConstraints constraints = androidx.ui.layout.DpConstraints(), androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class CrossAxisAlignment {
+    field public static final androidx.ui.layout.CrossAxisAlignment.Companion! Companion;
+  }
+
+  public static final class CrossAxisAlignment.Companion {
+    method public androidx.ui.layout.CrossAxisAlignment AlignmentLine(androidx.ui.core.AlignmentLine alignmentLine);
+    method public androidx.ui.layout.CrossAxisAlignment getCenter();
+    method public androidx.ui.layout.CrossAxisAlignment getEnd();
+    method public androidx.ui.layout.CrossAxisAlignment getStart();
+    method public androidx.ui.layout.CrossAxisAlignment getStretch();
+    property public final androidx.ui.layout.CrossAxisAlignment Center;
+    property public final androidx.ui.layout.CrossAxisAlignment End;
+    property public final androidx.ui.layout.CrossAxisAlignment Start;
+    property public final androidx.ui.layout.CrossAxisAlignment Stretch;
+  }
+
+  public final class DpConstraints {
+    ctor public DpConstraints(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    ctor public DpConstraints();
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.DpConstraints copy(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    method public androidx.ui.core.Dp getMaxHeight();
+    method public androidx.ui.core.Dp getMaxWidth();
+    method public androidx.ui.core.Dp getMinHeight();
+    method public androidx.ui.core.Dp getMinWidth();
+    field public static final androidx.ui.layout.DpConstraints.Companion! Companion;
+  }
+
+  public static final class DpConstraints.Companion {
+    method public androidx.ui.layout.DpConstraints tightConstraints(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForHeight(androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForWidth(androidx.ui.core.Dp width);
+  }
+
+  public final class DpConstraintsKt {
+    ctor public DpConstraintsKt();
+    method public static androidx.ui.core.Constraints Constraints(androidx.ui.core.DensityScope, androidx.ui.layout.DpConstraints dpConstraints);
+    method public static androidx.ui.layout.DpConstraints DpConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public static androidx.ui.layout.DpConstraints enforce(androidx.ui.layout.DpConstraints, androidx.ui.layout.DpConstraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getSatisfiable(androidx.ui.layout.DpConstraints);
+    method public static boolean isTight(androidx.ui.layout.DpConstraints);
+    method public static boolean isZero(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints offset(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
+    method public static androidx.ui.layout.DpConstraints tightMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints tightMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints withTight(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class EdgeInsets {
+    ctor public EdgeInsets(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    ctor public EdgeInsets();
+    ctor public EdgeInsets(androidx.ui.core.Dp all);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class ExpandedModifierKt {
+    ctor public ExpandedModifierKt();
+    method public static androidx.ui.core.LayoutModifier getExpanded();
+    method public static androidx.ui.core.LayoutModifier getExpandedHeight();
+    method public static androidx.ui.core.LayoutModifier getExpandedWidth();
+  }
+
+  public final class FlexChildren {
+    method public void expanded(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void flexible(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void inflexible(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FlexKt {
+    ctor public FlexKt();
+    method public static void Column(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.ColumnScope,kotlin.Unit> children);
+    method public static void FlexColumn(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void FlexRow(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void Row(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.RowScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public abstract sealed class FlexScope {
+    method public final androidx.ui.core.LayoutModifier Flexible(@FloatRange(from=0.0, fromInclusive=false) float flex, boolean tight = true);
+    method public final androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable,androidx.ui.core.IntPx> alignmentLineBlock);
+    method public final androidx.ui.core.LayoutModifier getInflexible();
+    property public final androidx.ui.core.LayoutModifier Inflexible;
+  }
+
+  public enum FlowCrossAxisAlignment {
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Start;
+  }
+
+  public final class FlowKt {
+    ctor public FlowKt();
+    method public static void FlowColumn(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FlowRow(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Gravity {
+    field public static final androidx.ui.layout.Gravity! INSTANCE;
+  }
+
+  public final class IntrinsicKt {
+    ctor public IntrinsicKt();
+    method public static void MaxIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MaxIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  @kotlin.DslMarker public @interface LayoutScopeMarker {
+  }
+
+  public enum LayoutSize {
+    enum_constant public static final androidx.ui.layout.LayoutSize Expand;
+    enum_constant public static final androidx.ui.layout.LayoutSize Wrap;
+  }
+
+  public enum MainAxisAlignment {
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceAround;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceBetween;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceEvenly;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
+  }
+
+  public final class RowScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.HorizontalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getBottom(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTop(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier Top;
+  }
+
+  public final class SizeModifiersKt {
+    ctor public SizeModifiersKt();
+    method public static androidx.ui.core.LayoutModifier Height(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxSize(androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp maxHeight);
+    method public static androidx.ui.core.LayoutModifier MaxWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinSize(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp minHeight);
+    method public static androidx.ui.core.LayoutModifier MinWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static androidx.ui.core.LayoutModifier Width(androidx.ui.core.Dp value);
+  }
+
+  public final class SpacerKt {
+    ctor public SpacerKt();
+    method public static void Spacer(androidx.ui.core.Modifier modifier);
+  }
+
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
+  public final class StackKt {
+    ctor public StackKt();
+    method public static void Stack(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.layout.StackScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class StackScope {
+    ctor public StackScope();
+    method public androidx.ui.core.LayoutModifier getBottomCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStretch(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopRight(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier Stretch;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class TableChildren {
+    method public void tableDecoration(boolean overlay, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableDecorationChildren,kotlin.Unit> decoration);
+    method public void tableRow(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public abstract class TableColumnWidth {
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public abstract androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fixed extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fixed(androidx.ui.core.Dp width);
+    method public androidx.ui.layout.TableColumnWidth.Fixed copy(androidx.ui.core.Dp width);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Flex extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Flex(@FloatRange(from=null) float flex);
+    method public androidx.ui.layout.TableColumnWidth.Flex copy(float flex);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fraction extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fraction(@FloatRange(from=null, to=null) float fraction);
+    method public androidx.ui.layout.TableColumnWidth.Fraction copy(float fraction);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public abstract static class TableColumnWidth.Inflexible extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Inflexible();
+    method public final androidx.ui.layout.TableColumnWidth flexible(float flex);
+  }
+
+  public static final class TableColumnWidth.Max extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Max(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Max copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MaxIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MaxIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Min extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Min(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Min copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MinIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MinIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Wrap extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.Wrap! INSTANCE;
+  }
+
+  public final class TableDecorationChildren {
+    method public java.util.List<androidx.ui.core.IntPx> component1();
+    method public java.util.List<androidx.ui.core.IntPx> component2();
+    method public androidx.ui.layout.TableDecorationChildren copy(java.util.List<androidx.ui.core.IntPx> verticalOffsets, java.util.List<androidx.ui.core.IntPx> horizontalOffsets);
+    method public java.util.List<androidx.ui.core.IntPx> getHorizontalOffsets();
+    method public java.util.List<androidx.ui.core.IntPx> getVerticalOffsets();
+  }
+
+  public final class TableKt {
+    ctor public TableKt();
+    method public static void Table(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.core.Alignment> alignment = { Alignment.TopLeft }, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.layout.TableColumnWidth> columnWidth = { TableColumnWidth.<init>(1.0) }, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableChildren,kotlin.Unit> children);
+  }
+
+  public final class TableMeasurable {
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> component1();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component2();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component3();
+    method public androidx.ui.layout.TableMeasurable copy(kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> preferredWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidth);
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMaxIntrinsicWidth();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMinIntrinsicWidth();
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> getPreferredWidth();
+  }
+
+  public final class WrapKt {
+    ctor public WrapKt();
+    method public static void Wrap(androidx.ui.core.Alignment alignment = Alignment.TopLeft, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier getWrapped();
+  }
+
+}
+
+package androidx.ui.layout.constraintlayout {
+
+  public final class ConstraintLayoutKt {
+    ctor public ConstraintLayoutKt();
+    method public static void ConstraintLayout(androidx.ui.layout.constraintlayout.ConstraintSet constraintSet, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Tag(Object tag);
+    method public static Object! getTag(androidx.ui.core.Measurable);
+  }
+
+  public final class ConstraintSet {
+    ctor public ConstraintSet(internal kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+    method public androidx.ui.layout.constraintlayout.ConstraintSet copy(kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+  }
+
+  public final class ConstraintSetBuilderScope {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createBottomBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalChain createHorizontalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createLeftBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createRightBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createTopBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalChain createVerticalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference getParent();
+    method public Object! getParentDimension();
+    method public Object! getSpreadDimension();
+    method public Object! getWrapDimension();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference tag(Object tag);
+    property public final Object! ParentDimension;
+    property public final Object! SpreadDimension;
+    property public final Object! WrapDimension;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference parent;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle {
+    field public static final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle.Companion! Companion;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle.Companion {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed(float bias);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getPacked();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpread();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpreadInside();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Spread;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle SpreadInside;
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor other);
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutReference {
+    method public void center();
+    method public void centerHorizontally();
+    method public void centerVertically();
+    method public infix void constrainHorizontallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainVerticallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor getBaseline();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public float getHorizontalBias();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    method public float getVerticalBias();
+    method public void setBaseline(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor p);
+    method public void setBottom(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor p);
+    method public void setHorizontalBias(float value);
+    method public void setRight(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor p);
+    method public void setVerticalBias(float value);
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor baseline;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final float horizontalBias;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+    property public final float verticalBias;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.HorizontalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.VerticalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+  }
+
+}
+
diff --git a/ui/ui-layout/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..b02f337
--- /dev/null
+++ b/ui/ui-layout/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,560 @@
+// Signature format: 3.0
+package androidx.ui.layout {
+
+  public final class AlignKt {
+    ctor public AlignKt();
+    method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Center(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Aligned {
+    method public androidx.ui.core.LayoutModifier getBottom();
+    method public androidx.ui.core.LayoutModifier getBottomCenter();
+    method public androidx.ui.core.LayoutModifier getBottomLeft();
+    method public androidx.ui.core.LayoutModifier getBottomRight();
+    method public androidx.ui.core.LayoutModifier getCenter();
+    method public androidx.ui.core.LayoutModifier getCenterHorizontally();
+    method public androidx.ui.core.LayoutModifier getCenterLeft();
+    method public androidx.ui.core.LayoutModifier getCenterRight();
+    method public androidx.ui.core.LayoutModifier getCenterVertically();
+    method public androidx.ui.core.LayoutModifier getEnd();
+    method public androidx.ui.core.LayoutModifier getStart();
+    method public androidx.ui.core.LayoutModifier getTop();
+    method public androidx.ui.core.LayoutModifier getTopCenter();
+    method public androidx.ui.core.LayoutModifier getTopLeft();
+    method public androidx.ui.core.LayoutModifier getTopRight();
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterHorizontally;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier CenterVertically;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+    property public final androidx.ui.core.LayoutModifier Top;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+    field public static final androidx.ui.layout.Aligned! INSTANCE;
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static void AlignmentLineOffset(androidx.ui.core.AlignmentLine alignmentLine, androidx.ui.core.Dp before = 0.dp, androidx.ui.core.Dp after = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void CenterAlignmentLine(androidx.ui.core.AlignmentLine alignmentLine, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Arrangement {
+    ctor public Arrangement(internal kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super java.util.List<androidx.ui.core.IntPx>,? extends java.util.List<androidx.ui.core.IntPx>> arrangeBlock);
+    field public static final androidx.ui.layout.Arrangement.Companion! Companion;
+  }
+
+  public static final class Arrangement.Companion {
+    method public androidx.ui.layout.Arrangement getBegin();
+    method public androidx.ui.layout.Arrangement getCenter();
+    method public androidx.ui.layout.Arrangement getEnd();
+    method public androidx.ui.layout.Arrangement getSpaceAround();
+    method public androidx.ui.layout.Arrangement getSpaceBetween();
+    method public androidx.ui.layout.Arrangement getSpaceEvenly();
+    property public final androidx.ui.layout.Arrangement Begin;
+    property public final androidx.ui.layout.Arrangement Center;
+    property public final androidx.ui.layout.Arrangement End;
+    property public final androidx.ui.layout.Arrangement SpaceAround;
+    property public final androidx.ui.layout.Arrangement SpaceBetween;
+    property public final androidx.ui.layout.Arrangement SpaceEvenly;
+  }
+
+  public final class AspectRatioKt {
+    ctor public AspectRatioKt();
+    method public static androidx.ui.core.LayoutModifier AspectRatio(@FloatRange(from=0.0, fromInclusive=false) float value);
+    method @Deprecated public static void AspectRatio(float aspectRatio, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColumnScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.VerticalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getEnd(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStart(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+  }
+
+  public final class ConstrainedBoxKt {
+    ctor public ConstrainedBoxKt();
+    method public static void ConstrainedBox(androidx.ui.layout.DpConstraints constraints, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ContainerKt {
+    ctor public ContainerKt();
+    method public static void Container(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.EdgeInsets padding = androidx.ui.layout.EdgeInsets(0.dp), androidx.ui.core.Alignment alignment = Alignment.Center, boolean expanded = false, androidx.ui.layout.DpConstraints constraints = androidx.ui.layout.DpConstraints(), androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class CrossAxisAlignment {
+    field public static final androidx.ui.layout.CrossAxisAlignment.Companion! Companion;
+  }
+
+  public static final class CrossAxisAlignment.Companion {
+    method public androidx.ui.layout.CrossAxisAlignment AlignmentLine(androidx.ui.core.AlignmentLine alignmentLine);
+    method public androidx.ui.layout.CrossAxisAlignment getCenter();
+    method public androidx.ui.layout.CrossAxisAlignment getEnd();
+    method public androidx.ui.layout.CrossAxisAlignment getStart();
+    method public androidx.ui.layout.CrossAxisAlignment getStretch();
+    property public final androidx.ui.layout.CrossAxisAlignment Center;
+    property public final androidx.ui.layout.CrossAxisAlignment End;
+    property public final androidx.ui.layout.CrossAxisAlignment Start;
+    property public final androidx.ui.layout.CrossAxisAlignment Stretch;
+  }
+
+  public final class DpConstraints {
+    ctor public DpConstraints(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    ctor public DpConstraints();
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.DpConstraints copy(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    method public androidx.ui.core.Dp getMaxHeight();
+    method public androidx.ui.core.Dp getMaxWidth();
+    method public androidx.ui.core.Dp getMinHeight();
+    method public androidx.ui.core.Dp getMinWidth();
+    field public static final androidx.ui.layout.DpConstraints.Companion! Companion;
+  }
+
+  public static final class DpConstraints.Companion {
+    method public androidx.ui.layout.DpConstraints tightConstraints(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForHeight(androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForWidth(androidx.ui.core.Dp width);
+  }
+
+  public final class DpConstraintsKt {
+    ctor public DpConstraintsKt();
+    method public static androidx.ui.core.Constraints Constraints(androidx.ui.core.DensityScope, androidx.ui.layout.DpConstraints dpConstraints);
+    method public static androidx.ui.layout.DpConstraints DpConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public static androidx.ui.layout.DpConstraints enforce(androidx.ui.layout.DpConstraints, androidx.ui.layout.DpConstraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getSatisfiable(androidx.ui.layout.DpConstraints);
+    method public static boolean isTight(androidx.ui.layout.DpConstraints);
+    method public static boolean isZero(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints offset(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
+    method public static androidx.ui.layout.DpConstraints tightMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints tightMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints withTight(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class EdgeInsets {
+    ctor public EdgeInsets(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    ctor public EdgeInsets();
+    ctor public EdgeInsets(androidx.ui.core.Dp all);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class ExpandedModifierKt {
+    ctor public ExpandedModifierKt();
+    method public static androidx.ui.core.LayoutModifier getExpanded();
+    method public static androidx.ui.core.LayoutModifier getExpandedHeight();
+    method public static androidx.ui.core.LayoutModifier getExpandedWidth();
+  }
+
+  public final class FlexChildren {
+    method public void expanded(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void flexible(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void inflexible(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FlexKt {
+    ctor public FlexKt();
+    method public static void Column(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.ColumnScope,kotlin.Unit> children);
+    method public static void FlexColumn(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void FlexRow(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void Row(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.RowScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public abstract sealed class FlexScope {
+    method public final androidx.ui.core.LayoutModifier Flexible(@FloatRange(from=0.0, fromInclusive=false) float flex, boolean tight = true);
+    method public final androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable,androidx.ui.core.IntPx> alignmentLineBlock);
+    method public final androidx.ui.core.LayoutModifier getInflexible();
+    property public final androidx.ui.core.LayoutModifier Inflexible;
+  }
+
+  public enum FlowCrossAxisAlignment {
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Start;
+  }
+
+  public final class FlowKt {
+    ctor public FlowKt();
+    method public static void FlowColumn(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FlowRow(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Gravity {
+    field public static final androidx.ui.layout.Gravity! INSTANCE;
+  }
+
+  public final class IntrinsicKt {
+    ctor public IntrinsicKt();
+    method public static void MaxIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MaxIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  @kotlin.DslMarker public @interface LayoutScopeMarker {
+  }
+
+  public enum LayoutSize {
+    enum_constant public static final androidx.ui.layout.LayoutSize Expand;
+    enum_constant public static final androidx.ui.layout.LayoutSize Wrap;
+  }
+
+  public enum MainAxisAlignment {
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceAround;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceBetween;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceEvenly;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
+  }
+
+  public final class RowScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.HorizontalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getBottom(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTop(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier Top;
+  }
+
+  public final class SizeModifiersKt {
+    ctor public SizeModifiersKt();
+    method public static androidx.ui.core.LayoutModifier Height(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxSize(androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp maxHeight);
+    method public static androidx.ui.core.LayoutModifier MaxWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinSize(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp minHeight);
+    method public static androidx.ui.core.LayoutModifier MinWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static androidx.ui.core.LayoutModifier Width(androidx.ui.core.Dp value);
+  }
+
+  public final class SpacerKt {
+    ctor public SpacerKt();
+    method public static void Spacer(androidx.ui.core.Modifier modifier);
+  }
+
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
+  public final class StackKt {
+    ctor public StackKt();
+    method public static void Stack(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.layout.StackScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class StackScope {
+    ctor public StackScope();
+    method public androidx.ui.core.LayoutModifier getBottomCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStretch(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopRight(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier Stretch;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class TableChildren {
+    method public void tableDecoration(boolean overlay, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableDecorationChildren,kotlin.Unit> decoration);
+    method public void tableRow(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public abstract class TableColumnWidth {
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public abstract androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fixed extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fixed(androidx.ui.core.Dp width);
+    method public androidx.ui.layout.TableColumnWidth.Fixed copy(androidx.ui.core.Dp width);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Flex extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Flex(@FloatRange(from=null) float flex);
+    method public androidx.ui.layout.TableColumnWidth.Flex copy(float flex);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fraction extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fraction(@FloatRange(from=null, to=null) float fraction);
+    method public androidx.ui.layout.TableColumnWidth.Fraction copy(float fraction);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public abstract static class TableColumnWidth.Inflexible extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Inflexible();
+    method public final androidx.ui.layout.TableColumnWidth flexible(float flex);
+  }
+
+  public static final class TableColumnWidth.Max extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Max(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Max copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MaxIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MaxIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Min extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Min(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Min copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MinIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MinIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Wrap extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.Wrap! INSTANCE;
+  }
+
+  public final class TableDecorationChildren {
+    method public java.util.List<androidx.ui.core.IntPx> component1();
+    method public java.util.List<androidx.ui.core.IntPx> component2();
+    method public androidx.ui.layout.TableDecorationChildren copy(java.util.List<androidx.ui.core.IntPx> verticalOffsets, java.util.List<androidx.ui.core.IntPx> horizontalOffsets);
+    method public java.util.List<androidx.ui.core.IntPx> getHorizontalOffsets();
+    method public java.util.List<androidx.ui.core.IntPx> getVerticalOffsets();
+  }
+
+  public final class TableKt {
+    ctor public TableKt();
+    method public static void Table(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.core.Alignment> alignment = { Alignment.TopLeft }, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.layout.TableColumnWidth> columnWidth = { TableColumnWidth.<init>(1.0) }, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableChildren,kotlin.Unit> children);
+  }
+
+  public final class TableMeasurable {
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> component1();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component2();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component3();
+    method public androidx.ui.layout.TableMeasurable copy(kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> preferredWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidth);
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMaxIntrinsicWidth();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMinIntrinsicWidth();
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> getPreferredWidth();
+  }
+
+  public final class WrapKt {
+    ctor public WrapKt();
+    method public static void Wrap(androidx.ui.core.Alignment alignment = Alignment.TopLeft, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier getWrapped();
+  }
+
+}
+
+package androidx.ui.layout.constraintlayout {
+
+  public final class ConstraintLayoutKt {
+    ctor public ConstraintLayoutKt();
+    method public static void ConstraintLayout(androidx.ui.layout.constraintlayout.ConstraintSet constraintSet, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Tag(Object tag);
+    method public static Object! getTag(androidx.ui.core.Measurable);
+  }
+
+  public final class ConstraintSet {
+    ctor public ConstraintSet(internal kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+    method public androidx.ui.layout.constraintlayout.ConstraintSet copy(kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+  }
+
+  public final class ConstraintSetBuilderScope {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createBottomBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalChain createHorizontalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createLeftBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createRightBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createTopBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalChain createVerticalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference getParent();
+    method public Object! getParentDimension();
+    method public Object! getSpreadDimension();
+    method public Object! getWrapDimension();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference tag(Object tag);
+    property public final Object! ParentDimension;
+    property public final Object! SpreadDimension;
+    property public final Object! WrapDimension;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference parent;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle {
+    field public static final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle.Companion! Companion;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle.Companion {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed(float bias);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getPacked();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpread();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpreadInside();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Spread;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle SpreadInside;
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor other);
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutReference {
+    method public void center();
+    method public void centerHorizontally();
+    method public void centerVertically();
+    method public infix void constrainHorizontallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainVerticallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor getBaseline();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public float getHorizontalBias();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    method public float getVerticalBias();
+    method public void setBaseline(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor p);
+    method public void setBottom(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor p);
+    method public void setHorizontalBias(float value);
+    method public void setRight(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor p);
+    method public void setVerticalBias(float value);
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor baseline;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final float horizontalBias;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+    property public final float verticalBias;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.HorizontalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.VerticalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+  }
+
+}
+
diff --git a/ui/ui-layout/api/res-0.1.0-dev04.txt b/ui/ui-layout/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-layout/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-layout/api/restricted_0.1.0-dev04.txt b/ui/ui-layout/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..b02f337
--- /dev/null
+++ b/ui/ui-layout/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,560 @@
+// Signature format: 3.0
+package androidx.ui.layout {
+
+  public final class AlignKt {
+    ctor public AlignKt();
+    method public static void Align(androidx.ui.core.Alignment alignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Center(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Aligned {
+    method public androidx.ui.core.LayoutModifier getBottom();
+    method public androidx.ui.core.LayoutModifier getBottomCenter();
+    method public androidx.ui.core.LayoutModifier getBottomLeft();
+    method public androidx.ui.core.LayoutModifier getBottomRight();
+    method public androidx.ui.core.LayoutModifier getCenter();
+    method public androidx.ui.core.LayoutModifier getCenterHorizontally();
+    method public androidx.ui.core.LayoutModifier getCenterLeft();
+    method public androidx.ui.core.LayoutModifier getCenterRight();
+    method public androidx.ui.core.LayoutModifier getCenterVertically();
+    method public androidx.ui.core.LayoutModifier getEnd();
+    method public androidx.ui.core.LayoutModifier getStart();
+    method public androidx.ui.core.LayoutModifier getTop();
+    method public androidx.ui.core.LayoutModifier getTopCenter();
+    method public androidx.ui.core.LayoutModifier getTopLeft();
+    method public androidx.ui.core.LayoutModifier getTopRight();
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterHorizontally;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier CenterVertically;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+    property public final androidx.ui.core.LayoutModifier Top;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+    field public static final androidx.ui.layout.Aligned! INSTANCE;
+  }
+
+  public final class AlignmentLineKt {
+    ctor public AlignmentLineKt();
+    method public static void AlignmentLineOffset(androidx.ui.core.AlignmentLine alignmentLine, androidx.ui.core.Dp before = 0.dp, androidx.ui.core.Dp after = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void CenterAlignmentLine(androidx.ui.core.AlignmentLine alignmentLine, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Arrangement {
+    ctor public Arrangement(internal kotlin.jvm.functions.Function2<? super androidx.ui.core.IntPx,? super java.util.List<androidx.ui.core.IntPx>,? extends java.util.List<androidx.ui.core.IntPx>> arrangeBlock);
+    field public static final androidx.ui.layout.Arrangement.Companion! Companion;
+  }
+
+  public static final class Arrangement.Companion {
+    method public androidx.ui.layout.Arrangement getBegin();
+    method public androidx.ui.layout.Arrangement getCenter();
+    method public androidx.ui.layout.Arrangement getEnd();
+    method public androidx.ui.layout.Arrangement getSpaceAround();
+    method public androidx.ui.layout.Arrangement getSpaceBetween();
+    method public androidx.ui.layout.Arrangement getSpaceEvenly();
+    property public final androidx.ui.layout.Arrangement Begin;
+    property public final androidx.ui.layout.Arrangement Center;
+    property public final androidx.ui.layout.Arrangement End;
+    property public final androidx.ui.layout.Arrangement SpaceAround;
+    property public final androidx.ui.layout.Arrangement SpaceBetween;
+    property public final androidx.ui.layout.Arrangement SpaceEvenly;
+  }
+
+  public final class AspectRatioKt {
+    ctor public AspectRatioKt();
+    method public static androidx.ui.core.LayoutModifier AspectRatio(@FloatRange(from=0.0, fromInclusive=false) float value);
+    method @Deprecated public static void AspectRatio(float aspectRatio, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ColumnScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.VerticalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getEnd(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStart(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier End;
+    property public final androidx.ui.core.LayoutModifier Start;
+  }
+
+  public final class ConstrainedBoxKt {
+    ctor public ConstrainedBoxKt();
+    method public static void ConstrainedBox(androidx.ui.layout.DpConstraints constraints, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ContainerKt {
+    ctor public ContainerKt();
+    method public static void Container(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.EdgeInsets padding = androidx.ui.layout.EdgeInsets(0.dp), androidx.ui.core.Alignment alignment = Alignment.Center, boolean expanded = false, androidx.ui.layout.DpConstraints constraints = androidx.ui.layout.DpConstraints(), androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class CrossAxisAlignment {
+    field public static final androidx.ui.layout.CrossAxisAlignment.Companion! Companion;
+  }
+
+  public static final class CrossAxisAlignment.Companion {
+    method public androidx.ui.layout.CrossAxisAlignment AlignmentLine(androidx.ui.core.AlignmentLine alignmentLine);
+    method public androidx.ui.layout.CrossAxisAlignment getCenter();
+    method public androidx.ui.layout.CrossAxisAlignment getEnd();
+    method public androidx.ui.layout.CrossAxisAlignment getStart();
+    method public androidx.ui.layout.CrossAxisAlignment getStretch();
+    property public final androidx.ui.layout.CrossAxisAlignment Center;
+    property public final androidx.ui.layout.CrossAxisAlignment End;
+    property public final androidx.ui.layout.CrossAxisAlignment Start;
+    property public final androidx.ui.layout.CrossAxisAlignment Stretch;
+  }
+
+  public final class DpConstraints {
+    ctor public DpConstraints(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    ctor public DpConstraints();
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.DpConstraints copy(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp minHeight, androidx.ui.core.Dp maxHeight);
+    method public androidx.ui.core.Dp getMaxHeight();
+    method public androidx.ui.core.Dp getMaxWidth();
+    method public androidx.ui.core.Dp getMinHeight();
+    method public androidx.ui.core.Dp getMinWidth();
+    field public static final androidx.ui.layout.DpConstraints.Companion! Companion;
+  }
+
+  public static final class DpConstraints.Companion {
+    method public androidx.ui.layout.DpConstraints tightConstraints(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForHeight(androidx.ui.core.Dp height);
+    method public androidx.ui.layout.DpConstraints tightConstraintsForWidth(androidx.ui.core.Dp width);
+  }
+
+  public final class DpConstraintsKt {
+    ctor public DpConstraintsKt();
+    method public static androidx.ui.core.Constraints Constraints(androidx.ui.core.DensityScope, androidx.ui.layout.DpConstraints dpConstraints);
+    method public static androidx.ui.layout.DpConstraints DpConstraints(androidx.ui.core.DensityScope, androidx.ui.core.Constraints constraints);
+    method public static androidx.ui.layout.DpConstraints enforce(androidx.ui.layout.DpConstraints, androidx.ui.layout.DpConstraints otherConstraints);
+    method public static boolean getHasBoundedHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasBoundedWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightHeight(androidx.ui.layout.DpConstraints);
+    method public static boolean getHasTightWidth(androidx.ui.layout.DpConstraints);
+    method public static boolean getSatisfiable(androidx.ui.layout.DpConstraints);
+    method public static boolean isTight(androidx.ui.layout.DpConstraints);
+    method public static boolean isZero(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints looseMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints offset(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp horizontal = 0.dp, androidx.ui.core.Dp vertical = 0.dp);
+    method public static androidx.ui.layout.DpConstraints tightMax(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints tightMin(androidx.ui.layout.DpConstraints);
+    method public static androidx.ui.layout.DpConstraints withTight(androidx.ui.layout.DpConstraints, androidx.ui.core.Dp? width = null, androidx.ui.core.Dp? height = null);
+  }
+
+  public final class EdgeInsets {
+    ctor public EdgeInsets(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    ctor public EdgeInsets();
+    ctor public EdgeInsets(androidx.ui.core.Dp all);
+    method public androidx.ui.core.Dp component1();
+    method public androidx.ui.core.Dp component2();
+    method public androidx.ui.core.Dp component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets copy(androidx.ui.core.Dp left, androidx.ui.core.Dp top, androidx.ui.core.Dp right, androidx.ui.core.Dp bottom);
+    method public androidx.ui.core.Dp getBottom();
+    method public androidx.ui.core.Dp getLeft();
+    method public androidx.ui.core.Dp getRight();
+    method public androidx.ui.core.Dp getTop();
+  }
+
+  public final class ExpandedModifierKt {
+    ctor public ExpandedModifierKt();
+    method public static androidx.ui.core.LayoutModifier getExpanded();
+    method public static androidx.ui.core.LayoutModifier getExpandedHeight();
+    method public static androidx.ui.core.LayoutModifier getExpandedWidth();
+  }
+
+  public final class FlexChildren {
+    method public void expanded(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void flexible(@FloatRange(from=0.0) float flex, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void inflexible(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class FlexKt {
+    ctor public FlexKt();
+    method public static void Column(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.ColumnScope,kotlin.Unit> children);
+    method public static void FlexColumn(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void FlexRow(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.layout.CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.Start, androidx.ui.layout.LayoutSize crossAxisSize = androidx.ui.layout.LayoutSize.Wrap, kotlin.jvm.functions.Function1<? super androidx.ui.layout.FlexChildren,kotlin.Unit> block);
+    method public static void Row(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.layout.Arrangement arrangement = Arrangement.Begin, kotlin.jvm.functions.Function1<? super androidx.ui.layout.RowScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public abstract sealed class FlexScope {
+    method public final androidx.ui.core.LayoutModifier Flexible(@FloatRange(from=0.0, fromInclusive=false) float flex, boolean tight = true);
+    method public final androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, kotlin.jvm.functions.Function1<? super androidx.ui.core.Placeable,androidx.ui.core.IntPx> alignmentLineBlock);
+    method public final androidx.ui.core.LayoutModifier getInflexible();
+    property public final androidx.ui.core.LayoutModifier Inflexible;
+  }
+
+  public enum FlowCrossAxisAlignment {
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.FlowCrossAxisAlignment Start;
+  }
+
+  public final class FlowKt {
+    ctor public FlowKt();
+    method public static void FlowColumn(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FlowRow(androidx.ui.layout.LayoutSize mainAxisSize = androidx.ui.layout.LayoutSize.Wrap, androidx.ui.layout.MainAxisAlignment mainAxisAlignment = androidx.ui.layout.MainAxisAlignment.Start, androidx.ui.core.Dp mainAxisSpacing = 0.dp, androidx.ui.layout.FlowCrossAxisAlignment crossAxisAlignment = androidx.ui.layout.FlowCrossAxisAlignment.Start, androidx.ui.core.Dp crossAxisSpacing = 0.dp, androidx.ui.layout.MainAxisAlignment lastLineMainAxisAlignment = mainAxisAlignment, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class Gravity {
+    field public static final androidx.ui.layout.Gravity! INSTANCE;
+  }
+
+  public final class IntrinsicKt {
+    ctor public IntrinsicKt();
+    method public static void MaxIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MaxIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicHeight(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void MinIntrinsicWidth(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  @kotlin.DslMarker public @interface LayoutScopeMarker {
+  }
+
+  public enum LayoutSize {
+    enum_constant public static final androidx.ui.layout.LayoutSize Expand;
+    enum_constant public static final androidx.ui.layout.LayoutSize Wrap;
+  }
+
+  public enum MainAxisAlignment {
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Center;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment End;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceAround;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceBetween;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment SpaceEvenly;
+    enum_constant public static final androidx.ui.layout.MainAxisAlignment Start;
+  }
+
+  public final class RowScope extends androidx.ui.layout.FlexScope {
+    method public androidx.ui.core.LayoutModifier RelativeToSiblings(androidx.ui.layout.Gravity, androidx.ui.core.HorizontalAlignmentLine alignmentLine);
+    method public androidx.ui.core.LayoutModifier getBottom(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTop(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier Bottom;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier Top;
+  }
+
+  public final class SizeModifiersKt {
+    ctor public SizeModifiersKt();
+    method public static androidx.ui.core.LayoutModifier Height(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MaxSize(androidx.ui.core.Dp maxWidth, androidx.ui.core.Dp maxHeight);
+    method public static androidx.ui.core.LayoutModifier MaxWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinHeight(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier MinSize(androidx.ui.core.Dp minWidth, androidx.ui.core.Dp minHeight);
+    method public static androidx.ui.core.LayoutModifier MinWidth(androidx.ui.core.Dp value);
+    method public static androidx.ui.core.LayoutModifier Size(androidx.ui.core.Dp width, androidx.ui.core.Dp height);
+    method public static androidx.ui.core.LayoutModifier Width(androidx.ui.core.Dp value);
+  }
+
+  public final class SpacerKt {
+    ctor public SpacerKt();
+    method public static void Spacer(androidx.ui.core.Modifier modifier);
+  }
+
+  public final class SpacingKt {
+    ctor public SpacingKt();
+    method public static void Padding(androidx.ui.layout.EdgeInsets padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Padding(androidx.ui.core.Dp padding, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp left = 0.dp, androidx.ui.core.Dp top = 0.dp, androidx.ui.core.Dp right = 0.dp, androidx.ui.core.Dp bottom = 0.dp);
+    method public static androidx.ui.core.LayoutModifier Spacing(androidx.ui.core.Dp all = 0.dp);
+  }
+
+  public final class StackKt {
+    ctor public StackKt();
+    method public static void Stack(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function1<? super androidx.ui.layout.StackScope,kotlin.Unit> children);
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class StackScope {
+    ctor public StackScope();
+    method public androidx.ui.core.LayoutModifier getBottomCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getBottomRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getCenterRight(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getStretch(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopCenter(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopLeft(androidx.ui.layout.Gravity);
+    method public androidx.ui.core.LayoutModifier getTopRight(androidx.ui.layout.Gravity);
+    property public final androidx.ui.core.LayoutModifier BottomCenter;
+    property public final androidx.ui.core.LayoutModifier BottomLeft;
+    property public final androidx.ui.core.LayoutModifier BottomRight;
+    property public final androidx.ui.core.LayoutModifier Center;
+    property public final androidx.ui.core.LayoutModifier CenterLeft;
+    property public final androidx.ui.core.LayoutModifier CenterRight;
+    property public final androidx.ui.core.LayoutModifier Stretch;
+    property public final androidx.ui.core.LayoutModifier TopCenter;
+    property public final androidx.ui.core.LayoutModifier TopLeft;
+    property public final androidx.ui.core.LayoutModifier TopRight;
+  }
+
+  @androidx.ui.layout.LayoutScopeMarker public final class TableChildren {
+    method public void tableDecoration(boolean overlay, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableDecorationChildren,kotlin.Unit> decoration);
+    method public void tableRow(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public abstract class TableColumnWidth {
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density, androidx.ui.core.IntPx availableHeight);
+    method public abstract androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fixed extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fixed(androidx.ui.core.Dp width);
+    method public androidx.ui.layout.TableColumnWidth.Fixed copy(androidx.ui.core.Dp width);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Flex extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Flex(@FloatRange(from=null) float flex);
+    method public androidx.ui.layout.TableColumnWidth.Flex copy(float flex);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.Fraction extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Fraction(@FloatRange(from=null, to=null) float fraction);
+    method public androidx.ui.layout.TableColumnWidth.Fraction copy(float fraction);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public abstract static class TableColumnWidth.Inflexible extends androidx.ui.layout.TableColumnWidth {
+    ctor public TableColumnWidth.Inflexible();
+    method public final androidx.ui.layout.TableColumnWidth flexible(float flex);
+  }
+
+  public static final class TableColumnWidth.Max extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Max(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Max copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MaxIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MaxIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Min extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    ctor public TableColumnWidth.Min(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.layout.TableColumnWidth.Min copy(androidx.ui.layout.TableColumnWidth.Inflexible a, androidx.ui.layout.TableColumnWidth.Inflexible b);
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+  }
+
+  public static final class TableColumnWidth.MinIntrinsic extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.MinIntrinsic! INSTANCE;
+  }
+
+  public static final class TableColumnWidth.Wrap extends androidx.ui.layout.TableColumnWidth.Inflexible {
+    method public androidx.ui.core.IntPx preferredWidth(java.util.List<androidx.ui.layout.TableMeasurable> cells, androidx.ui.core.IntPx containerWidth, androidx.ui.core.Density density);
+    field public static final androidx.ui.layout.TableColumnWidth.Wrap! INSTANCE;
+  }
+
+  public final class TableDecorationChildren {
+    method public java.util.List<androidx.ui.core.IntPx> component1();
+    method public java.util.List<androidx.ui.core.IntPx> component2();
+    method public androidx.ui.layout.TableDecorationChildren copy(java.util.List<androidx.ui.core.IntPx> verticalOffsets, java.util.List<androidx.ui.core.IntPx> horizontalOffsets);
+    method public java.util.List<androidx.ui.core.IntPx> getHorizontalOffsets();
+    method public java.util.List<androidx.ui.core.IntPx> getVerticalOffsets();
+  }
+
+  public final class TableKt {
+    ctor public TableKt();
+    method public static void Table(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.core.Alignment> alignment = { Alignment.TopLeft }, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.layout.TableColumnWidth> columnWidth = { TableColumnWidth.<init>(1.0) }, kotlin.jvm.functions.Function1<? super androidx.ui.layout.TableChildren,kotlin.Unit> children);
+  }
+
+  public final class TableMeasurable {
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> component1();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component2();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> component3();
+    method public androidx.ui.layout.TableMeasurable copy(kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> preferredWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> minIntrinsicWidth, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPx,androidx.ui.core.IntPx> maxIntrinsicWidth);
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMaxIntrinsicWidth();
+    method public kotlin.jvm.functions.Function1<androidx.ui.core.IntPx,androidx.ui.core.IntPx> getMinIntrinsicWidth();
+    method public kotlin.jvm.functions.Function0<androidx.ui.core.IntPx> getPreferredWidth();
+  }
+
+  public final class WrapKt {
+    ctor public WrapKt();
+    method public static void Wrap(androidx.ui.core.Alignment alignment = Alignment.TopLeft, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier getWrapped();
+  }
+
+}
+
+package androidx.ui.layout.constraintlayout {
+
+  public final class ConstraintLayoutKt {
+    ctor public ConstraintLayoutKt();
+    method public static void ConstraintLayout(androidx.ui.layout.constraintlayout.ConstraintSet constraintSet, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.LayoutModifier Tag(Object tag);
+    method public static Object! getTag(androidx.ui.core.Measurable);
+  }
+
+  public final class ConstraintSet {
+    ctor public ConstraintSet(internal kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+    method public androidx.ui.layout.constraintlayout.ConstraintSet copy(kotlin.jvm.functions.Function1<? super androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope,kotlin.Unit> description);
+  }
+
+  public final class ConstraintSetBuilderScope {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createBottomBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromBottom(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromLeft(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor createGuidelineFromRight(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(androidx.ui.core.Dp offset);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor createGuidelineFromTop(float percent);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalChain createHorizontalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createLeftBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor createRightBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor createTopBarrier(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference... elements);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalChain createVerticalChain(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference![] elements, androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle chainStyle = ChainStyle.Spread);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference getParent();
+    method public Object! getParentDimension();
+    method public Object! getSpreadDimension();
+    method public Object! getWrapDimension();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference tag(Object tag);
+    property public final Object! ParentDimension;
+    property public final Object! SpreadDimension;
+    property public final Object! WrapDimension;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference parent;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle {
+    field public static final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle.Companion! Companion;
+  }
+
+  public static final class ConstraintSetBuilderScope.ChainStyle.Companion {
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed(float bias);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getPacked();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpread();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle getSpreadInside();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Packed;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle Spread;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ChainStyle SpreadInside;
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor other);
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+  }
+
+  public static final class ConstraintSetBuilderScope.ConstrainedLayoutReference {
+    method public void center();
+    method public void centerHorizontally();
+    method public void centerVertically();
+    method public infix void constrainHorizontallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public infix void constrainVerticallyTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor getBaseline();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public float getHorizontalBias();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    method public androidx.constraintlayout.solver.state.State getState();
+    method public Object getTag();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    method public float getVerticalBias();
+    method public void setBaseline(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor p);
+    method public void setBottom(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor p);
+    method public void setHorizontalBias(float value);
+    method public void setRight(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor p);
+    method public void setVerticalBias(float value);
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutBaselineAnchor baseline;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final float horizontalBias;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+    property public final float verticalBias;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.HorizontalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.HorizontalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getLeft();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor getRight();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor left;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor right;
+  }
+
+  public abstract static sealed class ConstraintSetBuilderScope.VerticalAnchor {
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.BarrierAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.ConstrainedLayoutAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor other);
+    method public int getIndex$lintWithKotlin();
+    method public androidx.ui.core.Dp getMargin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+    method public void setMargin(androidx.ui.core.Dp value);
+    property public final androidx.ui.core.Dp margin;
+    property public Object tag;
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalAnchor.GuidelineAnchor extends androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.VerticalAnchor {
+    method public int getIndex$lintWithKotlin();
+    method public androidx.constraintlayout.solver.state.State getState$lintWithKotlin();
+    method public Object getTag$lintWithKotlin();
+  }
+
+  public static final class ConstraintSetBuilderScope.VerticalChain {
+    method public infix void constrainTo(androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.ConstrainedLayoutReference other);
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getBottom();
+    method public androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor getTop();
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor bottom;
+    property public final androidx.ui.layout.constraintlayout.ConstraintSetBuilderScope.HorizontalAnchor.ConstrainedLayoutAnchor top;
+  }
+
+}
+
diff --git a/ui/ui-material/api/0.1.0-dev04.txt b/ui/ui-material/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..319823e
--- /dev/null
+++ b/ui/ui-material/api/0.1.0-dev04.txt
@@ -0,0 +1,388 @@
+// Signature format: 3.0
+package androidx.ui.material {
+
+  public enum AlertDialogButtonLayout {
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout SideBySide;
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout Stacked;
+  }
+
+  public final class AlertDialogKt {
+    ctor public AlertDialogKt();
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton = null, androidx.ui.material.AlertDialogButtonLayout buttonLayout = androidx.ui.material.AlertDialogButtonLayout.SideBySide);
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> buttons);
+  }
+
+  public final class AppBarKt {
+    ctor public AppBarKt();
+    method public static void AppBarIcon(androidx.ui.graphics.Image icon, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+    method public static <T> void BottomAppBar(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, androidx.ui.material.BottomAppBar.FabConfiguration? fabConfiguration = null, java.util.List<? extends T> actionData = emptyList(), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action = {});
+    method public static void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null);
+    method public static <T> void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, java.util.List<? extends T> actionData, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+  }
+
+  public final class BottomAppBar {
+    field public static final androidx.ui.material.BottomAppBar! INSTANCE;
+  }
+
+  public static final class BottomAppBar.FabConfiguration {
+    ctor public BottomAppBar.FabConfiguration(internal androidx.ui.material.BottomAppBar.FabPosition fabPosition, internal androidx.ui.engine.geometry.Shape? cutoutShape, internal kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+    method public androidx.ui.material.BottomAppBar.FabConfiguration copy(androidx.ui.material.BottomAppBar.FabPosition fabPosition, androidx.ui.engine.geometry.Shape? cutoutShape, kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+  }
+
+  public enum BottomAppBar.FabPosition {
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition Center;
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition End;
+  }
+
+  public final class ButtonKt {
+    ctor public ButtonKt();
+    method public static void Button(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Button(String text, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle());
+    method public static androidx.ui.material.ButtonStyle ContainedButtonStyle(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 2.dp, androidx.ui.graphics.Color? rippleColor = null);
+    method public static androidx.ui.material.ButtonStyle OutlinedButtonStyle(androidx.ui.foundation.shape.border.Border border = Border((+MaterialTheme.colors()).onSurface.copy(OutlinedStrokeOpacity), 1.dp), androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 0.dp, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+    method public static androidx.ui.material.ButtonStyle TextButtonStyle(androidx.ui.engine.geometry.Shape shape = button, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class ButtonStyle {
+    ctor public ButtonStyle(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.foundation.shape.border.Border? component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets component5();
+    method public androidx.ui.text.TextStyle? component6();
+    method public androidx.ui.graphics.Color? component7();
+    method public androidx.ui.material.ButtonStyle copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.foundation.shape.border.Border? getBorder();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.core.Dp getElevation();
+    method public androidx.ui.layout.EdgeInsets getPaddings();
+    method public androidx.ui.graphics.Color? getRippleColor();
+    method public androidx.ui.engine.geometry.Shape getShape();
+    method public androidx.ui.text.TextStyle? getTextStyle();
+  }
+
+  public final class CheckboxKt {
+    ctor public CheckboxKt();
+    method public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void TriStateCheckbox(androidx.ui.foundation.selection.ToggleableState value, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color? contentColorFor(androidx.ui.material.ColorPalette, androidx.ui.graphics.Color color);
+    method public static androidx.ui.material.ColorPalette darkColorPalette(androidx.ui.graphics.Color primary = Color(4290479868), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color background = Color(4279374354), androidx.ui.graphics.Color surface = Color(4279374354), androidx.ui.graphics.Color error = Color(4291782265), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+    method public static androidx.ui.material.ColorPalette lightColorPalette(androidx.ui.graphics.Color primary = Color(4284612846), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color secondaryVariant = Color(4278290310), androidx.ui.graphics.Color background = Color.White, androidx.ui.graphics.Color surface = Color.White, androidx.ui.graphics.Color error = Color(4289724448), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+  }
+
+  public interface ColorPalette {
+    method public androidx.ui.graphics.Color getBackground();
+    method public androidx.ui.graphics.Color getError();
+    method public androidx.ui.graphics.Color getOnBackground();
+    method public androidx.ui.graphics.Color getOnError();
+    method public androidx.ui.graphics.Color getOnPrimary();
+    method public androidx.ui.graphics.Color getOnSecondary();
+    method public androidx.ui.graphics.Color getOnSurface();
+    method public androidx.ui.graphics.Color getPrimary();
+    method public androidx.ui.graphics.Color getPrimaryVariant();
+    method public androidx.ui.graphics.Color getSecondary();
+    method public androidx.ui.graphics.Color getSecondaryVariant();
+    method public androidx.ui.graphics.Color getSurface();
+    method public boolean isLight();
+    property public abstract androidx.ui.graphics.Color background;
+    property public abstract androidx.ui.graphics.Color error;
+    property public abstract boolean isLight;
+    property public abstract androidx.ui.graphics.Color onBackground;
+    property public abstract androidx.ui.graphics.Color onError;
+    property public abstract androidx.ui.graphics.Color onPrimary;
+    property public abstract androidx.ui.graphics.Color onSecondary;
+    property public abstract androidx.ui.graphics.Color onSurface;
+    property public abstract androidx.ui.graphics.Color primary;
+    property public abstract androidx.ui.graphics.Color primaryVariant;
+    property public abstract androidx.ui.graphics.Color secondary;
+    property public abstract androidx.ui.graphics.Color secondaryVariant;
+    property public abstract androidx.ui.graphics.Color surface;
+  }
+
+  public final class DataTableChildren {
+    method public void dataRow(boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void dataRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+  }
+
+  public final class DataTableKt {
+    ctor public DataTableKt();
+    method public static void DataTable(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> numeric = { false }, androidx.ui.core.Dp dataRowHeight = androidx.ui.material.DataTableKt.DataRowHeight, androidx.ui.core.Dp headerRowHeight = androidx.ui.material.DataTableKt.HeaderRowHeight, androidx.ui.layout.EdgeInsets cellSpacing = androidx.ui.material.DataTableKt.CellSpacing, androidx.ui.foundation.shape.border.Border border = Border(BorderColor, BorderWidth), androidx.ui.graphics.Color selectedColor = (+MaterialTheme.colors()).primary.copy(0.08), androidx.ui.material.DataTablePagination? pagination = null, androidx.ui.material.DataTableSorting? sorting = null, kotlin.jvm.functions.Function1<? super androidx.ui.material.DataTableChildren,kotlin.Unit> block);
+    method public static androidx.ui.material.DataTablePagination DefaultDataTablePagination(int initialPage = 0, int initialRowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage);
+    method public static androidx.ui.material.DataTableSorting DefaultDataTableSorting(Integer? initialColumn = null, boolean initialAscending = true, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortRequest);
+  }
+
+  public final class DataTablePagination {
+    ctor public DataTablePagination(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public int component1();
+    method public int component2();
+    method public java.util.List<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component4();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component5();
+    method public androidx.ui.material.DataTablePagination copy(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public java.util.List<java.lang.Integer> getAvailableRowsPerPage();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnPageChange();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnRowsPerPageChange();
+    method public int getPage();
+    method public int getRowsPerPage();
+  }
+
+  public final class DataTableSorting {
+    ctor public DataTableSorting(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public Integer? component1();
+    method public boolean component2();
+    method public java.util.Set<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> component4();
+    method public androidx.ui.material.DataTableSorting copy(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public boolean getAscending();
+    method public Integer? getColumn();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> getOnSortChange();
+    method public java.util.Set<java.lang.Integer> getSortableColumns();
+  }
+
+  public final class DividerKt {
+    ctor public DividerKt();
+    method public static void Divider(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.core.Dp height = 1.dp, androidx.ui.core.Dp indent = 0.dp);
+  }
+
+  public final class DrawerKt {
+    ctor public DrawerKt();
+    method public static void BottomDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void ModalDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void StaticDrawer(kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent);
+  }
+
+  public enum DrawerState {
+    enum_constant public static final androidx.ui.material.DrawerState Closed;
+    enum_constant public static final androidx.ui.material.DrawerState Opened;
+  }
+
+  public final class FloatingActionButtonKt {
+    ctor public FloatingActionButtonKt();
+    method public static void FloatingActionButton(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Dp minSize = androidx.ui.material.FloatingActionButtonKt.FabSize, androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FloatingActionButton(androidx.ui.graphics.Image icon, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+    method public static void FloatingActionButton(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Image? icon = null, androidx.ui.text.TextStyle? textStyle = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+  }
+
+  public final class ListItemKt {
+    ctor public ListItemKt();
+    method public static void ListItem(String text, androidx.ui.graphics.Image? icon = null, String? secondaryText = null, boolean singleLineSecondaryText = true, String? overlineText = null, String? metaText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+    method public static void ListItem(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? icon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? secondaryText = null, boolean singleLineSecondaryText = true, kotlin.jvm.functions.Function0<kotlin.Unit>? overlineText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailing = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+  }
+
+  public final class MaterialTheme {
+    method public androidx.compose.Effect<androidx.ui.material.ColorPalette> colors();
+    method public androidx.compose.Effect<androidx.ui.material.Shapes> shapes();
+    method public androidx.compose.Effect<androidx.ui.material.Typography> typography();
+    field public static final androidx.ui.material.MaterialTheme! INSTANCE;
+  }
+
+  public final class MaterialThemeKt {
+    ctor public MaterialThemeKt();
+    method public static void MaterialTheme(androidx.ui.material.ColorPalette colors = lightColorPalette(), androidx.ui.material.Typography typography = androidx.ui.material.Typography(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ProgressIndicatorKt {
+    ctor public ProgressIndicatorKt();
+    method public static void CircularProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void CircularProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class RadioButtonKt {
+    ctor public RadioButtonKt();
+    method public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onSelect, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> children);
+    method public static void RadioGroup(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class RadioGroupScope {
+    method public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void RadioGroupTextItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class ShapeKt {
+    ctor public ShapeKt();
+  }
+
+  public final class Shapes {
+    ctor public Shapes(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    ctor public Shapes();
+    method public androidx.ui.engine.geometry.Shape component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.material.Shapes copy(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    method public androidx.ui.engine.geometry.Shape getButton();
+    method public androidx.ui.engine.geometry.Shape getCard();
+  }
+
+  public final class SliderKt {
+    ctor public SliderKt();
+    method public static void Slider(androidx.ui.material.SliderPosition position, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  position.value = it }, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class SliderPosition {
+    ctor public SliderPosition(float initial, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, @IntRange(from=null) int steps);
+    ctor public SliderPosition();
+    method public float getValue();
+    method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getValueRange();
+    method public void setValue(float value);
+    property public final float value;
+  }
+
+  public final class SnackbarKt {
+    ctor public SnackbarKt();
+    method public static void Snackbar(String text, String? actionText = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+    method public static void Snackbar(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? action = null, androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+  }
+
+  public final class SwitchKt {
+    ctor public SwitchKt();
+    method public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondaryVariant);
+  }
+
+  public final class TabKt {
+    ctor public TabKt();
+    method public static void Tab(String? text = null, androidx.ui.graphics.Image? icon = null, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelected);
+    method public static <T> void TabRow(java.util.List<? extends T> items, int selectedIndex, boolean scrollable = false, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.material.TabRow.TabPosition>,kotlin.Unit> indicatorContainer = { tabPositions -> TabRow.IndicatorContainer(tabPositions, selectedIndex, { 
+    TabRow.Indicator()
+}) }, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> tab);
+  }
+
+  public final class TabRow {
+    method public void Indicator();
+    method public void IndicatorContainer(java.util.List<androidx.ui.material.TabRow.TabPosition> tabPositions, int selectedIndex, kotlin.jvm.functions.Function0<kotlin.Unit> indicator);
+    field public static final androidx.ui.material.TabRow! INSTANCE;
+  }
+
+  public static final class TabRow.TabPosition {
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.material.TabRow.TabPosition copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getWidth();
+    property public final androidx.ui.core.IntPx right;
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static androidx.ui.text.TextStyle withOpacity(androidx.ui.text.TextStyle, @FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public final class Typography {
+    ctor public Typography(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    ctor public Typography();
+    method public androidx.ui.text.TextStyle component1();
+    method public androidx.ui.text.TextStyle component10();
+    method public androidx.ui.text.TextStyle component11();
+    method public androidx.ui.text.TextStyle component12();
+    method public androidx.ui.text.TextStyle component13();
+    method public androidx.ui.text.TextStyle component2();
+    method public androidx.ui.text.TextStyle component3();
+    method public androidx.ui.text.TextStyle component4();
+    method public androidx.ui.text.TextStyle component5();
+    method public androidx.ui.text.TextStyle component6();
+    method public androidx.ui.text.TextStyle component7();
+    method public androidx.ui.text.TextStyle component8();
+    method public androidx.ui.text.TextStyle component9();
+    method public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    method public androidx.ui.text.TextStyle getBody1();
+    method public androidx.ui.text.TextStyle getBody2();
+    method public androidx.ui.text.TextStyle getButton();
+    method public androidx.ui.text.TextStyle getCaption();
+    method public androidx.ui.text.TextStyle getH1();
+    method public androidx.ui.text.TextStyle getH2();
+    method public androidx.ui.text.TextStyle getH3();
+    method public androidx.ui.text.TextStyle getH4();
+    method public androidx.ui.text.TextStyle getH5();
+    method public androidx.ui.text.TextStyle getH6();
+    method public androidx.ui.text.TextStyle getOverline();
+    method public androidx.ui.text.TextStyle getSubtitle1();
+    method public androidx.ui.text.TextStyle getSubtitle2();
+  }
+
+  public final class TypographyKt {
+    ctor public TypographyKt();
+  }
+
+}
+
+package androidx.ui.material.internal {
+
+  public final class StateDraggableKt {
+    ctor public StateDraggableKt();
+  }
+
+}
+
+package androidx.ui.material.ripple {
+
+  public final class DefaultRippleEffectFactory implements androidx.ui.material.ripple.RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+    field public static final androidx.ui.material.ripple.DefaultRippleEffectFactory! INSTANCE;
+  }
+
+  public final class DefaultRippleEffectKt {
+    ctor public DefaultRippleEffectKt();
+  }
+
+  public interface RippleEffect {
+    method public void dispose();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color color);
+    method public void finish(boolean canceled);
+  }
+
+  public interface RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+  }
+
+  public final class RippleKt {
+    ctor public RippleKt();
+    method public static void Ripple(boolean bounded, androidx.ui.core.Dp? radius = null, androidx.ui.graphics.Color? color = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RippleTheme {
+    ctor public RippleTheme(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.ui.material.ripple.RippleEffectFactory component1();
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> component2();
+    method public androidx.compose.Effect<java.lang.Float> component3();
+    method public androidx.ui.material.ripple.RippleTheme copy(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> getDefaultColor();
+    method public androidx.ui.material.ripple.RippleEffectFactory getFactory();
+    method public androidx.compose.Effect<java.lang.Float> getOpacity();
+  }
+
+  public final class RippleThemeKt {
+    ctor public RippleThemeKt();
+    method public static androidx.compose.Ambient<androidx.ui.material.ripple.RippleTheme> getCurrentRippleTheme();
+  }
+
+}
+
+package androidx.ui.material.surface {
+
+  public final class CardKt {
+    ctor public CardKt();
+    method public static void Card(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = card, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var var1e11522: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (var1e11522 != null) var1e11522 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 1.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SurfaceKt {
+    ctor public SurfaceKt();
+    method public static void Surface(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = RectangleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var varcd50b103: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (varcd50b103 != null) varcd50b103 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
diff --git a/ui/ui-material/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-material/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..319823e
--- /dev/null
+++ b/ui/ui-material/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,388 @@
+// Signature format: 3.0
+package androidx.ui.material {
+
+  public enum AlertDialogButtonLayout {
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout SideBySide;
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout Stacked;
+  }
+
+  public final class AlertDialogKt {
+    ctor public AlertDialogKt();
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton = null, androidx.ui.material.AlertDialogButtonLayout buttonLayout = androidx.ui.material.AlertDialogButtonLayout.SideBySide);
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> buttons);
+  }
+
+  public final class AppBarKt {
+    ctor public AppBarKt();
+    method public static void AppBarIcon(androidx.ui.graphics.Image icon, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+    method public static <T> void BottomAppBar(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, androidx.ui.material.BottomAppBar.FabConfiguration? fabConfiguration = null, java.util.List<? extends T> actionData = emptyList(), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action = {});
+    method public static void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null);
+    method public static <T> void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, java.util.List<? extends T> actionData, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+  }
+
+  public final class BottomAppBar {
+    field public static final androidx.ui.material.BottomAppBar! INSTANCE;
+  }
+
+  public static final class BottomAppBar.FabConfiguration {
+    ctor public BottomAppBar.FabConfiguration(internal androidx.ui.material.BottomAppBar.FabPosition fabPosition, internal androidx.ui.engine.geometry.Shape? cutoutShape, internal kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+    method public androidx.ui.material.BottomAppBar.FabConfiguration copy(androidx.ui.material.BottomAppBar.FabPosition fabPosition, androidx.ui.engine.geometry.Shape? cutoutShape, kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+  }
+
+  public enum BottomAppBar.FabPosition {
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition Center;
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition End;
+  }
+
+  public final class ButtonKt {
+    ctor public ButtonKt();
+    method public static void Button(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Button(String text, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle());
+    method public static androidx.ui.material.ButtonStyle ContainedButtonStyle(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 2.dp, androidx.ui.graphics.Color? rippleColor = null);
+    method public static androidx.ui.material.ButtonStyle OutlinedButtonStyle(androidx.ui.foundation.shape.border.Border border = Border((+MaterialTheme.colors()).onSurface.copy(OutlinedStrokeOpacity), 1.dp), androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 0.dp, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+    method public static androidx.ui.material.ButtonStyle TextButtonStyle(androidx.ui.engine.geometry.Shape shape = button, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class ButtonStyle {
+    ctor public ButtonStyle(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.foundation.shape.border.Border? component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets component5();
+    method public androidx.ui.text.TextStyle? component6();
+    method public androidx.ui.graphics.Color? component7();
+    method public androidx.ui.material.ButtonStyle copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.foundation.shape.border.Border? getBorder();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.core.Dp getElevation();
+    method public androidx.ui.layout.EdgeInsets getPaddings();
+    method public androidx.ui.graphics.Color? getRippleColor();
+    method public androidx.ui.engine.geometry.Shape getShape();
+    method public androidx.ui.text.TextStyle? getTextStyle();
+  }
+
+  public final class CheckboxKt {
+    ctor public CheckboxKt();
+    method public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void TriStateCheckbox(androidx.ui.foundation.selection.ToggleableState value, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color? contentColorFor(androidx.ui.material.ColorPalette, androidx.ui.graphics.Color color);
+    method public static androidx.ui.material.ColorPalette darkColorPalette(androidx.ui.graphics.Color primary = Color(4290479868), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color background = Color(4279374354), androidx.ui.graphics.Color surface = Color(4279374354), androidx.ui.graphics.Color error = Color(4291782265), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+    method public static androidx.ui.material.ColorPalette lightColorPalette(androidx.ui.graphics.Color primary = Color(4284612846), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color secondaryVariant = Color(4278290310), androidx.ui.graphics.Color background = Color.White, androidx.ui.graphics.Color surface = Color.White, androidx.ui.graphics.Color error = Color(4289724448), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+  }
+
+  public interface ColorPalette {
+    method public androidx.ui.graphics.Color getBackground();
+    method public androidx.ui.graphics.Color getError();
+    method public androidx.ui.graphics.Color getOnBackground();
+    method public androidx.ui.graphics.Color getOnError();
+    method public androidx.ui.graphics.Color getOnPrimary();
+    method public androidx.ui.graphics.Color getOnSecondary();
+    method public androidx.ui.graphics.Color getOnSurface();
+    method public androidx.ui.graphics.Color getPrimary();
+    method public androidx.ui.graphics.Color getPrimaryVariant();
+    method public androidx.ui.graphics.Color getSecondary();
+    method public androidx.ui.graphics.Color getSecondaryVariant();
+    method public androidx.ui.graphics.Color getSurface();
+    method public boolean isLight();
+    property public abstract androidx.ui.graphics.Color background;
+    property public abstract androidx.ui.graphics.Color error;
+    property public abstract boolean isLight;
+    property public abstract androidx.ui.graphics.Color onBackground;
+    property public abstract androidx.ui.graphics.Color onError;
+    property public abstract androidx.ui.graphics.Color onPrimary;
+    property public abstract androidx.ui.graphics.Color onSecondary;
+    property public abstract androidx.ui.graphics.Color onSurface;
+    property public abstract androidx.ui.graphics.Color primary;
+    property public abstract androidx.ui.graphics.Color primaryVariant;
+    property public abstract androidx.ui.graphics.Color secondary;
+    property public abstract androidx.ui.graphics.Color secondaryVariant;
+    property public abstract androidx.ui.graphics.Color surface;
+  }
+
+  public final class DataTableChildren {
+    method public void dataRow(boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void dataRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+  }
+
+  public final class DataTableKt {
+    ctor public DataTableKt();
+    method public static void DataTable(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> numeric = { false }, androidx.ui.core.Dp dataRowHeight = androidx.ui.material.DataTableKt.DataRowHeight, androidx.ui.core.Dp headerRowHeight = androidx.ui.material.DataTableKt.HeaderRowHeight, androidx.ui.layout.EdgeInsets cellSpacing = androidx.ui.material.DataTableKt.CellSpacing, androidx.ui.foundation.shape.border.Border border = Border(BorderColor, BorderWidth), androidx.ui.graphics.Color selectedColor = (+MaterialTheme.colors()).primary.copy(0.08), androidx.ui.material.DataTablePagination? pagination = null, androidx.ui.material.DataTableSorting? sorting = null, kotlin.jvm.functions.Function1<? super androidx.ui.material.DataTableChildren,kotlin.Unit> block);
+    method public static androidx.ui.material.DataTablePagination DefaultDataTablePagination(int initialPage = 0, int initialRowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage);
+    method public static androidx.ui.material.DataTableSorting DefaultDataTableSorting(Integer? initialColumn = null, boolean initialAscending = true, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortRequest);
+  }
+
+  public final class DataTablePagination {
+    ctor public DataTablePagination(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public int component1();
+    method public int component2();
+    method public java.util.List<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component4();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component5();
+    method public androidx.ui.material.DataTablePagination copy(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public java.util.List<java.lang.Integer> getAvailableRowsPerPage();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnPageChange();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnRowsPerPageChange();
+    method public int getPage();
+    method public int getRowsPerPage();
+  }
+
+  public final class DataTableSorting {
+    ctor public DataTableSorting(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public Integer? component1();
+    method public boolean component2();
+    method public java.util.Set<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> component4();
+    method public androidx.ui.material.DataTableSorting copy(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public boolean getAscending();
+    method public Integer? getColumn();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> getOnSortChange();
+    method public java.util.Set<java.lang.Integer> getSortableColumns();
+  }
+
+  public final class DividerKt {
+    ctor public DividerKt();
+    method public static void Divider(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.core.Dp height = 1.dp, androidx.ui.core.Dp indent = 0.dp);
+  }
+
+  public final class DrawerKt {
+    ctor public DrawerKt();
+    method public static void BottomDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void ModalDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void StaticDrawer(kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent);
+  }
+
+  public enum DrawerState {
+    enum_constant public static final androidx.ui.material.DrawerState Closed;
+    enum_constant public static final androidx.ui.material.DrawerState Opened;
+  }
+
+  public final class FloatingActionButtonKt {
+    ctor public FloatingActionButtonKt();
+    method public static void FloatingActionButton(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Dp minSize = androidx.ui.material.FloatingActionButtonKt.FabSize, androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FloatingActionButton(androidx.ui.graphics.Image icon, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+    method public static void FloatingActionButton(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Image? icon = null, androidx.ui.text.TextStyle? textStyle = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+  }
+
+  public final class ListItemKt {
+    ctor public ListItemKt();
+    method public static void ListItem(String text, androidx.ui.graphics.Image? icon = null, String? secondaryText = null, boolean singleLineSecondaryText = true, String? overlineText = null, String? metaText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+    method public static void ListItem(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? icon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? secondaryText = null, boolean singleLineSecondaryText = true, kotlin.jvm.functions.Function0<kotlin.Unit>? overlineText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailing = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+  }
+
+  public final class MaterialTheme {
+    method public androidx.compose.Effect<androidx.ui.material.ColorPalette> colors();
+    method public androidx.compose.Effect<androidx.ui.material.Shapes> shapes();
+    method public androidx.compose.Effect<androidx.ui.material.Typography> typography();
+    field public static final androidx.ui.material.MaterialTheme! INSTANCE;
+  }
+
+  public final class MaterialThemeKt {
+    ctor public MaterialThemeKt();
+    method public static void MaterialTheme(androidx.ui.material.ColorPalette colors = lightColorPalette(), androidx.ui.material.Typography typography = androidx.ui.material.Typography(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ProgressIndicatorKt {
+    ctor public ProgressIndicatorKt();
+    method public static void CircularProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void CircularProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class RadioButtonKt {
+    ctor public RadioButtonKt();
+    method public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onSelect, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> children);
+    method public static void RadioGroup(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class RadioGroupScope {
+    method public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void RadioGroupTextItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class ShapeKt {
+    ctor public ShapeKt();
+  }
+
+  public final class Shapes {
+    ctor public Shapes(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    ctor public Shapes();
+    method public androidx.ui.engine.geometry.Shape component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.material.Shapes copy(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    method public androidx.ui.engine.geometry.Shape getButton();
+    method public androidx.ui.engine.geometry.Shape getCard();
+  }
+
+  public final class SliderKt {
+    ctor public SliderKt();
+    method public static void Slider(androidx.ui.material.SliderPosition position, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  position.value = it }, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class SliderPosition {
+    ctor public SliderPosition(float initial, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, @IntRange(from=null) int steps);
+    ctor public SliderPosition();
+    method public float getValue();
+    method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getValueRange();
+    method public void setValue(float value);
+    property public final float value;
+  }
+
+  public final class SnackbarKt {
+    ctor public SnackbarKt();
+    method public static void Snackbar(String text, String? actionText = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+    method public static void Snackbar(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? action = null, androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+  }
+
+  public final class SwitchKt {
+    ctor public SwitchKt();
+    method public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondaryVariant);
+  }
+
+  public final class TabKt {
+    ctor public TabKt();
+    method public static void Tab(String? text = null, androidx.ui.graphics.Image? icon = null, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelected);
+    method public static <T> void TabRow(java.util.List<? extends T> items, int selectedIndex, boolean scrollable = false, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.material.TabRow.TabPosition>,kotlin.Unit> indicatorContainer = { tabPositions -> TabRow.IndicatorContainer(tabPositions, selectedIndex, { 
+    TabRow.Indicator()
+}) }, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> tab);
+  }
+
+  public final class TabRow {
+    method public void Indicator();
+    method public void IndicatorContainer(java.util.List<androidx.ui.material.TabRow.TabPosition> tabPositions, int selectedIndex, kotlin.jvm.functions.Function0<kotlin.Unit> indicator);
+    field public static final androidx.ui.material.TabRow! INSTANCE;
+  }
+
+  public static final class TabRow.TabPosition {
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.material.TabRow.TabPosition copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getWidth();
+    property public final androidx.ui.core.IntPx right;
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static androidx.ui.text.TextStyle withOpacity(androidx.ui.text.TextStyle, @FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public final class Typography {
+    ctor public Typography(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    ctor public Typography();
+    method public androidx.ui.text.TextStyle component1();
+    method public androidx.ui.text.TextStyle component10();
+    method public androidx.ui.text.TextStyle component11();
+    method public androidx.ui.text.TextStyle component12();
+    method public androidx.ui.text.TextStyle component13();
+    method public androidx.ui.text.TextStyle component2();
+    method public androidx.ui.text.TextStyle component3();
+    method public androidx.ui.text.TextStyle component4();
+    method public androidx.ui.text.TextStyle component5();
+    method public androidx.ui.text.TextStyle component6();
+    method public androidx.ui.text.TextStyle component7();
+    method public androidx.ui.text.TextStyle component8();
+    method public androidx.ui.text.TextStyle component9();
+    method public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    method public androidx.ui.text.TextStyle getBody1();
+    method public androidx.ui.text.TextStyle getBody2();
+    method public androidx.ui.text.TextStyle getButton();
+    method public androidx.ui.text.TextStyle getCaption();
+    method public androidx.ui.text.TextStyle getH1();
+    method public androidx.ui.text.TextStyle getH2();
+    method public androidx.ui.text.TextStyle getH3();
+    method public androidx.ui.text.TextStyle getH4();
+    method public androidx.ui.text.TextStyle getH5();
+    method public androidx.ui.text.TextStyle getH6();
+    method public androidx.ui.text.TextStyle getOverline();
+    method public androidx.ui.text.TextStyle getSubtitle1();
+    method public androidx.ui.text.TextStyle getSubtitle2();
+  }
+
+  public final class TypographyKt {
+    ctor public TypographyKt();
+  }
+
+}
+
+package androidx.ui.material.internal {
+
+  public final class StateDraggableKt {
+    ctor public StateDraggableKt();
+  }
+
+}
+
+package androidx.ui.material.ripple {
+
+  public final class DefaultRippleEffectFactory implements androidx.ui.material.ripple.RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+    field public static final androidx.ui.material.ripple.DefaultRippleEffectFactory! INSTANCE;
+  }
+
+  public final class DefaultRippleEffectKt {
+    ctor public DefaultRippleEffectKt();
+  }
+
+  public interface RippleEffect {
+    method public void dispose();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color color);
+    method public void finish(boolean canceled);
+  }
+
+  public interface RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+  }
+
+  public final class RippleKt {
+    ctor public RippleKt();
+    method public static void Ripple(boolean bounded, androidx.ui.core.Dp? radius = null, androidx.ui.graphics.Color? color = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RippleTheme {
+    ctor public RippleTheme(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.ui.material.ripple.RippleEffectFactory component1();
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> component2();
+    method public androidx.compose.Effect<java.lang.Float> component3();
+    method public androidx.ui.material.ripple.RippleTheme copy(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> getDefaultColor();
+    method public androidx.ui.material.ripple.RippleEffectFactory getFactory();
+    method public androidx.compose.Effect<java.lang.Float> getOpacity();
+  }
+
+  public final class RippleThemeKt {
+    ctor public RippleThemeKt();
+    method public static androidx.compose.Ambient<androidx.ui.material.ripple.RippleTheme> getCurrentRippleTheme();
+  }
+
+}
+
+package androidx.ui.material.surface {
+
+  public final class CardKt {
+    ctor public CardKt();
+    method public static void Card(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = card, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var var1e11522: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (var1e11522 != null) var1e11522 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 1.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SurfaceKt {
+    ctor public SurfaceKt();
+    method public static void Surface(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = RectangleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var varcd50b103: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (varcd50b103 != null) varcd50b103 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
diff --git a/ui/ui-material/api/res-0.1.0-dev04.txt b/ui/ui-material/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-material/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-material/api/restricted_0.1.0-dev04.txt b/ui/ui-material/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..319823e
--- /dev/null
+++ b/ui/ui-material/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,388 @@
+// Signature format: 3.0
+package androidx.ui.material {
+
+  public enum AlertDialogButtonLayout {
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout SideBySide;
+    enum_constant public static final androidx.ui.material.AlertDialogButtonLayout Stacked;
+  }
+
+  public final class AlertDialogKt {
+    ctor public AlertDialogKt();
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> confirmButton, kotlin.jvm.functions.Function0<kotlin.Unit>? dismissButton = null, androidx.ui.material.AlertDialogButtonLayout buttonLayout = androidx.ui.material.AlertDialogButtonLayout.SideBySide);
+    method public static void AlertDialog(kotlin.jvm.functions.Function0<kotlin.Unit> onCloseRequest, kotlin.jvm.functions.Function0<kotlin.Unit>? title = null, kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit> buttons);
+  }
+
+  public final class AppBarKt {
+    ctor public AppBarKt();
+    method public static void AppBarIcon(androidx.ui.graphics.Image icon, kotlin.jvm.functions.Function0<kotlin.Unit> onClick);
+    method public static <T> void BottomAppBar(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, androidx.ui.material.BottomAppBar.FabConfiguration? fabConfiguration = null, java.util.List<? extends T> actionData = emptyList(), kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action = {});
+    method public static void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null);
+    method public static <T> void TopAppBar(kotlin.jvm.functions.Function0<kotlin.Unit> title, java.util.List<? extends T> actionData, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, kotlin.jvm.functions.Function0<kotlin.Unit>? navigationIcon = null, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> action);
+  }
+
+  public final class BottomAppBar {
+    field public static final androidx.ui.material.BottomAppBar! INSTANCE;
+  }
+
+  public static final class BottomAppBar.FabConfiguration {
+    ctor public BottomAppBar.FabConfiguration(internal androidx.ui.material.BottomAppBar.FabPosition fabPosition, internal androidx.ui.engine.geometry.Shape? cutoutShape, internal kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+    method public androidx.ui.material.BottomAppBar.FabConfiguration copy(androidx.ui.material.BottomAppBar.FabPosition fabPosition, androidx.ui.engine.geometry.Shape? cutoutShape, kotlin.jvm.functions.Function0<kotlin.Unit> fab);
+  }
+
+  public enum BottomAppBar.FabPosition {
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition Center;
+    enum_constant public static final androidx.ui.material.BottomAppBar.FabPosition End;
+  }
+
+  public final class ButtonKt {
+    ctor public ButtonKt();
+    method public static void Button(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Button(String text, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.material.ButtonStyle style = ContainedButtonStyle());
+    method public static androidx.ui.material.ButtonStyle ContainedButtonStyle(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 2.dp, androidx.ui.graphics.Color? rippleColor = null);
+    method public static androidx.ui.material.ButtonStyle OutlinedButtonStyle(androidx.ui.foundation.shape.border.Border border = Border((+MaterialTheme.colors()).onSurface.copy(OutlinedStrokeOpacity), 1.dp), androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.engine.geometry.Shape shape = button, androidx.ui.core.Dp elevation = 0.dp, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+    method public static androidx.ui.material.ButtonStyle TextButtonStyle(androidx.ui.engine.geometry.Shape shape = button, androidx.ui.graphics.Color? contentColor = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class ButtonStyle {
+    ctor public ButtonStyle(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.graphics.Color component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.foundation.shape.border.Border? component3();
+    method public androidx.ui.core.Dp component4();
+    method public androidx.ui.layout.EdgeInsets component5();
+    method public androidx.ui.text.TextStyle? component6();
+    method public androidx.ui.graphics.Color? component7();
+    method public androidx.ui.material.ButtonStyle copy(androidx.ui.graphics.Color color, androidx.ui.engine.geometry.Shape shape, androidx.ui.foundation.shape.border.Border? border, androidx.ui.core.Dp elevation, androidx.ui.layout.EdgeInsets paddings, androidx.ui.text.TextStyle? textStyle, androidx.ui.graphics.Color? rippleColor);
+    method public androidx.ui.foundation.shape.border.Border? getBorder();
+    method public androidx.ui.graphics.Color getColor();
+    method public androidx.ui.core.Dp getElevation();
+    method public androidx.ui.layout.EdgeInsets getPaddings();
+    method public androidx.ui.graphics.Color? getRippleColor();
+    method public androidx.ui.engine.geometry.Shape getShape();
+    method public androidx.ui.text.TextStyle? getTextStyle();
+  }
+
+  public final class CheckboxKt {
+    ctor public CheckboxKt();
+    method public static void Checkbox(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void TriStateCheckbox(androidx.ui.foundation.selection.ToggleableState value, kotlin.jvm.functions.Function0<kotlin.Unit>? onClick, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+  }
+
+  public final class ColorKt {
+    ctor public ColorKt();
+    method public static androidx.ui.graphics.Color? contentColorFor(androidx.ui.material.ColorPalette, androidx.ui.graphics.Color color);
+    method public static androidx.ui.material.ColorPalette darkColorPalette(androidx.ui.graphics.Color primary = Color(4290479868), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color background = Color(4279374354), androidx.ui.graphics.Color surface = Color(4279374354), androidx.ui.graphics.Color error = Color(4291782265), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+    method public static androidx.ui.material.ColorPalette lightColorPalette(androidx.ui.graphics.Color primary = Color(4284612846), androidx.ui.graphics.Color primaryVariant = Color(4281794739), androidx.ui.graphics.Color secondary = Color(4278442694), androidx.ui.graphics.Color secondaryVariant = Color(4278290310), androidx.ui.graphics.Color background = Color.White, androidx.ui.graphics.Color surface = Color.White, androidx.ui.graphics.Color error = Color(4289724448), androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color  androidx.ui.graphics.Color >
+  }
+
+  public interface ColorPalette {
+    method public androidx.ui.graphics.Color getBackground();
+    method public androidx.ui.graphics.Color getError();
+    method public androidx.ui.graphics.Color getOnBackground();
+    method public androidx.ui.graphics.Color getOnError();
+    method public androidx.ui.graphics.Color getOnPrimary();
+    method public androidx.ui.graphics.Color getOnSecondary();
+    method public androidx.ui.graphics.Color getOnSurface();
+    method public androidx.ui.graphics.Color getPrimary();
+    method public androidx.ui.graphics.Color getPrimaryVariant();
+    method public androidx.ui.graphics.Color getSecondary();
+    method public androidx.ui.graphics.Color getSecondaryVariant();
+    method public androidx.ui.graphics.Color getSurface();
+    method public boolean isLight();
+    property public abstract androidx.ui.graphics.Color background;
+    property public abstract androidx.ui.graphics.Color error;
+    property public abstract boolean isLight;
+    property public abstract androidx.ui.graphics.Color onBackground;
+    property public abstract androidx.ui.graphics.Color onError;
+    property public abstract androidx.ui.graphics.Color onPrimary;
+    property public abstract androidx.ui.graphics.Color onSecondary;
+    property public abstract androidx.ui.graphics.Color onSurface;
+    property public abstract androidx.ui.graphics.Color primary;
+    property public abstract androidx.ui.graphics.Color primaryVariant;
+    property public abstract androidx.ui.graphics.Color secondary;
+    property public abstract androidx.ui.graphics.Color secondaryVariant;
+    property public abstract androidx.ui.graphics.Color surface;
+  }
+
+  public final class DataTableChildren {
+    method public void dataRow(boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void dataRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, boolean selected = false, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>?  kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> children);
+    method public void headerRow(kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.String> text, kotlin.jvm.functions.Function1<? super java.lang.Integer,? extends androidx.ui.graphics.Image> icon = { null }, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? >
+  }
+
+  public final class DataTableKt {
+    ctor public DataTableKt();
+    method public static void DataTable(int columns, kotlin.jvm.functions.Function1<? super java.lang.Integer,java.lang.Boolean> numeric = { false }, androidx.ui.core.Dp dataRowHeight = androidx.ui.material.DataTableKt.DataRowHeight, androidx.ui.core.Dp headerRowHeight = androidx.ui.material.DataTableKt.HeaderRowHeight, androidx.ui.layout.EdgeInsets cellSpacing = androidx.ui.material.DataTableKt.CellSpacing, androidx.ui.foundation.shape.border.Border border = Border(BorderColor, BorderWidth), androidx.ui.graphics.Color selectedColor = (+MaterialTheme.colors()).primary.copy(0.08), androidx.ui.material.DataTablePagination? pagination = null, androidx.ui.material.DataTableSorting? sorting = null, kotlin.jvm.functions.Function1<? super androidx.ui.material.DataTableChildren,kotlin.Unit> block);
+    method public static androidx.ui.material.DataTablePagination DefaultDataTablePagination(int initialPage = 0, int initialRowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage);
+    method public static androidx.ui.material.DataTableSorting DefaultDataTableSorting(Integer? initialColumn = null, boolean initialAscending = true, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortRequest);
+  }
+
+  public final class DataTablePagination {
+    ctor public DataTablePagination(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public int component1();
+    method public int component2();
+    method public java.util.List<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component4();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> component5();
+    method public androidx.ui.material.DataTablePagination copy(int page, int rowsPerPage, java.util.List<java.lang.Integer> availableRowsPerPage, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onPageChange, kotlin.jvm.functions.Function1<? super java.lang.Integer,kotlin.Unit> onRowsPerPageChange);
+    method public java.util.List<java.lang.Integer> getAvailableRowsPerPage();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnPageChange();
+    method public kotlin.jvm.functions.Function1<java.lang.Integer,kotlin.Unit> getOnRowsPerPageChange();
+    method public int getPage();
+    method public int getRowsPerPage();
+  }
+
+  public final class DataTableSorting {
+    ctor public DataTableSorting(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public Integer? component1();
+    method public boolean component2();
+    method public java.util.Set<java.lang.Integer> component3();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> component4();
+    method public androidx.ui.material.DataTableSorting copy(Integer? column, boolean ascending, java.util.Set<java.lang.Integer> sortableColumns, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super java.lang.Boolean,kotlin.Unit> onSortChange);
+    method public boolean getAscending();
+    method public Integer? getColumn();
+    method public kotlin.jvm.functions.Function2<java.lang.Integer,java.lang.Boolean,kotlin.Unit> getOnSortChange();
+    method public java.util.Set<java.lang.Integer> getSortableColumns();
+  }
+
+  public final class DividerKt {
+    ctor public DividerKt();
+    method public static void Divider(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.core.Dp height = 1.dp, androidx.ui.core.Dp indent = 0.dp);
+  }
+
+  public final class DrawerKt {
+    ctor public DrawerKt();
+    method public static void BottomDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void ModalDrawerLayout(androidx.ui.material.DrawerState drawerState, kotlin.jvm.functions.Function1<? super androidx.ui.material.DrawerState,kotlin.Unit> onStateChange, boolean gesturesEnabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent, kotlin.jvm.functions.Function0<kotlin.Unit> bodyContent);
+    method public static void StaticDrawer(kotlin.jvm.functions.Function0<kotlin.Unit> drawerContent);
+  }
+
+  public enum DrawerState {
+    enum_constant public static final androidx.ui.material.DrawerState Closed;
+    enum_constant public static final androidx.ui.material.DrawerState Opened;
+  }
+
+  public final class FloatingActionButtonKt {
+    ctor public FloatingActionButtonKt();
+    method public static void FloatingActionButton(androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Dp minSize = androidx.ui.material.FloatingActionButtonKt.FabSize, androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void FloatingActionButton(androidx.ui.graphics.Image icon, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.engine.geometry.Shape shape = CircleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+    method public static void FloatingActionButton(String text, androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.graphics.Image? icon = null, androidx.ui.text.TextStyle? textStyle = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary, androidx.ui.core.Dp elevation = 6.dp);
+  }
+
+  public final class ListItemKt {
+    ctor public ListItemKt();
+    method public static void ListItem(String text, androidx.ui.graphics.Image? icon = null, String? secondaryText = null, boolean singleLineSecondaryText = true, String? overlineText = null, String? metaText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+    method public static void ListItem(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? icon = null, kotlin.jvm.functions.Function0<kotlin.Unit>? secondaryText = null, boolean singleLineSecondaryText = true, kotlin.jvm.functions.Function0<kotlin.Unit>? overlineText = null, kotlin.jvm.functions.Function0<kotlin.Unit>? trailing = null, kotlin.jvm.functions.Function0<kotlin.Unit>? >
+  }
+
+  public final class MaterialTheme {
+    method public androidx.compose.Effect<androidx.ui.material.ColorPalette> colors();
+    method public androidx.compose.Effect<androidx.ui.material.Shapes> shapes();
+    method public androidx.compose.Effect<androidx.ui.material.Typography> typography();
+    field public static final androidx.ui.material.MaterialTheme! INSTANCE;
+  }
+
+  public final class MaterialThemeKt {
+    ctor public MaterialThemeKt();
+    method public static void MaterialTheme(androidx.ui.material.ColorPalette colors = lightColorPalette(), androidx.ui.material.Typography typography = androidx.ui.material.Typography(), kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class ProgressIndicatorKt {
+    ctor public ProgressIndicatorKt();
+    method public static void CircularProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void CircularProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(@FloatRange(from=0.0, to=1.0) float progress, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+    method public static void LinearProgressIndicator(androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class RadioButtonKt {
+    ctor public RadioButtonKt();
+    method public static void RadioButton(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit>? onSelect, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondary);
+    method public static void RadioGroup(kotlin.jvm.functions.Function1<? super androidx.ui.material.RadioGroupScope,kotlin.Unit> children);
+    method public static void RadioGroup(java.util.List<java.lang.String> options, String? selectedOption, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> onSelectedChange, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class RadioGroupScope {
+    method public void RadioGroupItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public void RadioGroupTextItem(boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelect, String text, androidx.ui.graphics.Color radioColor = (+MaterialTheme.colors()).secondary, androidx.ui.text.TextStyle? textStyle = null);
+  }
+
+  public final class ShapeKt {
+    ctor public ShapeKt();
+  }
+
+  public final class Shapes {
+    ctor public Shapes(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    ctor public Shapes();
+    method public androidx.ui.engine.geometry.Shape component1();
+    method public androidx.ui.engine.geometry.Shape component2();
+    method public androidx.ui.material.Shapes copy(androidx.ui.engine.geometry.Shape button, androidx.ui.engine.geometry.Shape card);
+    method public androidx.ui.engine.geometry.Shape getButton();
+    method public androidx.ui.engine.geometry.Shape getCard();
+  }
+
+  public final class SliderKt {
+    ctor public SliderKt();
+    method public static void Slider(androidx.ui.material.SliderPosition position, kotlin.jvm.functions.Function1<? super java.lang.Float,kotlin.Unit>  position.value = it }, androidx.ui.core.Modifier modifier = Modifier.None, kotlin.jvm.functions.Function0<kotlin.Unit>  androidx.ui.graphics.Color color = (+MaterialTheme.colors()).primary);
+  }
+
+  public final class SliderPosition {
+    ctor public SliderPosition(float initial, kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> valueRange, @IntRange(from=null) int steps);
+    ctor public SliderPosition();
+    method public float getValue();
+    method public kotlin.ranges.ClosedFloatingPointRange<java.lang.Float> getValueRange();
+    method public void setValue(float value);
+    property public final float value;
+  }
+
+  public final class SnackbarKt {
+    ctor public SnackbarKt();
+    method public static void Snackbar(String text, String? actionText = null, kotlin.jvm.functions.Function0<kotlin.Unit>?  androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+    method public static void Snackbar(kotlin.jvm.functions.Function0<kotlin.Unit> text, kotlin.jvm.functions.Function0<kotlin.Unit>? action = null, androidx.ui.core.Modifier modifier = Modifier.None, boolean actionOnNewLine = false);
+  }
+
+  public final class SwitchKt {
+    ctor public SwitchKt();
+    method public static void Switch(boolean checked, kotlin.jvm.functions.Function1<? super java.lang.Boolean,kotlin.Unit>? onCheckedChange, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).secondaryVariant);
+  }
+
+  public final class TabKt {
+    ctor public TabKt();
+    method public static void Tab(String? text = null, androidx.ui.graphics.Image? icon = null, boolean selected, kotlin.jvm.functions.Function0<kotlin.Unit> onSelected);
+    method public static <T> void TabRow(java.util.List<? extends T> items, int selectedIndex, boolean scrollable = false, kotlin.jvm.functions.Function1<? super java.util.List<androidx.ui.material.TabRow.TabPosition>,kotlin.Unit> indicatorContainer = { tabPositions -> TabRow.IndicatorContainer(tabPositions, selectedIndex, { 
+    TabRow.Indicator()
+}) }, kotlin.jvm.functions.Function2<? super java.lang.Integer,? super T,kotlin.Unit> tab);
+  }
+
+  public final class TabRow {
+    method public void Indicator();
+    method public void IndicatorContainer(java.util.List<androidx.ui.material.TabRow.TabPosition> tabPositions, int selectedIndex, kotlin.jvm.functions.Function0<kotlin.Unit> indicator);
+    field public static final androidx.ui.material.TabRow! INSTANCE;
+  }
+
+  public static final class TabRow.TabPosition {
+    method public androidx.ui.core.IntPx component1();
+    method public androidx.ui.core.IntPx component2();
+    method public androidx.ui.material.TabRow.TabPosition copy(androidx.ui.core.IntPx left, androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx getLeft();
+    method public androidx.ui.core.IntPx getRight();
+    method public androidx.ui.core.IntPx getWidth();
+    property public final androidx.ui.core.IntPx right;
+  }
+
+  public final class TextKt {
+    ctor public TextKt();
+    method public static androidx.ui.text.TextStyle withOpacity(androidx.ui.text.TextStyle, @FloatRange(from=0.0, to=1.0) float opacity);
+  }
+
+  public final class Typography {
+    ctor public Typography(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    ctor public Typography();
+    method public androidx.ui.text.TextStyle component1();
+    method public androidx.ui.text.TextStyle component10();
+    method public androidx.ui.text.TextStyle component11();
+    method public androidx.ui.text.TextStyle component12();
+    method public androidx.ui.text.TextStyle component13();
+    method public androidx.ui.text.TextStyle component2();
+    method public androidx.ui.text.TextStyle component3();
+    method public androidx.ui.text.TextStyle component4();
+    method public androidx.ui.text.TextStyle component5();
+    method public androidx.ui.text.TextStyle component6();
+    method public androidx.ui.text.TextStyle component7();
+    method public androidx.ui.text.TextStyle component8();
+    method public androidx.ui.text.TextStyle component9();
+    method public androidx.ui.material.Typography copy(androidx.ui.text.TextStyle h1, androidx.ui.text.TextStyle h2, androidx.ui.text.TextStyle h3, androidx.ui.text.TextStyle h4, androidx.ui.text.TextStyle h5, androidx.ui.text.TextStyle h6, androidx.ui.text.TextStyle subtitle1, androidx.ui.text.TextStyle subtitle2, androidx.ui.text.TextStyle body1, androidx.ui.text.TextStyle body2, androidx.ui.text.TextStyle button, androidx.ui.text.TextStyle caption, androidx.ui.text.TextStyle overline);
+    method public androidx.ui.text.TextStyle getBody1();
+    method public androidx.ui.text.TextStyle getBody2();
+    method public androidx.ui.text.TextStyle getButton();
+    method public androidx.ui.text.TextStyle getCaption();
+    method public androidx.ui.text.TextStyle getH1();
+    method public androidx.ui.text.TextStyle getH2();
+    method public androidx.ui.text.TextStyle getH3();
+    method public androidx.ui.text.TextStyle getH4();
+    method public androidx.ui.text.TextStyle getH5();
+    method public androidx.ui.text.TextStyle getH6();
+    method public androidx.ui.text.TextStyle getOverline();
+    method public androidx.ui.text.TextStyle getSubtitle1();
+    method public androidx.ui.text.TextStyle getSubtitle2();
+  }
+
+  public final class TypographyKt {
+    ctor public TypographyKt();
+  }
+
+}
+
+package androidx.ui.material.internal {
+
+  public final class StateDraggableKt {
+    ctor public StateDraggableKt();
+  }
+
+}
+
+package androidx.ui.material.ripple {
+
+  public final class DefaultRippleEffectFactory implements androidx.ui.material.ripple.RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+    field public static final androidx.ui.material.ripple.DefaultRippleEffectFactory! INSTANCE;
+  }
+
+  public final class DefaultRippleEffectKt {
+    ctor public DefaultRippleEffectKt();
+  }
+
+  public interface RippleEffect {
+    method public void dispose();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color color);
+    method public void finish(boolean canceled);
+  }
+
+  public interface RippleEffectFactory {
+    method public androidx.ui.material.ripple.RippleEffect create(androidx.ui.core.LayoutCoordinates coordinates, androidx.ui.core.PxPosition startPosition, androidx.ui.core.Density density, androidx.ui.core.Dp? radius, boolean clipped, kotlin.jvm.functions.Function0<kotlin.Unit> requestRedraw, kotlin.jvm.functions.Function1<? super androidx.ui.material.ripple.RippleEffect,kotlin.Unit> onAnimationFinished);
+  }
+
+  public final class RippleKt {
+    ctor public RippleKt();
+    method public static void Ripple(boolean bounded, androidx.ui.core.Dp? radius = null, androidx.ui.graphics.Color? color = null, boolean enabled = true, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class RippleTheme {
+    ctor public RippleTheme(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.ui.material.ripple.RippleEffectFactory component1();
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> component2();
+    method public androidx.compose.Effect<java.lang.Float> component3();
+    method public androidx.ui.material.ripple.RippleTheme copy(androidx.ui.material.ripple.RippleEffectFactory factory, androidx.compose.Effect<androidx.ui.graphics.Color> defaultColor, androidx.compose.Effect<java.lang.Float> opacity);
+    method public androidx.compose.Effect<androidx.ui.graphics.Color> getDefaultColor();
+    method public androidx.ui.material.ripple.RippleEffectFactory getFactory();
+    method public androidx.compose.Effect<java.lang.Float> getOpacity();
+  }
+
+  public final class RippleThemeKt {
+    ctor public RippleThemeKt();
+    method public static androidx.compose.Ambient<androidx.ui.material.ripple.RippleTheme> getCurrentRippleTheme();
+  }
+
+}
+
+package androidx.ui.material.surface {
+
+  public final class CardKt {
+    ctor public CardKt();
+    method public static void Card(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = card, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var var1e11522: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (var1e11522 != null) var1e11522 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 1.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+  public final class SurfaceKt {
+    ctor public SurfaceKt();
+    method public static void Surface(androidx.ui.core.Modifier modifier = Modifier.None, androidx.ui.engine.geometry.Shape shape = RectangleShape, androidx.ui.graphics.Color color = (+MaterialTheme.colors()).surface, androidx.ui.graphics.Color contentColor = elvis {
+    @null var varcd50b103: androidx.ui.graphics.Color = (+MaterialTheme.colors()).contentColorFor(color)
+    if (varcd50b103 != null) varcd50b103 else contentColor()
+}, androidx.ui.foundation.shape.border.Border? border = null, androidx.ui.core.Dp elevation = 0.dp, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
diff --git a/ui/ui-platform/api/0.1.0-dev04.txt b/ui/ui-platform/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..bbf059a
--- /dev/null
+++ b/ui/ui-platform/api/0.1.0-dev04.txt
@@ -0,0 +1,507 @@
+// Signature format: 3.0
+package androidx.ui.autofill {
+
+  public final class AndroidAutofillDebugUtilsKt {
+    ctor public AndroidAutofillDebugUtilsKt();
+  }
+
+  public final class AndroidAutofillKt {
+    ctor public AndroidAutofillKt();
+  }
+
+}
+
+package androidx.ui.core {
+
+  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
+    ctor public AndroidComposeView(android.content.Context context);
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void sendEvent(android.view.MotionEvent event);
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
+    property public final androidx.ui.autofill.Autofill? autofill;
+    property public final androidx.ui.autofill.AutofillTree autofillTree;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.Density density;
+    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public long measureIteration;
+    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
+    property public final androidx.ui.core.LayoutNode root;
+    property public final androidx.ui.input.TextInputService textInputService;
+  }
+
+  public final class AndroidOwnerKt {
+    ctor public AndroidOwnerKt();
+  }
+
+  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
+    method public void emitMove(int from, int to, int count);
+    method public void emitRemoveAt(int index, int count);
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+  }
+
+  public final class ComponentNodesKt {
+    ctor public ComponentNodesKt();
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
+    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    ctor public DebugUtilsKt();
+    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
+  public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor public FocusNode();
+    method public boolean captureFocus();
+    method public boolean freeFocus();
+    method public androidx.ui.focus.FocusDetailedState getFocusState();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
+    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
+    method public void requestFocus(boolean propagateFocus = true);
+    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
+    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
+    property public final androidx.ui.focus.FocusDetailedState focusState;
+    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
+    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
+  }
+
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.IntPxPosition getContentPosition();
+    method public androidx.ui.core.IntPxSize getContentSize();
+    method public androidx.ui.core.IntPx getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.IntPxPosition getModifiedPosition();
+    method public androidx.ui.core.IntPxSize getModifiedSize();
+    method public androidx.ui.core.Modifier getModifier();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public androidx.ui.core.IntPx getWidth();
+    method public androidx.ui.core.IntPx getX();
+    method public androidx.ui.core.IntPx getY();
+    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void placeChildren();
+    method public void requestRemeasure();
+    method public void setAffectsParentSize(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setMeasuring(boolean p);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property public final androidx.ui.core.Constraints constraints;
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.IntPxPosition contentPosition;
+    property public final androidx.ui.core.IntPxSize contentSize;
+    property public final androidx.ui.core.IntPx height;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.IntPxPosition modifiedPosition;
+    property public final androidx.ui.core.IntPxSize modifiedSize;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final androidx.ui.core.IntPx width;
+    property public final androidx.ui.core.IntPx x;
+    property public final androidx.ui.core.IntPx y;
+  }
+
+  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
+    ctor public LayoutNode.InnerMeasureScope();
+    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
+    property public abstract androidx.ui.core.LayoutNode layoutNode;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public interface Owner {
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public androidx.ui.core.Density getDensity();
+    method public long getMeasureIteration();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract long measureIteration;
+  }
+
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class Ref<T> {
+    ctor public Ref();
+    method public T? getValue();
+    method public void setValue(T? p);
+    property public final T? value;
+  }
+
+  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
+    ctor public RepaintBoundaryNode(String? name);
+    method public boolean getClipToShape();
+    method public androidx.ui.core.Dp getElevation();
+    method public String? getName();
+    method public float getOpacity();
+    method public androidx.ui.engine.geometry.Shape? getShape();
+    method public void setClipToShape(boolean value);
+    method public void setElevation(androidx.ui.core.Dp value);
+    method public void setOpacity(float value);
+    method public void setShape(androidx.ui.engine.geometry.Shape? value);
+    property public final boolean clipToShape;
+    property public final androidx.ui.core.Dp elevation;
+    property public final float opacity;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+    property public final androidx.ui.engine.geometry.Shape? shape;
+  }
+
+  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
+    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
+    ctor public SemanticsComponentNode();
+    method public boolean getContainer();
+    method public boolean getExplicitChildNodes();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    method public void setContainer(boolean p);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
+    property public final boolean container;
+    property public final boolean explicitChildNodes;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public interface SemanticsTreeNode {
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
+    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
+  }
+
+  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
+    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
+    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public androidx.ui.engine.geometry.Rect? globalRect;
+  }
+
+  public final class SemanticsTreeNodeImplKt {
+    ctor public SemanticsTreeNodeImplKt();
+  }
+
+  public interface SemanticsTreeProvider {
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public void sendEvent(android.view.MotionEvent event);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusNodeUtilsKt {
+    ctor public FocusNodeUtilsKt();
+    method public static void initializeFocusState(androidx.ui.core.FocusNode);
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class HitPathTrackerKt {
+    ctor public HitPathTrackerKt();
+  }
+
+  public final class MotionEventAdapterKt {
+    ctor public MotionEventAdapterKt();
+  }
+
+  public final class PointerInputEventData {
+    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+    ctor public PointerInputEventProcessorKt();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public boolean getExplicitChildNodes();
+    method public boolean getHasBeenAnnotated();
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean explicitChildNodes;
+    property public final boolean hasBeenAnnotated;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    ctor public SemanticsConfigurationKt();
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public final class SemanticsNode {
+    ctor public SemanticsNode();
+    method public boolean getAttached();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public int getChildrenCount();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public int getDepth();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public boolean getMergeAllDescendantsIntoThisNode();
+    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
+    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
+    method public androidx.ui.engine.geometry.Rect getRect();
+    method public boolean isInvisible();
+    method public boolean isMergedIntoParent();
+    method public boolean isPartOfNodeMerging();
+    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
+    method public void redepthChildren();
+    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
+    method public void setMergedIntoParent(boolean value);
+    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
+    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setRect(androidx.ui.engine.geometry.Rect value);
+    property public final boolean attached;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final int childrenCount;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final int depth;
+    property public final boolean hasChildren;
+    property public final boolean isInvisible;
+    property public final boolean isMergedIntoParent;
+    property public final boolean isPartOfNodeMerging;
+    property public final boolean mergeAllDescendantsIntoThisNode;
+    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
+    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
+    property public final androidx.ui.engine.geometry.Rect rect;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
+  }
+
+  public final class SemanticsNodeKt {
+    ctor public SemanticsNodeKt();
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner();
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+    ctor public InputStateKt();
+  }
+
+  public final class RecordingInputConnectionKt {
+    ctor public RecordingInputConnectionKt();
+  }
+
+}
+
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    ctor public CoroutineUtilsKt();
+    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
diff --git a/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..bbf059a
--- /dev/null
+++ b/ui/ui-platform/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,507 @@
+// Signature format: 3.0
+package androidx.ui.autofill {
+
+  public final class AndroidAutofillDebugUtilsKt {
+    ctor public AndroidAutofillDebugUtilsKt();
+  }
+
+  public final class AndroidAutofillKt {
+    ctor public AndroidAutofillKt();
+  }
+
+}
+
+package androidx.ui.core {
+
+  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
+    ctor public AndroidComposeView(android.content.Context context);
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void sendEvent(android.view.MotionEvent event);
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
+    property public final androidx.ui.autofill.Autofill? autofill;
+    property public final androidx.ui.autofill.AutofillTree autofillTree;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.Density density;
+    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public long measureIteration;
+    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
+    property public final androidx.ui.core.LayoutNode root;
+    property public final androidx.ui.input.TextInputService textInputService;
+  }
+
+  public final class AndroidOwnerKt {
+    ctor public AndroidOwnerKt();
+  }
+
+  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
+    method public void emitMove(int from, int to, int count);
+    method public void emitRemoveAt(int index, int count);
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+  }
+
+  public final class ComponentNodesKt {
+    ctor public ComponentNodesKt();
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
+    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    ctor public DebugUtilsKt();
+    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
+  public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor public FocusNode();
+    method public boolean captureFocus();
+    method public boolean freeFocus();
+    method public androidx.ui.focus.FocusDetailedState getFocusState();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
+    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
+    method public void requestFocus(boolean propagateFocus = true);
+    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
+    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
+    property public final androidx.ui.focus.FocusDetailedState focusState;
+    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
+    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
+  }
+
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.IntPxPosition getContentPosition();
+    method public androidx.ui.core.IntPxSize getContentSize();
+    method public androidx.ui.core.IntPx getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.IntPxPosition getModifiedPosition();
+    method public androidx.ui.core.IntPxSize getModifiedSize();
+    method public androidx.ui.core.Modifier getModifier();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public androidx.ui.core.IntPx getWidth();
+    method public androidx.ui.core.IntPx getX();
+    method public androidx.ui.core.IntPx getY();
+    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void placeChildren();
+    method public void requestRemeasure();
+    method public void setAffectsParentSize(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setMeasuring(boolean p);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property public final androidx.ui.core.Constraints constraints;
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.IntPxPosition contentPosition;
+    property public final androidx.ui.core.IntPxSize contentSize;
+    property public final androidx.ui.core.IntPx height;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.IntPxPosition modifiedPosition;
+    property public final androidx.ui.core.IntPxSize modifiedSize;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final androidx.ui.core.IntPx width;
+    property public final androidx.ui.core.IntPx x;
+    property public final androidx.ui.core.IntPx y;
+  }
+
+  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
+    ctor public LayoutNode.InnerMeasureScope();
+    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
+    property public abstract androidx.ui.core.LayoutNode layoutNode;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public interface Owner {
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public androidx.ui.core.Density getDensity();
+    method public long getMeasureIteration();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract long measureIteration;
+  }
+
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class Ref<T> {
+    ctor public Ref();
+    method public T? getValue();
+    method public void setValue(T? p);
+    property public final T? value;
+  }
+
+  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
+    ctor public RepaintBoundaryNode(String? name);
+    method public boolean getClipToShape();
+    method public androidx.ui.core.Dp getElevation();
+    method public String? getName();
+    method public float getOpacity();
+    method public androidx.ui.engine.geometry.Shape? getShape();
+    method public void setClipToShape(boolean value);
+    method public void setElevation(androidx.ui.core.Dp value);
+    method public void setOpacity(float value);
+    method public void setShape(androidx.ui.engine.geometry.Shape? value);
+    property public final boolean clipToShape;
+    property public final androidx.ui.core.Dp elevation;
+    property public final float opacity;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+    property public final androidx.ui.engine.geometry.Shape? shape;
+  }
+
+  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
+    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
+    ctor public SemanticsComponentNode();
+    method public boolean getContainer();
+    method public boolean getExplicitChildNodes();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    method public void setContainer(boolean p);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
+    property public final boolean container;
+    property public final boolean explicitChildNodes;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public interface SemanticsTreeNode {
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
+    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
+  }
+
+  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
+    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
+    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public androidx.ui.engine.geometry.Rect? globalRect;
+  }
+
+  public final class SemanticsTreeNodeImplKt {
+    ctor public SemanticsTreeNodeImplKt();
+  }
+
+  public interface SemanticsTreeProvider {
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public void sendEvent(android.view.MotionEvent event);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusNodeUtilsKt {
+    ctor public FocusNodeUtilsKt();
+    method public static void initializeFocusState(androidx.ui.core.FocusNode);
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class HitPathTrackerKt {
+    ctor public HitPathTrackerKt();
+  }
+
+  public final class MotionEventAdapterKt {
+    ctor public MotionEventAdapterKt();
+  }
+
+  public final class PointerInputEventData {
+    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+    ctor public PointerInputEventProcessorKt();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public boolean getExplicitChildNodes();
+    method public boolean getHasBeenAnnotated();
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean explicitChildNodes;
+    property public final boolean hasBeenAnnotated;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    ctor public SemanticsConfigurationKt();
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public final class SemanticsNode {
+    ctor public SemanticsNode();
+    method public boolean getAttached();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public int getChildrenCount();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public int getDepth();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public boolean getMergeAllDescendantsIntoThisNode();
+    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
+    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
+    method public androidx.ui.engine.geometry.Rect getRect();
+    method public boolean isInvisible();
+    method public boolean isMergedIntoParent();
+    method public boolean isPartOfNodeMerging();
+    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
+    method public void redepthChildren();
+    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
+    method public void setMergedIntoParent(boolean value);
+    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
+    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setRect(androidx.ui.engine.geometry.Rect value);
+    property public final boolean attached;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final int childrenCount;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final int depth;
+    property public final boolean hasChildren;
+    property public final boolean isInvisible;
+    property public final boolean isMergedIntoParent;
+    property public final boolean isPartOfNodeMerging;
+    property public final boolean mergeAllDescendantsIntoThisNode;
+    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
+    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
+    property public final androidx.ui.engine.geometry.Rect rect;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
+  }
+
+  public final class SemanticsNodeKt {
+    ctor public SemanticsNodeKt();
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner();
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+    ctor public InputStateKt();
+  }
+
+  public final class RecordingInputConnectionKt {
+    ctor public RecordingInputConnectionKt();
+  }
+
+}
+
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    ctor public CoroutineUtilsKt();
+    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
diff --git a/ui/ui-platform/api/res-0.1.0-dev04.txt b/ui/ui-platform/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-platform/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-platform/api/restricted_0.1.0-dev04.txt b/ui/ui-platform/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..bbf059a
--- /dev/null
+++ b/ui/ui-platform/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,507 @@
+// Signature format: 3.0
+package androidx.ui.autofill {
+
+  public final class AndroidAutofillDebugUtilsKt {
+    ctor public AndroidAutofillDebugUtilsKt();
+  }
+
+  public final class AndroidAutofillKt {
+    ctor public AndroidAutofillKt();
+  }
+
+}
+
+package androidx.ui.core {
+
+  public final class AndroidComposeView extends android.view.ViewGroup implements androidx.ui.core.DensityScope androidx.ui.core.Owner androidx.ui.core.SemanticsTreeProvider {
+    ctor public AndroidComposeView(android.content.Context context);
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public androidx.ui.autofill.Autofill? getAutofill();
+    method public androidx.ui.autofill.AutofillTree getAutofillTree();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getConfigurationChangeObserver();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.Density getDensity();
+    method public androidx.ui.text.font.Font.ResourceLoader getFontLoader();
+    method public long getMeasureIteration();
+    method public androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? getRef();
+    method public androidx.ui.core.LayoutNode getRoot();
+    method public androidx.ui.input.TextInputService getTextInputService();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void sendEvent(android.view.MotionEvent event);
+    method public void setConfigurationChangeObserver(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? value);
+    property public final androidx.ui.autofill.Autofill? autofill;
+    property public final androidx.ui.autofill.AutofillTree autofillTree;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> configurationChangeObserver;
+    property public final androidx.ui.core.Constraints constraints;
+    property public androidx.ui.core.Density density;
+    property public final androidx.ui.text.font.Font.ResourceLoader fontLoader;
+    property public long measureIteration;
+    property public final androidx.ui.core.Ref<androidx.ui.core.AndroidComposeView>? ref;
+    property public final androidx.ui.core.LayoutNode root;
+    property public final androidx.ui.input.TextInputService textInputService;
+  }
+
+  public final class AndroidOwnerKt {
+    ctor public AndroidOwnerKt();
+  }
+
+  public abstract sealed class ComponentNode implements androidx.compose.Emittable {
+    method public void attach(androidx.ui.core.Owner owner);
+    method public void detach();
+    method public void emitInsertAt(int index, androidx.compose.Emittable instance);
+    method public void emitMove(int from, int to, int count);
+    method public void emitRemoveAt(int index, int count);
+    method public final operator androidx.ui.core.ComponentNode get(int index);
+    method protected androidx.ui.core.LayoutNode? getContainingLayoutNode();
+    method public final int getCount();
+    method public final int getDepth();
+    method public final androidx.ui.core.Owner? getOwner();
+    method public final Object? getOwnerData();
+    method public final androidx.ui.core.ComponentNode? getParent();
+    method public androidx.ui.core.LayoutNode? getParentLayoutNode();
+    method public androidx.ui.core.RepaintBoundaryNode? getRepaintBoundary();
+    method public final void setDepth(int p);
+    method public final void setOwnerData(Object? p);
+    method public final inline void visitChildren(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    method public final inline void visitChildrenReverse(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,kotlin.Unit> block);
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final int count;
+    property public final int depth;
+    property public final androidx.ui.core.Owner? owner;
+    property public final Object? ownerData;
+    property public final androidx.ui.core.ComponentNode? parent;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+  }
+
+  public final class ComponentNodesKt {
+    ctor public ComponentNodesKt();
+    method public static void add(androidx.ui.core.ComponentNode, androidx.ui.core.ComponentNode child);
+    method public static androidx.ui.core.PxPosition childToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode child, androidx.ui.core.PxPosition childLocal);
+    method public static androidx.ui.core.ComponentNode? findClosestParentNode(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public static androidx.ui.core.LayoutNode? findLastLayoutChild(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,java.lang.Boolean> block);
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnChildPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<kotlin.jvm.functions.Function1<androidx.ui.core.LayoutCoordinates,kotlin.Unit>> getOnPositionedKey();
+    method public static androidx.ui.core.DataNodeKey<java.lang.Object> getParentDataKey();
+    method public static androidx.ui.core.PxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition global, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition globalToLocal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition global, boolean withOwnerOffset = true);
+    method public static boolean hasNoLayoutDescendants(androidx.ui.core.ComponentNode);
+    method public static boolean isAttached(androidx.ui.core.ComponentNode);
+    method public static androidx.ui.core.PxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.PxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.IntPxPosition localToGlobal(androidx.ui.core.LayoutNode, androidx.ui.core.IntPxPosition local, boolean withOwnerOffset = true);
+    method public static androidx.ui.core.PxPosition positionRelativeToAncestor(androidx.ui.core.LayoutNode, androidx.ui.core.LayoutNode ancestor);
+    method public static androidx.ui.core.IntPxPosition positionRelativeToRoot(androidx.ui.core.LayoutNode);
+    method public static androidx.ui.core.Owner requireOwner(androidx.ui.core.ComponentNode);
+    method public static void visitLayoutChildren(androidx.ui.core.ComponentNode, kotlin.jvm.functions.Function1<? super androidx.ui.core.LayoutNode,kotlin.Unit> block);
+  }
+
+  public final class DataNode<T> extends androidx.ui.core.ComponentNode {
+    ctor public DataNode(androidx.ui.core.DataNodeKey<T> key, T! value);
+    method public androidx.ui.core.DataNodeKey<T> getKey();
+    method public T! getValue();
+    method public void setValue(T? p);
+  }
+
+  public final class DataNodeKey<T> {
+    ctor public DataNodeKey(String name);
+    method public String getName();
+  }
+
+  public final class DebugUtilsKt {
+    ctor public DebugUtilsKt();
+    method public static inline void ifDebug(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+  public final class DrawNode extends androidx.ui.core.ComponentNode {
+    ctor public DrawNode();
+    method public boolean getNeedsPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaint();
+    method public kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? getOnPaintWithChildren();
+    method public void invalidate();
+    method public void setNeedsPaint(boolean p);
+    method public void setOnPaint(kotlin.jvm.functions.Function3<? super androidx.ui.core.DensityScope,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    method public void setOnPaintWithChildren(kotlin.jvm.functions.Function3<? super androidx.ui.core.DrawReceiver,? super androidx.ui.graphics.Canvas,? super androidx.ui.core.PxSize,kotlin.Unit>? value);
+    property public final boolean needsPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DensityScope,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaint;
+    property public final kotlin.jvm.functions.Function3<androidx.ui.core.DrawReceiver,androidx.ui.graphics.Canvas,androidx.ui.core.PxSize,kotlin.Unit>? onPaintWithChildren;
+  }
+
+  public final class FocusNode extends androidx.ui.core.ComponentNode {
+    ctor public FocusNode();
+    method public boolean captureFocus();
+    method public boolean freeFocus();
+    method public androidx.ui.focus.FocusDetailedState getFocusState();
+    method public androidx.ui.core.LayoutCoordinates? getLayoutCoordinates();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getRecompose();
+    method public androidx.ui.core.Ref<androidx.ui.core.FocusNode>? getRef();
+    method public void requestFocus(boolean propagateFocus = true);
+    method public void setLayoutCoordinates(androidx.ui.core.LayoutCoordinates? p);
+    method public void setRecompose(kotlin.jvm.functions.Function0<kotlin.Unit> value);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.FocusNode>? value);
+    property public final androidx.ui.focus.FocusDetailedState focusState;
+    property public final androidx.ui.core.LayoutCoordinates? layoutCoordinates;
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> recompose;
+    property public final androidx.ui.core.Ref<androidx.ui.core.FocusNode>? ref;
+  }
+
+  public final class LayoutNode extends androidx.ui.core.ComponentNode implements androidx.ui.core.Measurable {
+    ctor public LayoutNode();
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.Density density);
+    method public boolean getAffectsParentSize();
+    method public androidx.ui.core.Constraints getConstraints();
+    method public androidx.ui.core.IntPxPosition getContentPosition();
+    method public androidx.ui.core.IntPxSize getContentSize();
+    method public androidx.ui.core.IntPx getHeight();
+    method public java.util.List<androidx.ui.core.LayoutNode> getLayoutChildren();
+    method public androidx.ui.core.LayoutNode.MeasureBlocks getMeasureBlocks();
+    method public androidx.ui.core.MeasureScope getMeasureScope();
+    method public androidx.ui.core.IntPxPosition getModifiedPosition();
+    method public androidx.ui.core.IntPxSize getModifiedSize();
+    method public androidx.ui.core.Modifier getModifier();
+    method public boolean getNeedsRelayout();
+    method public boolean getNeedsRemeasure();
+    method public Object? getParentData();
+    method public boolean getPositionedDuringMeasurePass();
+    method public androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? getRef();
+    method public androidx.ui.core.IntPx getWidth();
+    method public androidx.ui.core.IntPx getX();
+    method public androidx.ui.core.IntPx getY();
+    method public inline void ignoreModelReads(kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public boolean isMeasuring();
+    method public boolean isPlaced();
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public androidx.ui.core.Placeable measure(androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.IntPx width);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.IntPx height);
+    method public void place(androidx.ui.core.IntPx x, androidx.ui.core.IntPx y);
+    method public void placeChildren();
+    method public void requestRemeasure();
+    method public void setAffectsParentSize(boolean p);
+    method public void setConstraints(androidx.ui.core.Constraints p);
+    method public void setMeasureBlocks(androidx.ui.core.LayoutNode.MeasureBlocks value);
+    method public void setMeasuring(boolean p);
+    method public void setModifier(androidx.ui.core.Modifier value);
+    method public void setPositionedDuringMeasurePass(boolean p);
+    method public void setRef(androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? value);
+    property public final boolean affectsParentSize;
+    property public final androidx.ui.core.Constraints constraints;
+    property protected androidx.ui.core.LayoutNode? containingLayoutNode;
+    property public final androidx.ui.core.IntPxPosition contentPosition;
+    property public final androidx.ui.core.IntPxSize contentSize;
+    property public final androidx.ui.core.IntPx height;
+    property public final boolean isMeasuring;
+    property public final boolean isPlaced;
+    property public final java.util.List<androidx.ui.core.LayoutNode> layoutChildren;
+    property public final androidx.ui.core.LayoutNode.MeasureBlocks measureBlocks;
+    property public final androidx.ui.core.MeasureScope measureScope;
+    property public final androidx.ui.core.IntPxPosition modifiedPosition;
+    property public final androidx.ui.core.IntPxSize modifiedSize;
+    property public final androidx.ui.core.Modifier modifier;
+    property public final boolean needsRelayout;
+    property public final boolean needsRemeasure;
+    property public Object? parentData;
+    property public androidx.ui.core.LayoutNode? parentLayoutNode;
+    property public final boolean positionedDuringMeasurePass;
+    property public final androidx.ui.core.Ref<androidx.ui.core.LayoutNode>? ref;
+    property public final androidx.ui.core.IntPx width;
+    property public final androidx.ui.core.IntPx x;
+    property public final androidx.ui.core.IntPx y;
+  }
+
+  public abstract static class LayoutNode.InnerMeasureScope extends androidx.ui.core.MeasureScope {
+    ctor public LayoutNode.InnerMeasureScope();
+    method public abstract androidx.ui.core.LayoutNode getLayoutNode();
+    property public abstract androidx.ui.core.LayoutNode layoutNode;
+  }
+
+  public static interface LayoutNode.MeasureBlocks {
+    method public androidx.ui.core.IntPx maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public androidx.ui.core.MeasureScope.LayoutResult measure(androidx.ui.core.MeasureScope measureScope, java.util.List<? extends androidx.ui.core.Measurable> measurables, androidx.ui.core.Constraints constraints);
+    method public androidx.ui.core.IntPx minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public androidx.ui.core.IntPx minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public abstract static class LayoutNode.NoIntristicsMeasureBlocks implements androidx.ui.core.LayoutNode.MeasureBlocks {
+    ctor public LayoutNode.NoIntristicsMeasureBlocks(String error);
+    method public Void maxIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void maxIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+    method public Void minIntrinsicHeight(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx w);
+    method public Void minIntrinsicWidth(androidx.ui.core.DensityScope densityScope, java.util.List<? extends androidx.ui.core.IntrinsicMeasurable> measurables, androidx.ui.core.IntPx h);
+  }
+
+  public interface Owner {
+    method public androidx.ui.core.IntPxPosition calculatePosition();
+    method public void callDraw(androidx.ui.graphics.Canvas canvas, androidx.ui.core.ComponentNode node, androidx.ui.core.PxSize parentSize);
+    method public void enableModelReadObserving(boolean enabled);
+    method public androidx.ui.core.Density getDensity();
+    method public long getMeasureIteration();
+    method public void onAttach(androidx.ui.core.ComponentNode node);
+    method public void onDetach(androidx.ui.core.ComponentNode node);
+    method public void onEndLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onEndMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onInvalidate(androidx.ui.core.DrawNode drawNode);
+    method public void onPositionChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onRepaintBoundaryParamsChange(androidx.ui.core.RepaintBoundaryNode repaintBoundaryNode);
+    method public void onRequestMeasure(androidx.ui.core.LayoutNode layoutNode);
+    method public void onSizeChange(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartLayout(androidx.ui.core.LayoutNode layoutNode);
+    method public void onStartMeasure(androidx.ui.core.LayoutNode layoutNode);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract long measureIteration;
+  }
+
+  public final class PointerInputNode extends androidx.ui.core.ComponentNode {
+    ctor public PointerInputNode();
+    method public kotlin.jvm.functions.Function0<kotlin.Unit> getCancelHandler();
+    method public kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> getPointerInputHandler();
+    method public void setCancelHandler(kotlin.jvm.functions.Function0<kotlin.Unit> p);
+    method public void setPointerInputHandler(kotlin.jvm.functions.Function3<? super java.util.List<androidx.ui.core.PointerInputChange>,? super androidx.ui.core.PointerEventPass,? super androidx.ui.core.IntPxSize,? extends java.util.List<androidx.ui.core.PointerInputChange>> p);
+    property public final kotlin.jvm.functions.Function0<kotlin.Unit> cancelHandler;
+    property public final kotlin.jvm.functions.Function3<java.util.List<androidx.ui.core.PointerInputChange>,androidx.ui.core.PointerEventPass,androidx.ui.core.IntPxSize,java.util.List<androidx.ui.core.PointerInputChange>> pointerInputHandler;
+  }
+
+  public final class Ref<T> {
+    ctor public Ref();
+    method public T? getValue();
+    method public void setValue(T? p);
+    property public final T? value;
+  }
+
+  public final class RepaintBoundaryNode extends androidx.ui.core.ComponentNode {
+    ctor public RepaintBoundaryNode(String? name);
+    method public boolean getClipToShape();
+    method public androidx.ui.core.Dp getElevation();
+    method public String? getName();
+    method public float getOpacity();
+    method public androidx.ui.engine.geometry.Shape? getShape();
+    method public void setClipToShape(boolean value);
+    method public void setElevation(androidx.ui.core.Dp value);
+    method public void setOpacity(float value);
+    method public void setShape(androidx.ui.engine.geometry.Shape? value);
+    property public final boolean clipToShape;
+    property public final androidx.ui.core.Dp elevation;
+    property public final float opacity;
+    property public androidx.ui.core.RepaintBoundaryNode? repaintBoundary;
+    property public final androidx.ui.engine.geometry.Shape? shape;
+  }
+
+  public final class SemanticsComponentNode extends androidx.ui.core.ComponentNode {
+    ctor public SemanticsComponentNode(androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration, boolean container, boolean explicitChildNodes);
+    ctor public SemanticsComponentNode();
+    method public boolean getContainer();
+    method public boolean getExplicitChildNodes();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getSemanticsConfiguration();
+    method public void setContainer(boolean p);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setSemanticsConfiguration(androidx.ui.core.semantics.SemanticsConfiguration p);
+    property public final boolean container;
+    property public final boolean explicitChildNodes;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration semanticsConfiguration;
+  }
+
+  public interface SemanticsTreeNode {
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public abstract java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public abstract androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public abstract androidx.ui.engine.geometry.Rect? globalRect;
+    property public abstract androidx.ui.core.SemanticsTreeNode? parent;
+  }
+
+  public final class SemanticsTreeNodeImpl implements androidx.ui.core.SemanticsTreeNode {
+    ctor public SemanticsTreeNodeImpl(androidx.ui.core.SemanticsTreeNode? parent, androidx.ui.core.SemanticsComponentNode semanticsComponentNode);
+    method public void addChild(androidx.ui.core.SemanticsTreeNode child);
+    method public androidx.ui.core.ComponentNode? findClosestParentNode(kotlin.jvm.functions.Function1<? super androidx.ui.core.ComponentNode,java.lang.Boolean> selector);
+    method public java.util.Set<androidx.ui.core.SemanticsTreeNode> getChildren();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getData();
+    method public androidx.ui.engine.geometry.Rect? getGlobalRect();
+    method public androidx.ui.core.SemanticsTreeNode? getParent();
+    property public java.util.Set<androidx.ui.core.SemanticsTreeNode> children;
+    property public androidx.ui.core.semantics.SemanticsConfiguration data;
+    property public androidx.ui.engine.geometry.Rect? globalRect;
+  }
+
+  public final class SemanticsTreeNodeImplKt {
+    ctor public SemanticsTreeNodeImplKt();
+  }
+
+  public interface SemanticsTreeProvider {
+    method public java.util.List<androidx.ui.core.SemanticsTreeNode> getAllSemanticNodes();
+    method public void sendEvent(android.view.MotionEvent event);
+  }
+
+}
+
+package androidx.ui.core.focus {
+
+  public final class FocusNodeUtilsKt {
+    ctor public FocusNodeUtilsKt();
+    method public static void initializeFocusState(androidx.ui.core.FocusNode);
+  }
+
+}
+
+package androidx.ui.core.pointerinput {
+
+  public final class HitPathTrackerKt {
+    ctor public HitPathTrackerKt();
+  }
+
+  public final class MotionEventAdapterKt {
+    ctor public MotionEventAdapterKt();
+  }
+
+  public final class PointerInputEventData {
+    ctor public PointerInputEventData(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int component1();
+    method public androidx.ui.core.PointerInputData component2();
+    method public androidx.ui.core.pointerinput.PointerInputEventData copy(int id, androidx.ui.core.PointerInputData pointerInputData);
+    method public int getId();
+    method public androidx.ui.core.PointerInputData getPointerInputData();
+  }
+
+  public final class PointerInputEventProcessorKt {
+    ctor public PointerInputEventProcessorKt();
+  }
+
+}
+
+package androidx.ui.core.semantics {
+
+  public final class SemanticsConfiguration implements java.lang.Iterable<java.util.Map.Entry<? extends androidx.ui.semantics.SemanticsPropertyKey<?>,?>> kotlin.jvm.internal.markers.KMappedMarker androidx.ui.semantics.SemanticsPropertyReceiver {
+    ctor public SemanticsConfiguration();
+    method public operator <T> boolean contains(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public androidx.ui.core.semantics.SemanticsConfiguration copy();
+    method public operator <T> T! get(androidx.ui.semantics.SemanticsPropertyKey<T> key);
+    method public boolean getExplicitChildNodes();
+    method public boolean getHasBeenAnnotated();
+    method public <T> T! getOrElse(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public <T> T? getOrElseNullable(androidx.ui.semantics.SemanticsPropertyKey<T> key, kotlin.jvm.functions.Function0<? extends T> defaultValue);
+    method public boolean isMergingSemanticsOfDescendants();
+    method public boolean isSemanticBoundary();
+    method public java.util.Iterator<java.util.Map.Entry<androidx.ui.semantics.SemanticsPropertyKey<?>,java.lang.Object>> iterator();
+    method public <T> void set(androidx.ui.semantics.SemanticsPropertyKey<T> key, T? value);
+    method public void setExplicitChildNodes(boolean p);
+    method public void setMergingSemanticsOfDescendants(boolean value);
+    method public void setSemanticBoundary(boolean value);
+    property public final boolean explicitChildNodes;
+    property public final boolean hasBeenAnnotated;
+    property public final boolean isMergingSemanticsOfDescendants;
+    property public final boolean isSemanticBoundary;
+  }
+
+  public final class SemanticsConfigurationKt {
+    ctor public SemanticsConfigurationKt();
+    method public static <T> T? getOrNull(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.semantics.SemanticsPropertyKey<T> key);
+  }
+
+  public final class SemanticsHintOverrides {
+    ctor public SemanticsHintOverrides(String? onTapHint, String? onLongPressHint);
+    method public String? component1();
+    method public String? component2();
+    method public androidx.ui.core.semantics.SemanticsHintOverrides copy(String? onTapHint, String? onLongPressHint);
+    method public String? getOnLongPressHint();
+    method public String? getOnTapHint();
+    method public boolean isNotEmpty();
+    property public final boolean isNotEmpty;
+  }
+
+  public final class SemanticsNode {
+    ctor public SemanticsNode();
+    method public boolean getAttached();
+    method public java.util.List<androidx.ui.core.semantics.SemanticsNode> getChildren();
+    method public int getChildrenCount();
+    method public androidx.ui.core.semantics.SemanticsConfiguration getConfig();
+    method public int getDepth();
+    method public boolean getHasChildren();
+    method public int getId();
+    method public boolean getMergeAllDescendantsIntoThisNode();
+    method public androidx.ui.core.semantics.SemanticsOwner? getOwner();
+    method public androidx.ui.core.semantics.SemanticsNode? getParent();
+    method public androidx.ui.engine.geometry.Rect? getParentPaintClipRect();
+    method public androidx.ui.engine.geometry.Rect? getParentSemanticsClipRect();
+    method public androidx.ui.engine.geometry.Rect getRect();
+    method public boolean isInvisible();
+    method public boolean isMergedIntoParent();
+    method public boolean isPartOfNodeMerging();
+    method public void redepthChild(androidx.ui.core.semantics.SemanticsNode child);
+    method public void redepthChildren();
+    method public void setChildren(java.util.List<androidx.ui.core.semantics.SemanticsNode> p);
+    method public void setMergedIntoParent(boolean value);
+    method public void setParent(androidx.ui.core.semantics.SemanticsNode? p);
+    method public void setParentPaintClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setParentSemanticsClipRect(androidx.ui.engine.geometry.Rect? p);
+    method public void setRect(androidx.ui.engine.geometry.Rect value);
+    property public final boolean attached;
+    property public final java.util.List<androidx.ui.core.semantics.SemanticsNode> children;
+    property public final int childrenCount;
+    property public final androidx.ui.core.semantics.SemanticsConfiguration config;
+    property public final int depth;
+    property public final boolean hasChildren;
+    property public final boolean isInvisible;
+    property public final boolean isMergedIntoParent;
+    property public final boolean isPartOfNodeMerging;
+    property public final boolean mergeAllDescendantsIntoThisNode;
+    property public final androidx.ui.core.semantics.SemanticsOwner? owner;
+    property public final androidx.ui.core.semantics.SemanticsNode? parent;
+    property public final androidx.ui.engine.geometry.Rect? parentPaintClipRect;
+    property public final androidx.ui.engine.geometry.Rect? parentSemanticsClipRect;
+    property public final androidx.ui.engine.geometry.Rect rect;
+    field public static final androidx.ui.core.semantics.SemanticsNode.Companion! Companion;
+  }
+
+  public static final class SemanticsNode.Companion {
+    method public androidx.ui.core.semantics.SemanticsNode root(androidx.ui.core.semantics.SemanticsOwner owner);
+  }
+
+  public final class SemanticsNodeKt {
+    ctor public SemanticsNodeKt();
+  }
+
+  public final class SemanticsOwner {
+    ctor public SemanticsOwner();
+  }
+
+}
+
+package androidx.ui.input {
+
+  public final class InputStateKt {
+    ctor public InputStateKt();
+  }
+
+  public final class RecordingInputConnectionKt {
+    ctor public RecordingInputConnectionKt();
+  }
+
+}
+
+package androidx.ui.temputils {
+
+  public final class CoroutineUtilsKt {
+    ctor public CoroutineUtilsKt();
+    method public static kotlinx.coroutines.Job delay(androidx.ui.core.Duration duration, kotlin.coroutines.CoroutineContext context, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+  }
+
+}
+
diff --git a/ui/ui-test/api/0.1.0-dev04.txt b/ui/ui-test/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..1550ac2
--- /dev/null
+++ b/ui/ui-test/api/0.1.0-dev04.txt
@@ -0,0 +1,242 @@
+// Signature format: 3.0
+package androidx.ui.test {
+
+  public final class ActionsKt {
+    ctor public ActionsKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction doClick(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction doGesture(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.test.GestureScope,kotlin.Unit> block);
+    method public static androidx.ui.test.SemanticsNodeInteraction doScrollTo(androidx.ui.test.SemanticsNodeInteraction);
+    method public static boolean waitForIdleCompose();
+  }
+
+  public final class AssertionsKt {
+    ctor public AssertionsKt();
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> assertCountEquals(java.util.List<androidx.ui.test.SemanticsNodeInteraction>, int count);
+    method public static void assertDoesNotExist(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsInMutuallyExclusiveGroup(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsVisible(androidx.ui.test.SemanticsNodeInteraction);
+    method public static void assertNoLongerExists(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertSemanticsIsEqualTo(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.core.semantics.SemanticsConfiguration expectedProperties);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static void verify(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+    method public static void verifyHierarchy(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+  }
+
+  public final class BitmapHelpersKt {
+    ctor public BitmapHelpersKt();
+    method public static void assertPixelColor(android.graphics.Bitmap, androidx.ui.graphics.Color expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
+    method public static void assertPixels(android.graphics.Bitmap, androidx.ui.core.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape(android.graphics.Bitmap, androidx.ui.graphics.Color backgroundColor, int sizeX = width, int sizeY = height, androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color shapeColor, int shapeSizeX = sizeX, int shapeSizeY = sizeY, int centerX = width / 2, int centerY = height / 2);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
+  }
+
+  public final class CollectedSizes {
+    ctor public CollectedSizes(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(androidx.ui.core.Dp expectedHeight);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedHeightPx);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(androidx.ui.core.Dp expectedSize);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedSquarePx);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(androidx.ui.core.Dp expectedWidth);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedWidthPx);
+  }
+
+  public interface ComposeBenchmarkScope<T> extends androidx.ui.test.ComposeExecutionControl {
+    method public void createTestCase();
+    method public void disposeContent();
+    method public void draw();
+    method public void drawFinish();
+    method public void drawPrepare();
+    method public void emitContent();
+    method public T! getTestCase();
+    method public void invalidateViews();
+    method public void measureWithSpec(int widthSpec, int heightSpec);
+    method public void requestLayout();
+  }
+
+  public final class ComposeBenchmarkScopeKt {
+    ctor public ComposeBenchmarkScopeKt();
+    method public static <T> void setupContent(androidx.ui.test.ComposeBenchmarkScope<T>);
+  }
+
+  public interface ComposeExecutionControl {
+    method public void capturePreviewPictureToActivity();
+    method public void doFrame();
+    method public void drawToBitmap();
+    method public boolean getDidLastRecomposeHaveChanges();
+    method public int getMeasuredHeight();
+    method public int getMeasuredWidth();
+    method public boolean hasPendingChanges();
+    method public void layout();
+    method public void measure();
+    method public void recompose();
+    property public abstract boolean didLastRecomposeHaveChanges;
+    property public abstract int measuredHeight;
+    property public abstract int measuredWidth;
+  }
+
+  public final class ComposeExecutionControlKt {
+    ctor public ComposeExecutionControlKt();
+    method public static void assertHasPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadNoChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertMeasureSizeIsPositive(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertNoPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void doFramesAssertAllHadChangesExceptLastOne(androidx.ui.test.ComposeExecutionControl, int numberOfFramesToBeStable);
+    method public static int doFramesUntilNoChangesPending(androidx.ui.test.ComposeExecutionControl, int maxAmountOfFrames = 10);
+    method public static void recomposeAssertHadChanges(androidx.ui.test.ComposeExecutionControl);
+  }
+
+  public interface ComposeTestCase {
+    method public void emitContent();
+  }
+
+  public interface ComposeTestCaseSetup {
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public interface ComposeTestRule extends org.junit.rules.TestRule {
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class ComposeTestRuleKt {
+    ctor public ComposeTestRuleKt();
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false);
+  }
+
+  public final class DisableTransitions implements org.junit.rules.TestRule {
+    ctor public DisableTransitions();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+  }
+
+  public final class DisableTransitions.DisableTransitionsStatement extends org.junit.runners.model.Statement {
+    ctor public DisableTransitions.DisableTransitionsStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class FiltersKt {
+    ctor public FiltersKt();
+    method public static boolean getHasClickAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean getHasScrollAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean hasSubstring(androidx.ui.core.semantics.SemanticsConfiguration, String substring, boolean ignoreCase = false);
+    method public static boolean hasText(androidx.ui.core.semantics.SemanticsConfiguration, String text, boolean ignoreCase = false);
+    method public static boolean isInMutuallyExclusiveGroup(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean isToggleable(androidx.ui.core.semantics.SemanticsConfiguration);
+  }
+
+  public final class FindersKt {
+    ctor public FindersKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction find(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAll(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAllByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findBySubstring(String text, boolean ignoreCase = false);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByText(String text, boolean ignoreCase = false);
+  }
+
+  public final class GestureScope {
+  }
+
+  public final class GestureScopeKt {
+    ctor public GestureScopeKt();
+    method public static void sendClick(androidx.ui.test.GestureScope, float x, float y);
+    method public static void sendClick(androidx.ui.test.GestureScope);
+    method public static void sendSwipe(androidx.ui.test.GestureScope, float x0, float y0, float x1, float y1, androidx.ui.core.Duration duration = 200.milliseconds);
+    method public static void sendSwipeDown(androidx.ui.test.GestureScope);
+    method public static void sendSwipeLeft(androidx.ui.test.GestureScope);
+    method public static void sendSwipeRight(androidx.ui.test.GestureScope);
+    method public static void sendSwipeUp(androidx.ui.test.GestureScope);
+  }
+
+  public final class GoldenSemanticsKt {
+    ctor public GoldenSemanticsKt();
+    method public static void assertEquals(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.core.semantics.SemanticsConfiguration expected);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration copyWith(androidx.ui.core.semantics.SemanticsConfiguration, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,kotlin.Unit> diff);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration createFullSemantics(Boolean? isEnabled = null, String? value = null, androidx.ui.foundation.selection.ToggleableState? toggleableState = null, Boolean? inMutuallyExclusiveGroup = null, Boolean? isSelected = null);
+  }
+
+  public final class OutputKt {
+    ctor public OutputKt();
+    method public static void dumpSemantics(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> consumer);
+  }
+
+  public final class SemanticsNodeInteraction {
+  }
+
+  public final class SemanticsTreeInteractionKt {
+    ctor public SemanticsTreeInteractionKt();
+  }
+
+  public final class SizesTestingKt {
+    ctor public SizesTestingKt();
+    method public static androidx.ui.layout.DpConstraints getBigTestConstraints();
+    method public static androidx.ui.test.CollectedSizes setContentAndCollectSizes(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.PxSize setContentAndGetPixelSize(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> performSetContent = { setContent(it) }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.test.android {
+
+  public final class AndroidComposeTestCaseRunnerKt {
+    ctor public AndroidComposeTestCaseRunnerKt();
+    method public static <T extends androidx.ui.test.ComposeTestCase> androidx.ui.test.ComposeBenchmarkScope<T> createAndroidComposeBenchmarkRunner(kotlin.jvm.functions.Function0<? extends T> testCaseFactory, android.app.Activity activity);
+  }
+
+  public final class AndroidComposeTestCaseSetup implements androidx.ui.test.ComposeTestCaseSetup {
+    ctor public AndroidComposeTestCaseSetup(androidx.ui.test.ComposeTestRule testRule, androidx.ui.test.ComposeTestCase testCase, android.app.Activity activity);
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public final class AndroidComposeTestRule implements androidx.ui.test.ComposeTestRule {
+    ctor public AndroidComposeTestRule(boolean disableTransitions, boolean shouldThrowOnRecomposeTimeout);
+    ctor public AndroidComposeTestRule();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.test.rule.ActivityTestRule<android.app.Activity> getActivityTestRule();
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public final androidx.test.rule.ActivityTestRule<android.app.Activity> activityTestRule;
+    property public androidx.ui.core.Density density;
+    property public android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+    ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class WindowCaptureKt {
+    ctor public WindowCaptureKt();
+  }
+
+}
+
+package androidx.ui.test.android.fake {
+
+  public final class FakeViewStructureKt {
+    ctor public FakeViewStructureKt();
+  }
+
+}
+
diff --git a/ui/ui-test/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-test/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..1550ac2
--- /dev/null
+++ b/ui/ui-test/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,242 @@
+// Signature format: 3.0
+package androidx.ui.test {
+
+  public final class ActionsKt {
+    ctor public ActionsKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction doClick(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction doGesture(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.test.GestureScope,kotlin.Unit> block);
+    method public static androidx.ui.test.SemanticsNodeInteraction doScrollTo(androidx.ui.test.SemanticsNodeInteraction);
+    method public static boolean waitForIdleCompose();
+  }
+
+  public final class AssertionsKt {
+    ctor public AssertionsKt();
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> assertCountEquals(java.util.List<androidx.ui.test.SemanticsNodeInteraction>, int count);
+    method public static void assertDoesNotExist(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsInMutuallyExclusiveGroup(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsVisible(androidx.ui.test.SemanticsNodeInteraction);
+    method public static void assertNoLongerExists(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertSemanticsIsEqualTo(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.core.semantics.SemanticsConfiguration expectedProperties);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static void verify(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+    method public static void verifyHierarchy(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+  }
+
+  public final class BitmapHelpersKt {
+    ctor public BitmapHelpersKt();
+    method public static void assertPixelColor(android.graphics.Bitmap, androidx.ui.graphics.Color expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
+    method public static void assertPixels(android.graphics.Bitmap, androidx.ui.core.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape(android.graphics.Bitmap, androidx.ui.graphics.Color backgroundColor, int sizeX = width, int sizeY = height, androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color shapeColor, int shapeSizeX = sizeX, int shapeSizeY = sizeY, int centerX = width / 2, int centerY = height / 2);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
+  }
+
+  public final class CollectedSizes {
+    ctor public CollectedSizes(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(androidx.ui.core.Dp expectedHeight);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedHeightPx);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(androidx.ui.core.Dp expectedSize);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedSquarePx);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(androidx.ui.core.Dp expectedWidth);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedWidthPx);
+  }
+
+  public interface ComposeBenchmarkScope<T> extends androidx.ui.test.ComposeExecutionControl {
+    method public void createTestCase();
+    method public void disposeContent();
+    method public void draw();
+    method public void drawFinish();
+    method public void drawPrepare();
+    method public void emitContent();
+    method public T! getTestCase();
+    method public void invalidateViews();
+    method public void measureWithSpec(int widthSpec, int heightSpec);
+    method public void requestLayout();
+  }
+
+  public final class ComposeBenchmarkScopeKt {
+    ctor public ComposeBenchmarkScopeKt();
+    method public static <T> void setupContent(androidx.ui.test.ComposeBenchmarkScope<T>);
+  }
+
+  public interface ComposeExecutionControl {
+    method public void capturePreviewPictureToActivity();
+    method public void doFrame();
+    method public void drawToBitmap();
+    method public boolean getDidLastRecomposeHaveChanges();
+    method public int getMeasuredHeight();
+    method public int getMeasuredWidth();
+    method public boolean hasPendingChanges();
+    method public void layout();
+    method public void measure();
+    method public void recompose();
+    property public abstract boolean didLastRecomposeHaveChanges;
+    property public abstract int measuredHeight;
+    property public abstract int measuredWidth;
+  }
+
+  public final class ComposeExecutionControlKt {
+    ctor public ComposeExecutionControlKt();
+    method public static void assertHasPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadNoChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertMeasureSizeIsPositive(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertNoPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void doFramesAssertAllHadChangesExceptLastOne(androidx.ui.test.ComposeExecutionControl, int numberOfFramesToBeStable);
+    method public static int doFramesUntilNoChangesPending(androidx.ui.test.ComposeExecutionControl, int maxAmountOfFrames = 10);
+    method public static void recomposeAssertHadChanges(androidx.ui.test.ComposeExecutionControl);
+  }
+
+  public interface ComposeTestCase {
+    method public void emitContent();
+  }
+
+  public interface ComposeTestCaseSetup {
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public interface ComposeTestRule extends org.junit.rules.TestRule {
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class ComposeTestRuleKt {
+    ctor public ComposeTestRuleKt();
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false);
+  }
+
+  public final class DisableTransitions implements org.junit.rules.TestRule {
+    ctor public DisableTransitions();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+  }
+
+  public final class DisableTransitions.DisableTransitionsStatement extends org.junit.runners.model.Statement {
+    ctor public DisableTransitions.DisableTransitionsStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class FiltersKt {
+    ctor public FiltersKt();
+    method public static boolean getHasClickAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean getHasScrollAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean hasSubstring(androidx.ui.core.semantics.SemanticsConfiguration, String substring, boolean ignoreCase = false);
+    method public static boolean hasText(androidx.ui.core.semantics.SemanticsConfiguration, String text, boolean ignoreCase = false);
+    method public static boolean isInMutuallyExclusiveGroup(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean isToggleable(androidx.ui.core.semantics.SemanticsConfiguration);
+  }
+
+  public final class FindersKt {
+    ctor public FindersKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction find(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAll(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAllByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findBySubstring(String text, boolean ignoreCase = false);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByText(String text, boolean ignoreCase = false);
+  }
+
+  public final class GestureScope {
+  }
+
+  public final class GestureScopeKt {
+    ctor public GestureScopeKt();
+    method public static void sendClick(androidx.ui.test.GestureScope, float x, float y);
+    method public static void sendClick(androidx.ui.test.GestureScope);
+    method public static void sendSwipe(androidx.ui.test.GestureScope, float x0, float y0, float x1, float y1, androidx.ui.core.Duration duration = 200.milliseconds);
+    method public static void sendSwipeDown(androidx.ui.test.GestureScope);
+    method public static void sendSwipeLeft(androidx.ui.test.GestureScope);
+    method public static void sendSwipeRight(androidx.ui.test.GestureScope);
+    method public static void sendSwipeUp(androidx.ui.test.GestureScope);
+  }
+
+  public final class GoldenSemanticsKt {
+    ctor public GoldenSemanticsKt();
+    method public static void assertEquals(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.core.semantics.SemanticsConfiguration expected);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration copyWith(androidx.ui.core.semantics.SemanticsConfiguration, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,kotlin.Unit> diff);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration createFullSemantics(Boolean? isEnabled = null, String? value = null, androidx.ui.foundation.selection.ToggleableState? toggleableState = null, Boolean? inMutuallyExclusiveGroup = null, Boolean? isSelected = null);
+  }
+
+  public final class OutputKt {
+    ctor public OutputKt();
+    method public static void dumpSemantics(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> consumer);
+  }
+
+  public final class SemanticsNodeInteraction {
+  }
+
+  public final class SemanticsTreeInteractionKt {
+    ctor public SemanticsTreeInteractionKt();
+  }
+
+  public final class SizesTestingKt {
+    ctor public SizesTestingKt();
+    method public static androidx.ui.layout.DpConstraints getBigTestConstraints();
+    method public static androidx.ui.test.CollectedSizes setContentAndCollectSizes(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.PxSize setContentAndGetPixelSize(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> performSetContent = { setContent(it) }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.test.android {
+
+  public final class AndroidComposeTestCaseRunnerKt {
+    ctor public AndroidComposeTestCaseRunnerKt();
+    method public static <T extends androidx.ui.test.ComposeTestCase> androidx.ui.test.ComposeBenchmarkScope<T> createAndroidComposeBenchmarkRunner(kotlin.jvm.functions.Function0<? extends T> testCaseFactory, android.app.Activity activity);
+  }
+
+  public final class AndroidComposeTestCaseSetup implements androidx.ui.test.ComposeTestCaseSetup {
+    ctor public AndroidComposeTestCaseSetup(androidx.ui.test.ComposeTestRule testRule, androidx.ui.test.ComposeTestCase testCase, android.app.Activity activity);
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public final class AndroidComposeTestRule implements androidx.ui.test.ComposeTestRule {
+    ctor public AndroidComposeTestRule(boolean disableTransitions, boolean shouldThrowOnRecomposeTimeout);
+    ctor public AndroidComposeTestRule();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.test.rule.ActivityTestRule<android.app.Activity> getActivityTestRule();
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public final androidx.test.rule.ActivityTestRule<android.app.Activity> activityTestRule;
+    property public androidx.ui.core.Density density;
+    property public android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+    ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class WindowCaptureKt {
+    ctor public WindowCaptureKt();
+  }
+
+}
+
+package androidx.ui.test.android.fake {
+
+  public final class FakeViewStructureKt {
+    ctor public FakeViewStructureKt();
+  }
+
+}
+
diff --git a/ui/ui-test/api/res-0.1.0-dev04.txt b/ui/ui-test/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-test/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-test/api/restricted_0.1.0-dev04.txt b/ui/ui-test/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..1550ac2
--- /dev/null
+++ b/ui/ui-test/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,242 @@
+// Signature format: 3.0
+package androidx.ui.test {
+
+  public final class ActionsKt {
+    ctor public ActionsKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction doClick(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction doGesture(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.test.GestureScope,kotlin.Unit> block);
+    method public static androidx.ui.test.SemanticsNodeInteraction doScrollTo(androidx.ui.test.SemanticsNodeInteraction);
+    method public static boolean waitForIdleCompose();
+  }
+
+  public final class AssertionsKt {
+    ctor public AssertionsKt();
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> assertCountEquals(java.util.List<androidx.ui.test.SemanticsNodeInteraction>, int count);
+    method public static void assertDoesNotExist(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsHidden(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsInMutuallyExclusiveGroup(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOff(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsOn(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsUnselected(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertIsVisible(androidx.ui.test.SemanticsNodeInteraction);
+    method public static void assertNoLongerExists(androidx.ui.test.SemanticsNodeInteraction);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertSemanticsIsEqualTo(androidx.ui.test.SemanticsNodeInteraction, androidx.ui.core.semantics.SemanticsConfiguration expectedProperties);
+    method public static androidx.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.ui.test.SemanticsNodeInteraction, String value);
+    method public static void verify(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+    method public static void verifyHierarchy(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.String> assertionMessage, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> condition);
+  }
+
+  public final class BitmapHelpersKt {
+    ctor public BitmapHelpersKt();
+    method public static void assertPixelColor(android.graphics.Bitmap, androidx.ui.graphics.Color expected, int x, int y, kotlin.jvm.functions.Function1<? super androidx.ui.graphics.Color,java.lang.String> error = { color -> "Pixel(" + x + ", " + y + ") expected to be " + expected + ", but was " + color });
+    method public static void assertPixels(android.graphics.Bitmap, androidx.ui.core.IntPxSize? expectedSize = null, kotlin.jvm.functions.Function1<? super androidx.ui.core.IntPxPosition,androidx.ui.graphics.Color> expectedColorProvider);
+    method public static void assertShape(android.graphics.Bitmap, androidx.ui.graphics.Color backgroundColor, int sizeX = width, int sizeY = height, androidx.ui.engine.geometry.Shape shape, androidx.ui.graphics.Color shapeColor, int shapeSizeX = sizeX, int shapeSizeY = sizeY, int centerX = width / 2, int centerY = height / 2);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static android.graphics.Bitmap captureToBitmap(androidx.ui.test.SemanticsNodeInteraction);
+  }
+
+  public final class CollectedSizes {
+    ctor public CollectedSizes(androidx.ui.core.PxSize size, androidx.ui.core.Density density);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(androidx.ui.core.Dp expectedHeight);
+    method public androidx.ui.test.CollectedSizes assertHeightEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedHeightPx);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(androidx.ui.core.Dp expectedSize);
+    method public androidx.ui.test.CollectedSizes assertIsSquareWithSize(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedSquarePx);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(androidx.ui.core.Dp expectedWidth);
+    method public androidx.ui.test.CollectedSizes assertWidthEqualsTo(kotlin.jvm.functions.Function1<? super androidx.ui.core.DensityScope,androidx.ui.core.IntPx> expectedWidthPx);
+  }
+
+  public interface ComposeBenchmarkScope<T> extends androidx.ui.test.ComposeExecutionControl {
+    method public void createTestCase();
+    method public void disposeContent();
+    method public void draw();
+    method public void drawFinish();
+    method public void drawPrepare();
+    method public void emitContent();
+    method public T! getTestCase();
+    method public void invalidateViews();
+    method public void measureWithSpec(int widthSpec, int heightSpec);
+    method public void requestLayout();
+  }
+
+  public final class ComposeBenchmarkScopeKt {
+    ctor public ComposeBenchmarkScopeKt();
+    method public static <T> void setupContent(androidx.ui.test.ComposeBenchmarkScope<T>);
+  }
+
+  public interface ComposeExecutionControl {
+    method public void capturePreviewPictureToActivity();
+    method public void doFrame();
+    method public void drawToBitmap();
+    method public boolean getDidLastRecomposeHaveChanges();
+    method public int getMeasuredHeight();
+    method public int getMeasuredWidth();
+    method public boolean hasPendingChanges();
+    method public void layout();
+    method public void measure();
+    method public void recompose();
+    property public abstract boolean didLastRecomposeHaveChanges;
+    property public abstract int measuredHeight;
+    property public abstract int measuredWidth;
+  }
+
+  public final class ComposeExecutionControlKt {
+    ctor public ComposeExecutionControlKt();
+    method public static void assertHasPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertLastRecomposeHadNoChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertMeasureSizeIsPositive(androidx.ui.test.ComposeExecutionControl);
+    method public static void assertNoPendingChanges(androidx.ui.test.ComposeExecutionControl);
+    method public static void doFramesAssertAllHadChangesExceptLastOne(androidx.ui.test.ComposeExecutionControl, int numberOfFramesToBeStable);
+    method public static int doFramesUntilNoChangesPending(androidx.ui.test.ComposeExecutionControl, int maxAmountOfFrames = 10);
+    method public static void recomposeAssertHadChanges(androidx.ui.test.ComposeExecutionControl);
+  }
+
+  public interface ComposeTestCase {
+    method public void emitContent();
+  }
+
+  public interface ComposeTestCaseSetup {
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public interface ComposeTestRule extends org.junit.rules.TestRule {
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public abstract androidx.ui.core.Density density;
+    property public abstract android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class ComposeTestRuleKt {
+    ctor public ComposeTestRuleKt();
+    method public static androidx.ui.test.ComposeTestRule createComposeRule(boolean disableTransitions = false);
+  }
+
+  public final class DisableTransitions implements org.junit.rules.TestRule {
+    ctor public DisableTransitions();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+  }
+
+  public final class DisableTransitions.DisableTransitionsStatement extends org.junit.runners.model.Statement {
+    ctor public DisableTransitions.DisableTransitionsStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class FiltersKt {
+    ctor public FiltersKt();
+    method public static boolean getHasClickAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean getHasScrollAction(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean hasSubstring(androidx.ui.core.semantics.SemanticsConfiguration, String substring, boolean ignoreCase = false);
+    method public static boolean hasText(androidx.ui.core.semantics.SemanticsConfiguration, String text, boolean ignoreCase = false);
+    method public static boolean isInMutuallyExclusiveGroup(androidx.ui.core.semantics.SemanticsConfiguration);
+    method public static boolean isToggleable(androidx.ui.core.semantics.SemanticsConfiguration);
+  }
+
+  public final class FindersKt {
+    ctor public FindersKt();
+    method public static androidx.ui.test.SemanticsNodeInteraction find(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAll(kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,java.lang.Boolean> selector);
+    method public static java.util.List<androidx.ui.test.SemanticsNodeInteraction> findAllByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findBySubstring(String text, boolean ignoreCase = false);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByTag(String testTag);
+    method public static androidx.ui.test.SemanticsNodeInteraction findByText(String text, boolean ignoreCase = false);
+  }
+
+  public final class GestureScope {
+  }
+
+  public final class GestureScopeKt {
+    ctor public GestureScopeKt();
+    method public static void sendClick(androidx.ui.test.GestureScope, float x, float y);
+    method public static void sendClick(androidx.ui.test.GestureScope);
+    method public static void sendSwipe(androidx.ui.test.GestureScope, float x0, float y0, float x1, float y1, androidx.ui.core.Duration duration = 200.milliseconds);
+    method public static void sendSwipeDown(androidx.ui.test.GestureScope);
+    method public static void sendSwipeLeft(androidx.ui.test.GestureScope);
+    method public static void sendSwipeRight(androidx.ui.test.GestureScope);
+    method public static void sendSwipeUp(androidx.ui.test.GestureScope);
+  }
+
+  public final class GoldenSemanticsKt {
+    ctor public GoldenSemanticsKt();
+    method public static void assertEquals(androidx.ui.core.semantics.SemanticsConfiguration, androidx.ui.core.semantics.SemanticsConfiguration expected);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration copyWith(androidx.ui.core.semantics.SemanticsConfiguration, kotlin.jvm.functions.Function1<? super androidx.ui.core.semantics.SemanticsConfiguration,kotlin.Unit> diff);
+    method public static androidx.ui.core.semantics.SemanticsConfiguration createFullSemantics(Boolean? isEnabled = null, String? value = null, androidx.ui.foundation.selection.ToggleableState? toggleableState = null, Boolean? inMutuallyExclusiveGroup = null, Boolean? isSelected = null);
+  }
+
+  public final class OutputKt {
+    ctor public OutputKt();
+    method public static void dumpSemantics(androidx.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super java.lang.String,kotlin.Unit> consumer);
+  }
+
+  public final class SemanticsNodeInteraction {
+  }
+
+  public final class SemanticsTreeInteractionKt {
+    ctor public SemanticsTreeInteractionKt();
+  }
+
+  public final class SizesTestingKt {
+    ctor public SizesTestingKt();
+    method public static androidx.ui.layout.DpConstraints getBigTestConstraints();
+    method public static androidx.ui.test.CollectedSizes setContentAndCollectSizes(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static androidx.ui.core.PxSize setContentAndGetPixelSize(androidx.ui.test.ComposeTestRule, androidx.ui.layout.DpConstraints parentConstraints = BigTestConstraints, kotlin.jvm.functions.Function1<? super kotlin.jvm.functions.Function0<kotlin.Unit>,kotlin.Unit> performSetContent = { setContent(it) }, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+  }
+
+}
+
+package androidx.ui.test.android {
+
+  public final class AndroidComposeTestCaseRunnerKt {
+    ctor public AndroidComposeTestCaseRunnerKt();
+    method public static <T extends androidx.ui.test.ComposeTestCase> androidx.ui.test.ComposeBenchmarkScope<T> createAndroidComposeBenchmarkRunner(kotlin.jvm.functions.Function0<? extends T> testCaseFactory, android.app.Activity activity);
+  }
+
+  public final class AndroidComposeTestCaseSetup implements androidx.ui.test.ComposeTestCaseSetup {
+    ctor public AndroidComposeTestCaseSetup(androidx.ui.test.ComposeTestRule testRule, androidx.ui.test.ComposeTestCase testCase, android.app.Activity activity);
+    method public void performTestWithEventsControl(kotlin.jvm.functions.Function1<? super androidx.ui.test.ComposeExecutionControl,kotlin.Unit> block);
+  }
+
+  public final class AndroidComposeTestRule implements androidx.ui.test.ComposeTestRule {
+    ctor public AndroidComposeTestRule(boolean disableTransitions, boolean shouldThrowOnRecomposeTimeout);
+    ctor public AndroidComposeTestRule();
+    method public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description? description);
+    method @RequiresApi(android.os.Build.VERSION_CODES.O) public android.graphics.Bitmap captureScreenOnIdle();
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    method public androidx.ui.test.ComposeTestCaseSetup forGivenTestCase(androidx.ui.test.ComposeTestCase testCase);
+    method public androidx.test.rule.ActivityTestRule<android.app.Activity> getActivityTestRule();
+    method public androidx.ui.core.Density getDensity();
+    method public android.util.DisplayMetrics getDisplayMetrics();
+    method public void runOnUiThread(kotlin.jvm.functions.Function0<kotlin.Unit> action);
+    method public void setContent(kotlin.jvm.functions.Function0<kotlin.Unit> composable);
+    property public final androidx.test.rule.ActivityTestRule<android.app.Activity> activityTestRule;
+    property public androidx.ui.core.Density density;
+    property public android.util.DisplayMetrics displayMetrics;
+  }
+
+  public final class AndroidComposeTestRule.AndroidComposeStatement extends org.junit.runners.model.Statement {
+    ctor public AndroidComposeTestRule.AndroidComposeStatement(org.junit.runners.model.Statement base);
+    method public void evaluate();
+  }
+
+  public final class WindowCaptureKt {
+    ctor public WindowCaptureKt();
+  }
+
+}
+
+package androidx.ui.test.android.fake {
+
+  public final class FakeViewStructureKt {
+    ctor public FakeViewStructureKt();
+  }
+
+}
+
diff --git a/ui/ui-text/api/0.1.0-dev04.txt b/ui/ui-text/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..6ae0cb5
--- /dev/null
+++ b/ui/ui-text/api/0.1.0-dev04.txt
@@ -0,0 +1,774 @@
+// Signature format: 3.0
+package androidx.ui.input {
+
+  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public enum ImeAction {
+    enum_constant public static final androidx.ui.input.ImeAction Done;
+    enum_constant public static final androidx.ui.input.ImeAction Go;
+    enum_constant public static final androidx.ui.input.ImeAction Next;
+    enum_constant public static final androidx.ui.input.ImeAction NoAction;
+    enum_constant public static final androidx.ui.input.ImeAction Previous;
+    enum_constant public static final androidx.ui.input.ImeAction Search;
+    enum_constant public static final androidx.ui.input.ImeAction Send;
+    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
+    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
+  }
+
+  public final class InputState {
+    ctor public InputState(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    ctor public InputState();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.text.TextRange? component3();
+    method public androidx.ui.input.InputState copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    method public androidx.ui.text.TextRange? getComposition();
+    method public String getSelectedText();
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+    method public String getTextAfterSelection(int maxChars);
+    method public String getTextBeforeSelection(int maxChars);
+  }
+
+  public enum KeyboardType {
+    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
+    enum_constant public static final androidx.ui.input.KeyboardType Email;
+    enum_constant public static final androidx.ui.input.KeyboardType Number;
+    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.ui.input.KeyboardType Password;
+    enum_constant public static final androidx.ui.input.KeyboardType Phone;
+    enum_constant public static final androidx.ui.input.KeyboardType Text;
+    enum_constant public static final androidx.ui.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.ui.input.OffsetMap.Companion! Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.ui.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void notifyFocusedRect(androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
+    method public void notifyFocusedRect(int token, androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    ctor public TextInputServiceKt();
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.text.AnnotatedString component1();
+    method public androidx.ui.input.OffsetMap component2();
+    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.input.OffsetMap getOffsetMap();
+    method public androidx.ui.text.AnnotatedString getTransformedText();
+  }
+
+  public interface VisualTransformation {
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+  }
+
+}
+
+package androidx.ui.text {
+
+  public final class AnnotatedString {
+    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public String component1();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> component3();
+    method public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> getSpanStyles();
+    method public String getText();
+    method public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+  }
+
+  public static final class AnnotatedString.Builder {
+    ctor public AnnotatedString.Builder(int capacity);
+    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(String text);
+    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void append(String text);
+    method public void append(char p);
+    method public void append(androidx.ui.text.AnnotatedString text);
+    method public int getLength();
+    method public void popStyle();
+    method public void popStyle(int index);
+    method public int pushStyle(androidx.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
+    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    property public final int length;
+  }
+
+  public static final class AnnotatedString.Item<T> {
+    ctor public AnnotatedString.Item(T! item, int start, int end);
+    method public T! component1();
+    method public int component2();
+    method public int component3();
+    method public androidx.ui.text.AnnotatedString.Item<T> copy(T! item, int start, int end);
+    method public int getEnd();
+    method public T! getItem();
+    method public int getStart();
+  }
+
+  public final class AnnotatedStringKt {
+    ctor public AnnotatedStringKt();
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
+    method public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.ui.text.AnnotatedString);
+    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+  }
+
+  public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.ui.text.Locale.Companion! Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.ui.text.Locale getCurrent();
+    property public final androidx.ui.text.Locale current;
+  }
+
+  public final class LocaleList implements java.util.Collection<androidx.ui.text.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.ui.text.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.ui.text.Locale... locales);
+    method public java.util.List<androidx.ui.text.Locale> component1();
+    method public operator boolean contains(androidx.ui.text.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.LocaleList copy(java.util.List<androidx.ui.text.Locale> localeList);
+    method public operator androidx.ui.text.Locale get(int i);
+    method public java.util.List<androidx.ui.text.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.Locale> iterator();
+    property public int size;
+    field public static final androidx.ui.text.LocaleList.Companion! Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.ui.text.LocaleList getCurrent();
+    property public final androidx.ui.text.LocaleList current;
+  }
+
+  public final class MultiParagraph {
+    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public Integer? getMaxLines();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public final boolean didExceedMaxLines;
+    property public final float firstBaseline;
+    property public final float height;
+    property public final float lastBaseline;
+    property public final int lineCount;
+    property public final float maxIntrinsicWidth;
+    property public final float minIntrinsicWidth;
+    property public final float width;
+  }
+
+  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public float maxIntrinsicWidth;
+    property public float minIntrinsicWidth;
+  }
+
+  public final class MultiParagraphKt {
+    ctor public MultiParagraphKt();
+  }
+
+  public interface Paragraph {
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public abstract boolean didExceedMaxLines;
+    property public abstract float firstBaseline;
+    property public abstract float height;
+    property public abstract float lastBaseline;
+    property public abstract int lineCount;
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+    property public abstract float width;
+  }
+
+  public final class ParagraphConstraints {
+    ctor public ParagraphConstraints(float width);
+    method public float component1();
+    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public float getWidth();
+  }
+
+  public interface ParagraphIntrinsics {
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+  }
+
+  public final class ParagraphIntrinsicsKt {
+    ctor public ParagraphIntrinsicsKt();
+    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+  }
+
+  public final class ParagraphKt {
+    ctor public ParagraphKt();
+    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints);
+  }
+
+  public final class ParagraphStyle {
+    ctor public ParagraphStyle(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    ctor public ParagraphStyle();
+    method public androidx.ui.text.style.TextAlign? component1();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? component2();
+    method public androidx.ui.core.TextUnit component3();
+    method public androidx.ui.text.style.TextIndent? component4();
+    method public androidx.ui.text.ParagraphStyle copy(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.ui.core.TextUnit getLineHeight();
+    method public androidx.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? getTextDirectionAlgorithm();
+    method public androidx.ui.text.style.TextIndent? getTextIndent();
+    method public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
+  }
+
+  public final class SpanStyle {
+    ctor public SpanStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public SpanStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.SpanStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
+  }
+
+  public final class SpanStyleKt {
+    ctor public SpanStyleKt();
+    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+  }
+
+  public final class StringKt {
+    ctor public StringKt();
+    method public static String capitalize(String, androidx.ui.text.Locale locale);
+    method public static String capitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String decapitalize(String, androidx.ui.text.Locale locale);
+    method public static String decapitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.ui.text.Locale locale);
+    method public static String toLowerCase(String, androidx.ui.text.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.ui.text.Locale locale);
+    method public static String toUpperCase(String, androidx.ui.text.LocaleList localeList);
+  }
+
+  public final class TextDelegateKt {
+    ctor public TextDelegateKt();
+  }
+
+  public final class TextRange {
+    ctor public TextRange(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(int offset);
+    method public androidx.ui.text.TextRange copy(int start, int end);
+    method public boolean getCollapsed();
+    method public int getEnd();
+    method public int getLength();
+    method public int getMax();
+    method public int getMin();
+    method public int getStart();
+    method public boolean intersects(androidx.ui.text.TextRange other);
+    property public final boolean collapsed;
+    property public final int length;
+    property public final int max;
+    property public final int min;
+  }
+
+  public final class TextRangeKt {
+    ctor public TextRangeKt();
+    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+  }
+
+  public final class TextSpan {
+    ctor public TextSpan(androidx.ui.text.SpanStyle? style, String? text, java.util.List<androidx.ui.text.TextSpan> children);
+    ctor public TextSpan();
+    method public java.util.List<androidx.ui.text.TextSpan> getChildren();
+    method public androidx.ui.text.SpanStyle? getStyle();
+    method public String? getText();
+  }
+
+  public final class TextSpanKt {
+    ctor public TextSpanKt();
+    method public static androidx.ui.text.AnnotatedString toAnnotatedString(androidx.ui.text.TextSpan);
+  }
+
+  public final class TextStyle {
+    ctor public TextStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public TextStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.TextStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
+    method public androidx.ui.text.SpanStyle toSpanStyle();
+  }
+
+  public final class TextStyleKt {
+    ctor public TextStyleKt();
+    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.font {
+
+  public final class Font {
+    ctor public Font(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String component1();
+    method public androidx.ui.text.font.FontWeight component2();
+    method public androidx.ui.text.font.FontStyle component3();
+    method public androidx.ui.text.font.Font copy(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String getName();
+    method public androidx.ui.text.font.FontStyle getStyle();
+    method public androidx.ui.text.font.FontWeight getWeight();
+  }
+
+  public static interface Font.ResourceLoader {
+    method public Object load(androidx.ui.text.font.Font font);
+  }
+
+  public final class FontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
+    ctor public FontFamily(String genericFamily);
+    ctor public FontFamily(androidx.ui.text.font.Font font);
+    ctor public FontFamily(java.util.List<androidx.ui.text.font.Font> fonts);
+    ctor public FontFamily(androidx.ui.text.font.Font... fonts);
+    method public String? component1();
+    method public java.util.List<androidx.ui.text.font.Font> component2();
+    method public boolean contains(androidx.ui.text.font.Font element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.font.FontFamily copy(String? genericFamily, java.util.List<androidx.ui.text.font.Font> fonts);
+    method public androidx.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method public String? getGenericFamily();
+    method public int getSize();
+    method public int indexOf(androidx.ui.text.font.Font element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    field public static final androidx.ui.text.font.FontFamily.Companion! Companion;
+  }
+
+  public static final class FontFamily.Companion {
+    method public androidx.ui.text.font.FontFamily getCursive();
+    method public androidx.ui.text.font.FontFamily getMonospace();
+    method public androidx.ui.text.font.FontFamily getSansSerif();
+    method public androidx.ui.text.font.FontFamily getSerif();
+    property public final androidx.ui.text.font.FontFamily Cursive;
+    property public final androidx.ui.text.font.FontFamily Monospace;
+    property public final androidx.ui.text.font.FontFamily SansSerif;
+    property public final androidx.ui.text.font.FontFamily Serif;
+  }
+
+  public final class FontKt {
+    ctor public FontKt();
+    method public static androidx.ui.text.font.FontFamily asFontFamily(androidx.ui.text.font.Font);
+  }
+
+  public enum FontStyle {
+    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+  }
+
+  public enum FontSynthesis {
+    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+  }
+
+  public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public androidx.ui.text.font.FontWeight copy(int weight);
+    field public static final androidx.ui.text.font.FontWeight.Companion! Companion;
+  }
+
+  public static final class FontWeight.Companion {
+    method public androidx.ui.text.font.FontWeight getBold();
+    method public androidx.ui.text.font.FontWeight getNormal();
+    method public androidx.ui.text.font.FontWeight getW100();
+    method public androidx.ui.text.font.FontWeight getW200();
+    method public androidx.ui.text.font.FontWeight getW300();
+    method public androidx.ui.text.font.FontWeight getW400();
+    method public androidx.ui.text.font.FontWeight getW500();
+    method public androidx.ui.text.font.FontWeight getW600();
+    method public androidx.ui.text.font.FontWeight getW700();
+    method public androidx.ui.text.font.FontWeight getW800();
+    method public androidx.ui.text.font.FontWeight getW900();
+    property public final androidx.ui.text.font.FontWeight Bold;
+    property public final androidx.ui.text.font.FontWeight Normal;
+    property public final androidx.ui.text.font.FontWeight W100;
+    property public final androidx.ui.text.font.FontWeight W200;
+    property public final androidx.ui.text.font.FontWeight W300;
+    property public final androidx.ui.text.font.FontWeight W400;
+    property public final androidx.ui.text.font.FontWeight W500;
+    property public final androidx.ui.text.font.FontWeight W600;
+    property public final androidx.ui.text.font.FontWeight W700;
+    property public final androidx.ui.text.font.FontWeight W800;
+    property public final androidx.ui.text.font.FontWeight W900;
+  }
+
+  public final class FontWeightKt {
+    ctor public FontWeightKt();
+    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.platform {
+
+  public final class AndroidParagraphHelperKt {
+    ctor public AndroidParagraphHelperKt();
+  }
+
+  public final class AndroidParagraphKt {
+    ctor public AndroidParagraphKt();
+  }
+
+  public final class PlatformLocaleKt {
+    ctor public PlatformLocaleKt();
+  }
+
+}
+
+package androidx.ui.text.style {
+
+  public final class BaselineShift {
+    ctor public BaselineShift(float multiplier);
+    method public float component1();
+    method public androidx.ui.text.style.BaselineShift copy(float multiplier);
+    method public float getMultiplier();
+    field public static final androidx.ui.text.style.BaselineShift.Companion! Companion;
+  }
+
+  public static final class BaselineShift.Companion {
+    method public androidx.ui.text.style.BaselineShift getSubscript();
+    method public androidx.ui.text.style.BaselineShift getSuperscript();
+    property public final androidx.ui.text.style.BaselineShift Subscript;
+    property public final androidx.ui.text.style.BaselineShift Superscript;
+  }
+
+  public final class BaselineShiftKt {
+    ctor public BaselineShiftKt();
+    method public static androidx.ui.text.style.BaselineShift lerp(androidx.ui.text.style.BaselineShift start, androidx.ui.text.style.BaselineShift stop, float fraction);
+  }
+
+  public enum TextAlign {
+    enum_constant public static final androidx.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+  }
+
+  public final class TextDecoration {
+    method public int component1();
+    method public boolean contains(androidx.ui.text.style.TextDecoration other);
+    method public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public int getMask();
+    field public static final androidx.ui.text.style.TextDecoration.Companion! Companion;
+  }
+
+  public static final class TextDecoration.Companion {
+    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
+    method public androidx.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.ui.text.style.TextDecoration getNone();
+    method public androidx.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.ui.text.style.TextDecoration None;
+    property public final androidx.ui.text.style.TextDecoration Underline;
+  }
+
+  public enum TextDirection {
+    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+  }
+
+  public enum TextDirectionAlgorithm {
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrRtl;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceRtl;
+  }
+
+  public final class TextGeometricTransform {
+    ctor public TextGeometricTransform(float scaleX, float skewX);
+    ctor public TextGeometricTransform();
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method public float getScaleX();
+    method public float getSkewX();
+    field public static final androidx.ui.text.style.TextGeometricTransform.Companion! Companion;
+  }
+
+  public static final class TextGeometricTransform.Companion {
+  }
+
+  public final class TextGeometricTransformKt {
+    ctor public TextGeometricTransformKt();
+    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+  }
+
+  public final class TextIndent {
+    ctor public TextIndent(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    ctor public TextIndent();
+    method public androidx.ui.core.TextUnit component1();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.style.TextIndent copy(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    method public androidx.ui.core.TextUnit getFirstLine();
+    method public androidx.ui.core.TextUnit getRestLine();
+  }
+
+  public final class TextIndentKt {
+    ctor public TextIndentKt();
+    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+  }
+
+  public enum TextOverflow {
+    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Fade;
+  }
+
+}
+
diff --git a/ui/ui-text/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-text/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..6ae0cb5
--- /dev/null
+++ b/ui/ui-text/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,774 @@
+// Signature format: 3.0
+package androidx.ui.input {
+
+  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public enum ImeAction {
+    enum_constant public static final androidx.ui.input.ImeAction Done;
+    enum_constant public static final androidx.ui.input.ImeAction Go;
+    enum_constant public static final androidx.ui.input.ImeAction Next;
+    enum_constant public static final androidx.ui.input.ImeAction NoAction;
+    enum_constant public static final androidx.ui.input.ImeAction Previous;
+    enum_constant public static final androidx.ui.input.ImeAction Search;
+    enum_constant public static final androidx.ui.input.ImeAction Send;
+    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
+    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
+  }
+
+  public final class InputState {
+    ctor public InputState(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    ctor public InputState();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.text.TextRange? component3();
+    method public androidx.ui.input.InputState copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    method public androidx.ui.text.TextRange? getComposition();
+    method public String getSelectedText();
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+    method public String getTextAfterSelection(int maxChars);
+    method public String getTextBeforeSelection(int maxChars);
+  }
+
+  public enum KeyboardType {
+    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
+    enum_constant public static final androidx.ui.input.KeyboardType Email;
+    enum_constant public static final androidx.ui.input.KeyboardType Number;
+    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.ui.input.KeyboardType Password;
+    enum_constant public static final androidx.ui.input.KeyboardType Phone;
+    enum_constant public static final androidx.ui.input.KeyboardType Text;
+    enum_constant public static final androidx.ui.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.ui.input.OffsetMap.Companion! Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.ui.input.OffsetMap identityOffsetMap;
+  }
+
+  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void notifyFocusedRect(androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
+    method public void notifyFocusedRect(int token, androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    ctor public TextInputServiceKt();
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.text.AnnotatedString component1();
+    method public androidx.ui.input.OffsetMap component2();
+    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.input.OffsetMap getOffsetMap();
+    method public androidx.ui.text.AnnotatedString getTransformedText();
+  }
+
+  public interface VisualTransformation {
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+  }
+
+}
+
+package androidx.ui.text {
+
+  public final class AnnotatedString {
+    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public String component1();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> component3();
+    method public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> getSpanStyles();
+    method public String getText();
+    method public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+  }
+
+  public static final class AnnotatedString.Builder {
+    ctor public AnnotatedString.Builder(int capacity);
+    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(String text);
+    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void append(String text);
+    method public void append(char p);
+    method public void append(androidx.ui.text.AnnotatedString text);
+    method public int getLength();
+    method public void popStyle();
+    method public void popStyle(int index);
+    method public int pushStyle(androidx.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
+    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    property public final int length;
+  }
+
+  public static final class AnnotatedString.Item<T> {
+    ctor public AnnotatedString.Item(T! item, int start, int end);
+    method public T! component1();
+    method public int component2();
+    method public int component3();
+    method public androidx.ui.text.AnnotatedString.Item<T> copy(T! item, int start, int end);
+    method public int getEnd();
+    method public T! getItem();
+    method public int getStart();
+  }
+
+  public final class AnnotatedStringKt {
+    ctor public AnnotatedStringKt();
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
+    method public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.ui.text.AnnotatedString);
+    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+  }
+
+  public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.ui.text.Locale.Companion! Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.ui.text.Locale getCurrent();
+    property public final androidx.ui.text.Locale current;
+  }
+
+  public final class LocaleList implements java.util.Collection<androidx.ui.text.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.ui.text.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.ui.text.Locale... locales);
+    method public java.util.List<androidx.ui.text.Locale> component1();
+    method public operator boolean contains(androidx.ui.text.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.LocaleList copy(java.util.List<androidx.ui.text.Locale> localeList);
+    method public operator androidx.ui.text.Locale get(int i);
+    method public java.util.List<androidx.ui.text.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.Locale> iterator();
+    property public int size;
+    field public static final androidx.ui.text.LocaleList.Companion! Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.ui.text.LocaleList getCurrent();
+    property public final androidx.ui.text.LocaleList current;
+  }
+
+  public final class MultiParagraph {
+    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public Integer? getMaxLines();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public final boolean didExceedMaxLines;
+    property public final float firstBaseline;
+    property public final float height;
+    property public final float lastBaseline;
+    property public final int lineCount;
+    property public final float maxIntrinsicWidth;
+    property public final float minIntrinsicWidth;
+    property public final float width;
+  }
+
+  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public float maxIntrinsicWidth;
+    property public float minIntrinsicWidth;
+  }
+
+  public final class MultiParagraphKt {
+    ctor public MultiParagraphKt();
+  }
+
+  public interface Paragraph {
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public abstract boolean didExceedMaxLines;
+    property public abstract float firstBaseline;
+    property public abstract float height;
+    property public abstract float lastBaseline;
+    property public abstract int lineCount;
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+    property public abstract float width;
+  }
+
+  public final class ParagraphConstraints {
+    ctor public ParagraphConstraints(float width);
+    method public float component1();
+    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public float getWidth();
+  }
+
+  public interface ParagraphIntrinsics {
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+  }
+
+  public final class ParagraphIntrinsicsKt {
+    ctor public ParagraphIntrinsicsKt();
+    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+  }
+
+  public final class ParagraphKt {
+    ctor public ParagraphKt();
+    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints);
+  }
+
+  public final class ParagraphStyle {
+    ctor public ParagraphStyle(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    ctor public ParagraphStyle();
+    method public androidx.ui.text.style.TextAlign? component1();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? component2();
+    method public androidx.ui.core.TextUnit component3();
+    method public androidx.ui.text.style.TextIndent? component4();
+    method public androidx.ui.text.ParagraphStyle copy(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.ui.core.TextUnit getLineHeight();
+    method public androidx.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? getTextDirectionAlgorithm();
+    method public androidx.ui.text.style.TextIndent? getTextIndent();
+    method public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
+  }
+
+  public final class SpanStyle {
+    ctor public SpanStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public SpanStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.SpanStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
+  }
+
+  public final class SpanStyleKt {
+    ctor public SpanStyleKt();
+    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+  }
+
+  public final class StringKt {
+    ctor public StringKt();
+    method public static String capitalize(String, androidx.ui.text.Locale locale);
+    method public static String capitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String decapitalize(String, androidx.ui.text.Locale locale);
+    method public static String decapitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.ui.text.Locale locale);
+    method public static String toLowerCase(String, androidx.ui.text.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.ui.text.Locale locale);
+    method public static String toUpperCase(String, androidx.ui.text.LocaleList localeList);
+  }
+
+  public final class TextDelegateKt {
+    ctor public TextDelegateKt();
+  }
+
+  public final class TextRange {
+    ctor public TextRange(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(int offset);
+    method public androidx.ui.text.TextRange copy(int start, int end);
+    method public boolean getCollapsed();
+    method public int getEnd();
+    method public int getLength();
+    method public int getMax();
+    method public int getMin();
+    method public int getStart();
+    method public boolean intersects(androidx.ui.text.TextRange other);
+    property public final boolean collapsed;
+    property public final int length;
+    property public final int max;
+    property public final int min;
+  }
+
+  public final class TextRangeKt {
+    ctor public TextRangeKt();
+    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+  }
+
+  public final class TextSpan {
+    ctor public TextSpan(androidx.ui.text.SpanStyle? style, String? text, java.util.List<androidx.ui.text.TextSpan> children);
+    ctor public TextSpan();
+    method public java.util.List<androidx.ui.text.TextSpan> getChildren();
+    method public androidx.ui.text.SpanStyle? getStyle();
+    method public String? getText();
+  }
+
+  public final class TextSpanKt {
+    ctor public TextSpanKt();
+    method public static androidx.ui.text.AnnotatedString toAnnotatedString(androidx.ui.text.TextSpan);
+  }
+
+  public final class TextStyle {
+    ctor public TextStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public TextStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.TextStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
+    method public androidx.ui.text.SpanStyle toSpanStyle();
+  }
+
+  public final class TextStyleKt {
+    ctor public TextStyleKt();
+    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.font {
+
+  public final class Font {
+    ctor public Font(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String component1();
+    method public androidx.ui.text.font.FontWeight component2();
+    method public androidx.ui.text.font.FontStyle component3();
+    method public androidx.ui.text.font.Font copy(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String getName();
+    method public androidx.ui.text.font.FontStyle getStyle();
+    method public androidx.ui.text.font.FontWeight getWeight();
+  }
+
+  public static interface Font.ResourceLoader {
+    method public Object load(androidx.ui.text.font.Font font);
+  }
+
+  public final class FontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
+    ctor public FontFamily(String genericFamily);
+    ctor public FontFamily(androidx.ui.text.font.Font font);
+    ctor public FontFamily(java.util.List<androidx.ui.text.font.Font> fonts);
+    ctor public FontFamily(androidx.ui.text.font.Font... fonts);
+    method public String? component1();
+    method public java.util.List<androidx.ui.text.font.Font> component2();
+    method public boolean contains(androidx.ui.text.font.Font element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.font.FontFamily copy(String? genericFamily, java.util.List<androidx.ui.text.font.Font> fonts);
+    method public androidx.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method public String? getGenericFamily();
+    method public int getSize();
+    method public int indexOf(androidx.ui.text.font.Font element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    field public static final androidx.ui.text.font.FontFamily.Companion! Companion;
+  }
+
+  public static final class FontFamily.Companion {
+    method public androidx.ui.text.font.FontFamily getCursive();
+    method public androidx.ui.text.font.FontFamily getMonospace();
+    method public androidx.ui.text.font.FontFamily getSansSerif();
+    method public androidx.ui.text.font.FontFamily getSerif();
+    property public final androidx.ui.text.font.FontFamily Cursive;
+    property public final androidx.ui.text.font.FontFamily Monospace;
+    property public final androidx.ui.text.font.FontFamily SansSerif;
+    property public final androidx.ui.text.font.FontFamily Serif;
+  }
+
+  public final class FontKt {
+    ctor public FontKt();
+    method public static androidx.ui.text.font.FontFamily asFontFamily(androidx.ui.text.font.Font);
+  }
+
+  public enum FontStyle {
+    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+  }
+
+  public enum FontSynthesis {
+    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+  }
+
+  public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public androidx.ui.text.font.FontWeight copy(int weight);
+    field public static final androidx.ui.text.font.FontWeight.Companion! Companion;
+  }
+
+  public static final class FontWeight.Companion {
+    method public androidx.ui.text.font.FontWeight getBold();
+    method public androidx.ui.text.font.FontWeight getNormal();
+    method public androidx.ui.text.font.FontWeight getW100();
+    method public androidx.ui.text.font.FontWeight getW200();
+    method public androidx.ui.text.font.FontWeight getW300();
+    method public androidx.ui.text.font.FontWeight getW400();
+    method public androidx.ui.text.font.FontWeight getW500();
+    method public androidx.ui.text.font.FontWeight getW600();
+    method public androidx.ui.text.font.FontWeight getW700();
+    method public androidx.ui.text.font.FontWeight getW800();
+    method public androidx.ui.text.font.FontWeight getW900();
+    property public final androidx.ui.text.font.FontWeight Bold;
+    property public final androidx.ui.text.font.FontWeight Normal;
+    property public final androidx.ui.text.font.FontWeight W100;
+    property public final androidx.ui.text.font.FontWeight W200;
+    property public final androidx.ui.text.font.FontWeight W300;
+    property public final androidx.ui.text.font.FontWeight W400;
+    property public final androidx.ui.text.font.FontWeight W500;
+    property public final androidx.ui.text.font.FontWeight W600;
+    property public final androidx.ui.text.font.FontWeight W700;
+    property public final androidx.ui.text.font.FontWeight W800;
+    property public final androidx.ui.text.font.FontWeight W900;
+  }
+
+  public final class FontWeightKt {
+    ctor public FontWeightKt();
+    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.platform {
+
+  public final class AndroidParagraphHelperKt {
+    ctor public AndroidParagraphHelperKt();
+  }
+
+  public final class AndroidParagraphKt {
+    ctor public AndroidParagraphKt();
+  }
+
+  public final class PlatformLocaleKt {
+    ctor public PlatformLocaleKt();
+  }
+
+}
+
+package androidx.ui.text.style {
+
+  public final class BaselineShift {
+    ctor public BaselineShift(float multiplier);
+    method public float component1();
+    method public androidx.ui.text.style.BaselineShift copy(float multiplier);
+    method public float getMultiplier();
+    field public static final androidx.ui.text.style.BaselineShift.Companion! Companion;
+  }
+
+  public static final class BaselineShift.Companion {
+    method public androidx.ui.text.style.BaselineShift getSubscript();
+    method public androidx.ui.text.style.BaselineShift getSuperscript();
+    property public final androidx.ui.text.style.BaselineShift Subscript;
+    property public final androidx.ui.text.style.BaselineShift Superscript;
+  }
+
+  public final class BaselineShiftKt {
+    ctor public BaselineShiftKt();
+    method public static androidx.ui.text.style.BaselineShift lerp(androidx.ui.text.style.BaselineShift start, androidx.ui.text.style.BaselineShift stop, float fraction);
+  }
+
+  public enum TextAlign {
+    enum_constant public static final androidx.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+  }
+
+  public final class TextDecoration {
+    method public int component1();
+    method public boolean contains(androidx.ui.text.style.TextDecoration other);
+    method public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public int getMask();
+    field public static final androidx.ui.text.style.TextDecoration.Companion! Companion;
+  }
+
+  public static final class TextDecoration.Companion {
+    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
+    method public androidx.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.ui.text.style.TextDecoration getNone();
+    method public androidx.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.ui.text.style.TextDecoration None;
+    property public final androidx.ui.text.style.TextDecoration Underline;
+  }
+
+  public enum TextDirection {
+    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+  }
+
+  public enum TextDirectionAlgorithm {
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrRtl;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceRtl;
+  }
+
+  public final class TextGeometricTransform {
+    ctor public TextGeometricTransform(float scaleX, float skewX);
+    ctor public TextGeometricTransform();
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method public float getScaleX();
+    method public float getSkewX();
+    field public static final androidx.ui.text.style.TextGeometricTransform.Companion! Companion;
+  }
+
+  public static final class TextGeometricTransform.Companion {
+  }
+
+  public final class TextGeometricTransformKt {
+    ctor public TextGeometricTransformKt();
+    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+  }
+
+  public final class TextIndent {
+    ctor public TextIndent(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    ctor public TextIndent();
+    method public androidx.ui.core.TextUnit component1();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.style.TextIndent copy(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    method public androidx.ui.core.TextUnit getFirstLine();
+    method public androidx.ui.core.TextUnit getRestLine();
+  }
+
+  public final class TextIndentKt {
+    ctor public TextIndentKt();
+    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+  }
+
+  public enum TextOverflow {
+    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Fade;
+  }
+
+}
+
diff --git a/ui/ui-text/api/res-0.1.0-dev04.txt b/ui/ui-text/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-text/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-text/api/restricted_0.1.0-dev04.txt b/ui/ui-text/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..ea4d2ab
--- /dev/null
+++ b/ui/ui-text/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,777 @@
+// Signature format: 3.0
+package androidx.ui.input {
+
+  public final class BackspaceKeyEditOp implements androidx.ui.input.EditOperation {
+    ctor public BackspaceKeyEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class CommitTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public CommitTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.CommitTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class DeleteSurroundingTextInCodePointsEditOp implements androidx.ui.input.EditOperation {
+    ctor public DeleteSurroundingTextInCodePointsEditOp(int beforeLength, int afterLength);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.DeleteSurroundingTextInCodePointsEditOp copy(int beforeLength, int afterLength);
+    method public int getAfterLength();
+    method public int getBeforeLength();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface EditOperation {
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+
+  public final class EditingBuffer {
+    ctor public EditingBuffer(String initialText, androidx.ui.text.TextRange initialSelection);
+    field public static final int NOWHERE = -1; // 0xffffffff
+  }
+
+  public final class FinishComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public FinishComposingTextEditOp();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public enum ImeAction {
+    enum_constant public static final androidx.ui.input.ImeAction Done;
+    enum_constant public static final androidx.ui.input.ImeAction Go;
+    enum_constant public static final androidx.ui.input.ImeAction Next;
+    enum_constant public static final androidx.ui.input.ImeAction NoAction;
+    enum_constant public static final androidx.ui.input.ImeAction Previous;
+    enum_constant public static final androidx.ui.input.ImeAction Search;
+    enum_constant public static final androidx.ui.input.ImeAction Send;
+    enum_constant public static final androidx.ui.input.ImeAction Unspecified;
+  }
+
+  public interface InputEventListener {
+    method public void onEditOperations(java.util.List<? extends androidx.ui.input.EditOperation> editOps);
+    method public void onImeAction(androidx.ui.input.ImeAction imeAction);
+  }
+
+  public final class InputState {
+    ctor public InputState(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    ctor public InputState();
+    method public String component1();
+    method public androidx.ui.text.TextRange component2();
+    method public androidx.ui.text.TextRange? component3();
+    method public androidx.ui.input.InputState copy(String text, androidx.ui.text.TextRange selection, androidx.ui.text.TextRange? composition);
+    method public androidx.ui.text.TextRange? getComposition();
+    method public String getSelectedText();
+    method public androidx.ui.text.TextRange getSelection();
+    method public String getText();
+    method public String getTextAfterSelection(int maxChars);
+    method public String getTextBeforeSelection(int maxChars);
+  }
+
+  public enum KeyboardType {
+    enum_constant public static final androidx.ui.input.KeyboardType Ascii;
+    enum_constant public static final androidx.ui.input.KeyboardType Email;
+    enum_constant public static final androidx.ui.input.KeyboardType Number;
+    enum_constant public static final androidx.ui.input.KeyboardType NumberPassword;
+    enum_constant public static final androidx.ui.input.KeyboardType Password;
+    enum_constant public static final androidx.ui.input.KeyboardType Phone;
+    enum_constant public static final androidx.ui.input.KeyboardType Text;
+    enum_constant public static final androidx.ui.input.KeyboardType Uri;
+  }
+
+  public final class MoveCursorEditOp implements androidx.ui.input.EditOperation {
+    ctor public MoveCursorEditOp(int amount);
+    method public int component1();
+    method public androidx.ui.input.MoveCursorEditOp copy(int amount);
+    method public int getAmount();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public interface OffsetMap {
+    method public int originalToTransformed(int offset);
+    method public int transformedToOriginal(int offset);
+    field public static final androidx.ui.input.OffsetMap.Companion! Companion;
+  }
+
+  public static final class OffsetMap.Companion {
+    method public androidx.ui.input.OffsetMap getIdentityOffsetMap();
+    property public final androidx.ui.input.OffsetMap identityOffsetMap;
+  }
+
+
+  public final class PasswordVisualTransformation implements androidx.ui.input.VisualTransformation {
+    ctor public PasswordVisualTransformation(char mask);
+    ctor public PasswordVisualTransformation();
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+    method public char getMask();
+  }
+
+  public interface PlatformTextInputService {
+    method public void notifyFocusedRect(androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard();
+    method public void startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput();
+  }
+
+  public final class SetComposingRegionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingRegionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingRegionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetComposingTextEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetComposingTextEditOp(String text, int newCursorPosition);
+    method public String component1();
+    method public int component2();
+    method public androidx.ui.input.SetComposingTextEditOp copy(String text, int newCursorPosition);
+    method public int getNewCursorPosition();
+    method public String getText();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public final class SetSelectionEditOp implements androidx.ui.input.EditOperation {
+    ctor public SetSelectionEditOp(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public androidx.ui.input.SetSelectionEditOp copy(int start, int end);
+    method public int getEnd();
+    method public int getStart();
+    method public void process(androidx.ui.input.EditingBuffer buffer);
+  }
+
+  public class TextInputService {
+    ctor public TextInputService(androidx.ui.input.PlatformTextInputService platformTextInputService);
+    method public void notifyFocusedRect(int token, androidx.ui.engine.geometry.Rect rect);
+    method public void onStateUpdated(int token, androidx.ui.input.InputState model);
+    method public void showSoftwareKeyboard(int token);
+    method public int startInput(androidx.ui.input.InputState initModel, androidx.ui.input.KeyboardType keyboardType, androidx.ui.input.ImeAction imeAction, kotlin.jvm.functions.Function1<? super java.util.List<? extends androidx.ui.input.EditOperation>,kotlin.Unit> onEditCommand, kotlin.jvm.functions.Function1<? super androidx.ui.input.ImeAction,kotlin.Unit> onImeActionPerformed);
+    method public void stopInput(int token);
+  }
+
+  public final class TextInputServiceKt {
+    ctor public TextInputServiceKt();
+    field public static final int INVALID_SESSION = -1; // 0xffffffff
+    field public static final int NO_SESSION = 0; // 0x0
+  }
+
+  public final class TransformedText {
+    ctor public TransformedText(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.text.AnnotatedString component1();
+    method public androidx.ui.input.OffsetMap component2();
+    method public androidx.ui.input.TransformedText copy(androidx.ui.text.AnnotatedString transformedText, androidx.ui.input.OffsetMap offsetMap);
+    method public androidx.ui.input.OffsetMap getOffsetMap();
+    method public androidx.ui.text.AnnotatedString getTransformedText();
+  }
+
+  public interface VisualTransformation {
+    method public androidx.ui.input.TransformedText filter(androidx.ui.text.AnnotatedString text);
+  }
+
+}
+
+package androidx.ui.text {
+
+  public final class AnnotatedString {
+    ctor public AnnotatedString(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public String component1();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> component2();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> component3();
+    method public androidx.ui.text.AnnotatedString copy(String text, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> paragraphStyles);
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.ParagraphStyle>> getParagraphStyles();
+    method public java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> getSpanStyles();
+    method public String getText();
+    method public operator androidx.ui.text.AnnotatedString plus(androidx.ui.text.AnnotatedString other);
+  }
+
+  public static final class AnnotatedString.Builder {
+    ctor public AnnotatedString.Builder(int capacity);
+    ctor public AnnotatedString.Builder();
+    ctor public AnnotatedString.Builder(String text);
+    ctor public AnnotatedString.Builder(androidx.ui.text.AnnotatedString text);
+    method public void addStyle(androidx.ui.text.SpanStyle style, int start, int end);
+    method public void addStyle(androidx.ui.text.ParagraphStyle style, int start, int end);
+    method public void append(String text);
+    method public void append(char p);
+    method public void append(androidx.ui.text.AnnotatedString text);
+    method public int getLength();
+    method public void popStyle();
+    method public void popStyle(int index);
+    method public int pushStyle(androidx.ui.text.SpanStyle style);
+    method public int pushStyle(androidx.ui.text.ParagraphStyle style);
+    method public androidx.ui.text.AnnotatedString toAnnotatedString();
+    property public final int length;
+  }
+
+  public static final class AnnotatedString.Item<T> {
+    ctor public AnnotatedString.Item(T! item, int start, int end);
+    method public T! component1();
+    method public int component2();
+    method public int component3();
+    method public androidx.ui.text.AnnotatedString.Item<T> copy(T! item, int start, int end);
+    method public int getEnd();
+    method public T! getItem();
+    method public int getStart();
+  }
+
+  public final class AnnotatedStringKt {
+    ctor public AnnotatedStringKt();
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.SpanStyle spanStyle, androidx.ui.text.ParagraphStyle? paragraphStyle = null);
+    method public static androidx.ui.text.AnnotatedString AnnotatedString(String text, androidx.ui.text.ParagraphStyle paragraphStyle);
+    method public static inline androidx.ui.text.AnnotatedString AnnotatedString(kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,kotlin.Unit> builder);
+    method public static androidx.ui.text.AnnotatedString capitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString decapitalize(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static int getLength(androidx.ui.text.AnnotatedString);
+    method public static androidx.ui.text.AnnotatedString subSequence(androidx.ui.text.AnnotatedString, int start, int end);
+    method public static androidx.ui.text.AnnotatedString toLowerCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static androidx.ui.text.AnnotatedString toUpperCase(androidx.ui.text.AnnotatedString, androidx.ui.text.LocaleList localeList = LocaleList.current);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.SpanStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+    method public static inline <R> R withStyle(androidx.ui.text.AnnotatedString.Builder, androidx.ui.text.ParagraphStyle style, kotlin.jvm.functions.Function1<? super androidx.ui.text.AnnotatedString.Builder,? extends R> block);
+  }
+
+  public final class Locale {
+    ctor public Locale(String languageTag);
+    method public String getLanguage();
+    method public String getRegion();
+    method public String getScript();
+    method public String toLanguageTag();
+    property public final String language;
+    property public final String region;
+    property public final String script;
+    field public static final androidx.ui.text.Locale.Companion! Companion;
+  }
+
+  public static final class Locale.Companion {
+    method public androidx.ui.text.Locale getCurrent();
+    property public final androidx.ui.text.Locale current;
+  }
+
+  public final class LocaleList implements java.util.Collection<androidx.ui.text.Locale> kotlin.jvm.internal.markers.KMappedMarker {
+    ctor public LocaleList(java.util.List<androidx.ui.text.Locale> localeList);
+    ctor public LocaleList(String languageTags);
+    ctor public LocaleList(androidx.ui.text.Locale... locales);
+    method public java.util.List<androidx.ui.text.Locale> component1();
+    method public operator boolean contains(androidx.ui.text.Locale element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.LocaleList copy(java.util.List<androidx.ui.text.Locale> localeList);
+    method public operator androidx.ui.text.Locale get(int i);
+    method public java.util.List<androidx.ui.text.Locale> getLocaleList();
+    method public int getSize();
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.Locale> iterator();
+    property public int size;
+    field public static final androidx.ui.text.LocaleList.Companion! Companion;
+  }
+
+  public static final class LocaleList.Companion {
+    method public androidx.ui.text.LocaleList getCurrent();
+    property public final androidx.ui.text.LocaleList current;
+  }
+
+  public final class MultiParagraph {
+    ctor public MultiParagraph(androidx.ui.text.MultiParagraphIntrinsics intrinsics, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints);
+    ctor public MultiParagraph(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, Integer? maxLines, Boolean? ellipsis, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public androidx.ui.text.MultiParagraphIntrinsics getIntrinsics();
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public Integer? getMaxLines();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public final boolean didExceedMaxLines;
+    property public final float firstBaseline;
+    property public final float height;
+    property public final float lastBaseline;
+    property public final int lineCount;
+    property public final float maxIntrinsicWidth;
+    property public final float minIntrinsicWidth;
+    property public final float width;
+  }
+
+  public final class MultiParagraphIntrinsics implements androidx.ui.text.ParagraphIntrinsics {
+    ctor public MultiParagraphIntrinsics(androidx.ui.text.AnnotatedString annotatedString, androidx.ui.text.TextStyle textStyle, androidx.ui.text.ParagraphStyle paragraphStyle, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public androidx.ui.text.AnnotatedString getAnnotatedString();
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public float maxIntrinsicWidth;
+    property public float minIntrinsicWidth;
+  }
+
+  public final class MultiParagraphKt {
+    ctor public MultiParagraphKt();
+  }
+
+  public interface Paragraph {
+    method public androidx.ui.text.style.TextDirection getBidiRunDirection(int offset);
+    method public androidx.ui.engine.geometry.Rect getBoundingBox(int offset);
+    method public androidx.ui.engine.geometry.Rect getCursorRect(int offset);
+    method public boolean getDidExceedMaxLines();
+    method public float getFirstBaseline();
+    method public float getHeight();
+    method public float getHorizontalPosition(int offset, boolean usePrimaryDirection);
+    method public float getLastBaseline();
+    method public float getLineBottom(int lineIndex);
+    method public int getLineCount();
+    method public int getLineForOffset(int offset);
+    method public float getLineHeight(int lineIndex);
+    method public float getLineLeft(int lineIndex);
+    method public float getLineRight(int lineIndex);
+    method public float getLineWidth(int lineIndex);
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    method public int getOffsetForPosition(androidx.ui.core.PxPosition position);
+    method public androidx.ui.text.style.TextDirection getParagraphDirection(int offset);
+    method public androidx.ui.graphics.Path getPathForRange(int start, int end);
+    method public float getWidth();
+    method public androidx.ui.text.TextRange getWordBoundary(int offset);
+    method public void paint(androidx.ui.graphics.Canvas canvas);
+    property public abstract boolean didExceedMaxLines;
+    property public abstract float firstBaseline;
+    property public abstract float height;
+    property public abstract float lastBaseline;
+    property public abstract int lineCount;
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+    property public abstract float width;
+  }
+
+  public final class ParagraphConstraints {
+    ctor public ParagraphConstraints(float width);
+    method public float component1();
+    method public androidx.ui.text.ParagraphConstraints copy(float width);
+    method public float getWidth();
+  }
+
+  public interface ParagraphIntrinsics {
+    method public float getMaxIntrinsicWidth();
+    method public float getMinIntrinsicWidth();
+    property public abstract float maxIntrinsicWidth;
+    property public abstract float minIntrinsicWidth;
+  }
+
+  public final class ParagraphIntrinsicsKt {
+    ctor public ParagraphIntrinsicsKt();
+    method public static androidx.ui.text.ParagraphIntrinsics ParagraphIntrinsics(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+  }
+
+  public final class ParagraphKt {
+    ctor public ParagraphKt();
+    method public static androidx.ui.text.Paragraph Paragraph(String text, androidx.ui.text.TextStyle style, androidx.ui.text.ParagraphStyle paragraphStyle, java.util.List<androidx.ui.text.AnnotatedString.Item<androidx.ui.text.SpanStyle>> spanStyles, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints, androidx.ui.core.Density density, androidx.ui.text.font.Font.ResourceLoader resourceLoader);
+    method public static androidx.ui.text.Paragraph Paragraph(androidx.ui.text.ParagraphIntrinsics paragraphIntrinsics, Integer? maxLines = null, Boolean? ellipsis = null, androidx.ui.text.ParagraphConstraints constraints);
+  }
+
+  public final class ParagraphStyle {
+    ctor public ParagraphStyle(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    ctor public ParagraphStyle();
+    method public androidx.ui.text.style.TextAlign? component1();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? component2();
+    method public androidx.ui.core.TextUnit component3();
+    method public androidx.ui.text.style.TextIndent? component4();
+    method public androidx.ui.text.ParagraphStyle copy(androidx.ui.text.style.TextAlign? textAlign, androidx.ui.text.style.TextDirectionAlgorithm? textDirectionAlgorithm, androidx.ui.core.TextUnit lineHeight, androidx.ui.text.style.TextIndent? textIndent);
+    method public androidx.ui.core.TextUnit getLineHeight();
+    method public androidx.ui.text.style.TextAlign? getTextAlign();
+    method public androidx.ui.text.style.TextDirectionAlgorithm? getTextDirectionAlgorithm();
+    method public androidx.ui.text.style.TextIndent? getTextIndent();
+    method public androidx.ui.text.ParagraphStyle merge(androidx.ui.text.ParagraphStyle? other = null);
+  }
+
+  public final class SpanStyle {
+    ctor public SpanStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public SpanStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.SpanStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.SpanStyle merge(androidx.ui.text.SpanStyle? other = null);
+  }
+
+  public final class SpanStyleKt {
+    ctor public SpanStyleKt();
+    method public static androidx.ui.text.SpanStyle lerp(androidx.ui.text.SpanStyle start, androidx.ui.text.SpanStyle stop, float fraction);
+  }
+
+  public final class StringKt {
+    ctor public StringKt();
+    method public static String capitalize(String, androidx.ui.text.Locale locale);
+    method public static String capitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String decapitalize(String, androidx.ui.text.Locale locale);
+    method public static String decapitalize(String, androidx.ui.text.LocaleList localeList);
+    method public static String toLowerCase(String, androidx.ui.text.Locale locale);
+    method public static String toLowerCase(String, androidx.ui.text.LocaleList localeList);
+    method public static String toUpperCase(String, androidx.ui.text.Locale locale);
+    method public static String toUpperCase(String, androidx.ui.text.LocaleList localeList);
+  }
+
+
+  public final class TextDelegateKt {
+    ctor public TextDelegateKt();
+  }
+
+  public final class TextRange {
+    ctor public TextRange(int start, int end);
+    method public int component1();
+    method public int component2();
+    method public operator boolean contains(androidx.ui.text.TextRange other);
+    method public operator boolean contains(int offset);
+    method public androidx.ui.text.TextRange copy(int start, int end);
+    method public boolean getCollapsed();
+    method public int getEnd();
+    method public int getLength();
+    method public int getMax();
+    method public int getMin();
+    method public int getStart();
+    method public boolean intersects(androidx.ui.text.TextRange other);
+    property public final boolean collapsed;
+    property public final int length;
+    property public final int max;
+    property public final int min;
+  }
+
+  public final class TextRangeKt {
+    ctor public TextRangeKt();
+    method public static String substring(CharSequence, androidx.ui.text.TextRange range);
+  }
+
+  public final class TextSpan {
+    ctor public TextSpan(androidx.ui.text.SpanStyle? style, String? text, java.util.List<androidx.ui.text.TextSpan> children);
+    ctor public TextSpan();
+    method public java.util.List<androidx.ui.text.TextSpan> getChildren();
+    method public androidx.ui.text.SpanStyle? getStyle();
+    method public String? getText();
+  }
+
+  public final class TextSpanKt {
+    ctor public TextSpanKt();
+    method public static androidx.ui.text.AnnotatedString toAnnotatedString(androidx.ui.text.TextSpan);
+  }
+
+  public final class TextStyle {
+    ctor public TextStyle(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    ctor public TextStyle();
+    method public androidx.ui.graphics.Color? component1();
+    method public androidx.ui.text.style.TextGeometricTransform? component10();
+    method public androidx.ui.text.LocaleList? component11();
+    method public androidx.ui.graphics.Color? component12();
+    method public androidx.ui.text.style.TextDecoration? component13();
+    method public androidx.ui.graphics.Shadow? component14();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.font.FontWeight? component3();
+    method public androidx.ui.text.font.FontStyle? component4();
+    method public androidx.ui.text.font.FontSynthesis? component5();
+    method public androidx.ui.text.font.FontFamily? component6();
+    method public String? component7();
+    method public androidx.ui.core.TextUnit component8();
+    method public androidx.ui.text.style.BaselineShift? component9();
+    method public androidx.ui.text.TextStyle copy(androidx.ui.graphics.Color? color, androidx.ui.core.TextUnit fontSize, androidx.ui.text.font.FontWeight? fontWeight, androidx.ui.text.font.FontStyle? fontStyle, androidx.ui.text.font.FontSynthesis? fontSynthesis, androidx.ui.text.font.FontFamily? fontFamily, String? fontFeatureSettings, androidx.ui.core.TextUnit letterSpacing, androidx.ui.text.style.BaselineShift? baselineShift, androidx.ui.text.style.TextGeometricTransform? textGeometricTransform, androidx.ui.text.LocaleList? localeList, androidx.ui.graphics.Color? background, androidx.ui.text.style.TextDecoration? decoration, androidx.ui.graphics.Shadow? shadow);
+    method public androidx.ui.graphics.Color? getBackground();
+    method public androidx.ui.text.style.BaselineShift? getBaselineShift();
+    method public androidx.ui.graphics.Color? getColor();
+    method public androidx.ui.text.style.TextDecoration? getDecoration();
+    method public androidx.ui.text.font.FontFamily? getFontFamily();
+    method public String? getFontFeatureSettings();
+    method public androidx.ui.core.TextUnit getFontSize();
+    method public androidx.ui.text.font.FontStyle? getFontStyle();
+    method public androidx.ui.text.font.FontSynthesis? getFontSynthesis();
+    method public androidx.ui.text.font.FontWeight? getFontWeight();
+    method public androidx.ui.core.TextUnit getLetterSpacing();
+    method public androidx.ui.text.LocaleList? getLocaleList();
+    method public androidx.ui.graphics.Shadow? getShadow();
+    method public androidx.ui.text.style.TextGeometricTransform? getTextGeometricTransform();
+    method public androidx.ui.text.TextStyle merge(androidx.ui.text.TextStyle? other = null);
+    method public androidx.ui.text.SpanStyle toSpanStyle();
+  }
+
+  public final class TextStyleKt {
+    ctor public TextStyleKt();
+    method public static androidx.ui.text.TextStyle lerp(androidx.ui.text.TextStyle start, androidx.ui.text.TextStyle stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.font {
+
+  public final class Font {
+    ctor public Font(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String component1();
+    method public androidx.ui.text.font.FontWeight component2();
+    method public androidx.ui.text.font.FontStyle component3();
+    method public androidx.ui.text.font.Font copy(String name, androidx.ui.text.font.FontWeight weight, androidx.ui.text.font.FontStyle style);
+    method public String getName();
+    method public androidx.ui.text.font.FontStyle getStyle();
+    method public androidx.ui.text.font.FontWeight getWeight();
+  }
+
+  public static interface Font.ResourceLoader {
+    method public Object load(androidx.ui.text.font.Font font);
+  }
+
+  public final class FontFamily implements kotlin.jvm.internal.markers.KMappedMarker java.util.List<androidx.ui.text.font.Font> {
+    ctor public FontFamily(String genericFamily);
+    ctor public FontFamily(androidx.ui.text.font.Font font);
+    ctor public FontFamily(java.util.List<androidx.ui.text.font.Font> fonts);
+    ctor public FontFamily(androidx.ui.text.font.Font... fonts);
+    method public String? component1();
+    method public java.util.List<androidx.ui.text.font.Font> component2();
+    method public boolean contains(androidx.ui.text.font.Font element);
+    method public boolean containsAll(java.util.Collection<?> elements);
+    method public androidx.ui.text.font.FontFamily copy(String? genericFamily, java.util.List<androidx.ui.text.font.Font> fonts);
+    method public androidx.ui.text.font.Font get(int index);
+    method public java.util.List<androidx.ui.text.font.Font> getFonts();
+    method public String? getGenericFamily();
+    method public int getSize();
+    method public int indexOf(androidx.ui.text.font.Font element);
+    method public boolean isEmpty();
+    method public java.util.Iterator<androidx.ui.text.font.Font> iterator();
+    method public int lastIndexOf(androidx.ui.text.font.Font element);
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator();
+    method public java.util.ListIterator<androidx.ui.text.font.Font> listIterator(int index);
+    method public java.util.List<androidx.ui.text.font.Font> subList(int fromIndex, int toIndex);
+    field public static final androidx.ui.text.font.FontFamily.Companion! Companion;
+  }
+
+  public static final class FontFamily.Companion {
+    method public androidx.ui.text.font.FontFamily getCursive();
+    method public androidx.ui.text.font.FontFamily getMonospace();
+    method public androidx.ui.text.font.FontFamily getSansSerif();
+    method public androidx.ui.text.font.FontFamily getSerif();
+    property public final androidx.ui.text.font.FontFamily Cursive;
+    property public final androidx.ui.text.font.FontFamily Monospace;
+    property public final androidx.ui.text.font.FontFamily SansSerif;
+    property public final androidx.ui.text.font.FontFamily Serif;
+  }
+
+  public final class FontKt {
+    ctor public FontKt();
+    method public static androidx.ui.text.font.FontFamily asFontFamily(androidx.ui.text.font.Font);
+  }
+
+  public enum FontStyle {
+    enum_constant public static final androidx.ui.text.font.FontStyle Italic;
+    enum_constant public static final androidx.ui.text.font.FontStyle Normal;
+  }
+
+  public enum FontSynthesis {
+    enum_constant public static final androidx.ui.text.font.FontSynthesis All;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis None;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Style;
+    enum_constant public static final androidx.ui.text.font.FontSynthesis Weight;
+  }
+
+  public final class FontWeight implements java.lang.Comparable<androidx.ui.text.font.FontWeight> {
+    method public int compareTo(androidx.ui.text.font.FontWeight other);
+    method public androidx.ui.text.font.FontWeight copy(int weight);
+    field public static final androidx.ui.text.font.FontWeight.Companion! Companion;
+  }
+
+  public static final class FontWeight.Companion {
+    method public androidx.ui.text.font.FontWeight getBold();
+    method public androidx.ui.text.font.FontWeight getNormal();
+    method public androidx.ui.text.font.FontWeight getW100();
+    method public androidx.ui.text.font.FontWeight getW200();
+    method public androidx.ui.text.font.FontWeight getW300();
+    method public androidx.ui.text.font.FontWeight getW400();
+    method public androidx.ui.text.font.FontWeight getW500();
+    method public androidx.ui.text.font.FontWeight getW600();
+    method public androidx.ui.text.font.FontWeight getW700();
+    method public androidx.ui.text.font.FontWeight getW800();
+    method public androidx.ui.text.font.FontWeight getW900();
+    property public final androidx.ui.text.font.FontWeight Bold;
+    property public final androidx.ui.text.font.FontWeight Normal;
+    property public final androidx.ui.text.font.FontWeight W100;
+    property public final androidx.ui.text.font.FontWeight W200;
+    property public final androidx.ui.text.font.FontWeight W300;
+    property public final androidx.ui.text.font.FontWeight W400;
+    property public final androidx.ui.text.font.FontWeight W500;
+    property public final androidx.ui.text.font.FontWeight W600;
+    property public final androidx.ui.text.font.FontWeight W700;
+    property public final androidx.ui.text.font.FontWeight W800;
+    property public final androidx.ui.text.font.FontWeight W900;
+  }
+
+  public final class FontWeightKt {
+    ctor public FontWeightKt();
+    method public static androidx.ui.text.font.FontWeight lerp(androidx.ui.text.font.FontWeight start, androidx.ui.text.font.FontWeight stop, float fraction);
+  }
+
+}
+
+package androidx.ui.text.platform {
+
+  public final class AndroidParagraphHelperKt {
+    ctor public AndroidParagraphHelperKt();
+  }
+
+  public final class AndroidParagraphKt {
+    ctor public AndroidParagraphKt();
+  }
+
+  public final class PlatformLocaleKt {
+    ctor public PlatformLocaleKt();
+  }
+
+}
+
+package androidx.ui.text.style {
+
+  public final class BaselineShift {
+    ctor public BaselineShift(float multiplier);
+    method public float component1();
+    method public androidx.ui.text.style.BaselineShift copy(float multiplier);
+    method public float getMultiplier();
+    field public static final androidx.ui.text.style.BaselineShift.Companion! Companion;
+  }
+
+  public static final class BaselineShift.Companion {
+    method public androidx.ui.text.style.BaselineShift getSubscript();
+    method public androidx.ui.text.style.BaselineShift getSuperscript();
+    property public final androidx.ui.text.style.BaselineShift Subscript;
+    property public final androidx.ui.text.style.BaselineShift Superscript;
+  }
+
+  public final class BaselineShiftKt {
+    ctor public BaselineShiftKt();
+    method public static androidx.ui.text.style.BaselineShift lerp(androidx.ui.text.style.BaselineShift start, androidx.ui.text.style.BaselineShift stop, float fraction);
+  }
+
+  public enum TextAlign {
+    enum_constant public static final androidx.ui.text.style.TextAlign Center;
+    enum_constant public static final androidx.ui.text.style.TextAlign End;
+    enum_constant public static final androidx.ui.text.style.TextAlign Justify;
+    enum_constant public static final androidx.ui.text.style.TextAlign Left;
+    enum_constant public static final androidx.ui.text.style.TextAlign Right;
+    enum_constant public static final androidx.ui.text.style.TextAlign Start;
+  }
+
+  public final class TextDecoration {
+    method public int component1();
+    method public boolean contains(androidx.ui.text.style.TextDecoration other);
+    method public androidx.ui.text.style.TextDecoration copy(int mask);
+    method public int getMask();
+    field public static final androidx.ui.text.style.TextDecoration.Companion! Companion;
+  }
+
+  public static final class TextDecoration.Companion {
+    method public androidx.ui.text.style.TextDecoration combine(java.util.List<androidx.ui.text.style.TextDecoration> decorations);
+    method public androidx.ui.text.style.TextDecoration getLineThrough();
+    method public androidx.ui.text.style.TextDecoration getNone();
+    method public androidx.ui.text.style.TextDecoration getUnderline();
+    property public final androidx.ui.text.style.TextDecoration LineThrough;
+    property public final androidx.ui.text.style.TextDecoration None;
+    property public final androidx.ui.text.style.TextDecoration Underline;
+  }
+
+  public enum TextDirection {
+    enum_constant public static final androidx.ui.text.style.TextDirection Ltr;
+    enum_constant public static final androidx.ui.text.style.TextDirection Rtl;
+  }
+
+  public enum TextDirectionAlgorithm {
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ContentOrRtl;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceLtr;
+    enum_constant public static final androidx.ui.text.style.TextDirectionAlgorithm ForceRtl;
+  }
+
+  public final class TextGeometricTransform {
+    ctor public TextGeometricTransform(float scaleX, float skewX);
+    ctor public TextGeometricTransform();
+    method public float component1();
+    method public float component2();
+    method public androidx.ui.text.style.TextGeometricTransform copy(float scaleX, float skewX);
+    method public float getScaleX();
+    method public float getSkewX();
+    field public static final androidx.ui.text.style.TextGeometricTransform.Companion! Companion;
+  }
+
+  public static final class TextGeometricTransform.Companion {
+  }
+
+  public final class TextGeometricTransformKt {
+    ctor public TextGeometricTransformKt();
+    method public static androidx.ui.text.style.TextGeometricTransform lerp(androidx.ui.text.style.TextGeometricTransform start, androidx.ui.text.style.TextGeometricTransform stop, float fraction);
+  }
+
+  public final class TextIndent {
+    ctor public TextIndent(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    ctor public TextIndent();
+    method public androidx.ui.core.TextUnit component1();
+    method public androidx.ui.core.TextUnit component2();
+    method public androidx.ui.text.style.TextIndent copy(androidx.ui.core.TextUnit firstLine, androidx.ui.core.TextUnit restLine);
+    method public androidx.ui.core.TextUnit getFirstLine();
+    method public androidx.ui.core.TextUnit getRestLine();
+  }
+
+  public final class TextIndentKt {
+    ctor public TextIndentKt();
+    method public static androidx.ui.text.style.TextIndent lerp(androidx.ui.text.style.TextIndent start, androidx.ui.text.style.TextIndent stop, float fraction);
+  }
+
+  public enum TextOverflow {
+    enum_constant public static final androidx.ui.text.style.TextOverflow Clip;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Ellipsis;
+    enum_constant public static final androidx.ui.text.style.TextOverflow Fade;
+  }
+
+}
+
diff --git a/ui/ui-tooling/api/0.1.0-dev04.txt b/ui/ui-tooling/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..7549fd9
--- /dev/null
+++ b/ui/ui-tooling/api/0.1.0-dev04.txt
@@ -0,0 +1,63 @@
+// Signature format: 3.0
+package androidx.ui.tooling {
+
+  public final class CallGroup extends androidx.ui.tooling.Group {
+    ctor public CallGroup(Object? key, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+  }
+
+  public abstract sealed class Group {
+    method public final androidx.ui.core.PxBounds getBox();
+    method public final androidx.ui.tooling.Group![] getChildren();
+    method public final Object![] getData();
+    method public final Object? getKey();
+  }
+
+  public final class InspectableKt {
+    ctor public InspectableKt();
+    method public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Inspectable(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static java.util.Set<androidx.compose.SlotTable>! getTables();
+  }
+
+  public final class JoinedKey {
+    ctor public JoinedKey(Object? left, Object? right);
+    method public Object? component1();
+    method public Object? component2();
+    method public androidx.ui.tooling.JoinedKey copy(Object? left, Object? right);
+    method public Object? getLeft();
+    method public Object? getRight();
+  }
+
+  public final class NodeGroup extends androidx.ui.tooling.Group {
+    ctor public NodeGroup(Object? key, Object node, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+    method public Object getNode();
+  }
+
+  public final class SlotTreeKt {
+    ctor public SlotTreeKt();
+    method public static androidx.ui.tooling.Group asTree(androidx.compose.SlotTable);
+    method public static String? getPosition(androidx.ui.tooling.Group);
+  }
+
+}
+
+package androidx.ui.tooling.preview {
+
+  public final class ComposeViewAdapterKt {
+    ctor public ComposeViewAdapterKt();
+    field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+  }
+
+  @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(AnnotationRetention.SOURCE) @kotlin.annotation.Target(allowedTargets=AnnotationTarget.FUNCTION) public @interface Preview {
+    method public abstract int apiLevel() default -1;
+    method public abstract float fontScale() default 1.0f;
+    method public abstract String group() default "";
+    method public abstract int heightDp() default -1;
+    method public abstract String locale() default "";
+    method public abstract String name() default "";
+    method public abstract String theme() default "";
+    method public abstract int widthDp() default -1;
+  }
+
+}
+
diff --git a/ui/ui-tooling/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-tooling/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..7549fd9
--- /dev/null
+++ b/ui/ui-tooling/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,63 @@
+// Signature format: 3.0
+package androidx.ui.tooling {
+
+  public final class CallGroup extends androidx.ui.tooling.Group {
+    ctor public CallGroup(Object? key, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+  }
+
+  public abstract sealed class Group {
+    method public final androidx.ui.core.PxBounds getBox();
+    method public final androidx.ui.tooling.Group![] getChildren();
+    method public final Object![] getData();
+    method public final Object? getKey();
+  }
+
+  public final class InspectableKt {
+    ctor public InspectableKt();
+    method public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Inspectable(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static java.util.Set<androidx.compose.SlotTable>! getTables();
+  }
+
+  public final class JoinedKey {
+    ctor public JoinedKey(Object? left, Object? right);
+    method public Object? component1();
+    method public Object? component2();
+    method public androidx.ui.tooling.JoinedKey copy(Object? left, Object? right);
+    method public Object? getLeft();
+    method public Object? getRight();
+  }
+
+  public final class NodeGroup extends androidx.ui.tooling.Group {
+    ctor public NodeGroup(Object? key, Object node, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+    method public Object getNode();
+  }
+
+  public final class SlotTreeKt {
+    ctor public SlotTreeKt();
+    method public static androidx.ui.tooling.Group asTree(androidx.compose.SlotTable);
+    method public static String? getPosition(androidx.ui.tooling.Group);
+  }
+
+}
+
+package androidx.ui.tooling.preview {
+
+  public final class ComposeViewAdapterKt {
+    ctor public ComposeViewAdapterKt();
+    field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+  }
+
+  @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(AnnotationRetention.SOURCE) @kotlin.annotation.Target(allowedTargets=AnnotationTarget.FUNCTION) public @interface Preview {
+    method public abstract int apiLevel() default -1;
+    method public abstract float fontScale() default 1.0f;
+    method public abstract String group() default "";
+    method public abstract int heightDp() default -1;
+    method public abstract String locale() default "";
+    method public abstract String name() default "";
+    method public abstract String theme() default "";
+    method public abstract int widthDp() default -1;
+  }
+
+}
+
diff --git a/ui/ui-tooling/api/res-0.1.0-dev04.txt b/ui/ui-tooling/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-tooling/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-tooling/api/restricted_0.1.0-dev04.txt b/ui/ui-tooling/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..7549fd9
--- /dev/null
+++ b/ui/ui-tooling/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,63 @@
+// Signature format: 3.0
+package androidx.ui.tooling {
+
+  public final class CallGroup extends androidx.ui.tooling.Group {
+    ctor public CallGroup(Object? key, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+  }
+
+  public abstract sealed class Group {
+    method public final androidx.ui.core.PxBounds getBox();
+    method public final androidx.ui.tooling.Group![] getChildren();
+    method public final Object![] getData();
+    method public final Object? getKey();
+  }
+
+  public final class InspectableKt {
+    ctor public InspectableKt();
+    method public static void InInspectionModeOnly(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static void Inspectable(kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public static java.util.Set<androidx.compose.SlotTable>! getTables();
+  }
+
+  public final class JoinedKey {
+    ctor public JoinedKey(Object? left, Object? right);
+    method public Object? component1();
+    method public Object? component2();
+    method public androidx.ui.tooling.JoinedKey copy(Object? left, Object? right);
+    method public Object? getLeft();
+    method public Object? getRight();
+  }
+
+  public final class NodeGroup extends androidx.ui.tooling.Group {
+    ctor public NodeGroup(Object? key, Object node, androidx.ui.core.PxBounds box, Object![] data, androidx.ui.tooling.Group![] children);
+    method public Object getNode();
+  }
+
+  public final class SlotTreeKt {
+    ctor public SlotTreeKt();
+    method public static androidx.ui.tooling.Group asTree(androidx.compose.SlotTable);
+    method public static String? getPosition(androidx.ui.tooling.Group);
+  }
+
+}
+
+package androidx.ui.tooling.preview {
+
+  public final class ComposeViewAdapterKt {
+    ctor public ComposeViewAdapterKt();
+    field public static final String TOOLS_NS_URI = "http://schemas.android.com/tools";
+  }
+
+  @kotlin.annotation.MustBeDocumented @kotlin.annotation.Retention(AnnotationRetention.SOURCE) @kotlin.annotation.Target(allowedTargets=AnnotationTarget.FUNCTION) public @interface Preview {
+    method public abstract int apiLevel() default -1;
+    method public abstract float fontScale() default 1.0f;
+    method public abstract String group() default "";
+    method public abstract int heightDp() default -1;
+    method public abstract String locale() default "";
+    method public abstract String name() default "";
+    method public abstract String theme() default "";
+    method public abstract int widthDp() default -1;
+  }
+
+}
+
diff --git a/ui/ui-vector/api/0.1.0-dev04.txt b/ui/ui-vector/api/0.1.0-dev04.txt
new file mode 100644
index 0000000..3592a1d
--- /dev/null
+++ b/ui/ui-vector/api/0.1.0-dev04.txt
@@ -0,0 +1,153 @@
+// Signature format: 3.0
+package androidx.ui.graphics.vector {
+
+  public final class GroupComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public GroupComponent(String name);
+    ctor public GroupComponent();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public void insertAt(int index, androidx.ui.graphics.vector.VNode instance);
+    method public void move(int from, int to, int count);
+    method public void remove(int index, int count);
+    method public void setClipPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setPivotX(float value);
+    method public void setPivotY(float value);
+    method public void setRotation(float value);
+    method public void setScaleX(float value);
+    method public void setScaleY(float value);
+    method public void setTranslationX(float value);
+    method public void setTranslationY(float value);
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData;
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+    property public final float pivotX;
+    property public final float pivotY;
+    property public final float rotation;
+    property public final float scaleX;
+    property public final float scaleY;
+    property public final int size;
+    property public final float translationX;
+    property public final float translationY;
+  }
+
+  public final class PathComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public PathComponent(String name);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+    method public void setFill(androidx.ui.graphics.Brush? value);
+    method public void setFillAlpha(float value);
+    method public void setPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setStroke(androidx.ui.graphics.Brush? value);
+    method public void setStrokeAlpha(float value);
+    method public void setStrokeLineCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeLineJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeLineMiter(float value);
+    method public void setStrokeLineWidth(float value);
+    property public final androidx.ui.graphics.Brush? fill;
+    property public final float fillAlpha;
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> pathData;
+    property public final androidx.ui.graphics.Brush? stroke;
+    property public final float strokeAlpha;
+    property public final androidx.ui.graphics.StrokeCap strokeLineCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeLineJoin;
+    property public final float strokeLineMiter;
+    property public final float strokeLineWidth;
+  }
+
+  public abstract sealed class VNode {
+    method public abstract void draw(androidx.ui.graphics.Canvas canvas);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getInvalidateListener();
+    method public final void invalidate();
+    method public void setInvalidateListener(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+  }
+
+  public final class VectorComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public VectorComponent(String name, float viewportWidth, float viewportHeight, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight);
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode blendMode = DefaultTintBlendMode);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.GroupComponent getRoot();
+    method public int getSize();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public void setDefaultHeight(androidx.ui.core.Px p);
+    method public void setDefaultWidth(androidx.ui.core.Px p);
+    method public void setViewportHeight(float p);
+    method public void setViewportWidth(float p);
+    property public final androidx.ui.graphics.vector.GroupComponent root;
+    property public final int size;
+  }
+
+  public final class VectorComposeNonIRKt {
+    ctor public VectorComposeNonIRKt();
+    method public static void composeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> composable);
+    method public static void disposeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class VectorComposer extends androidx.compose.Composer<androidx.ui.graphics.vector.VNode> {
+    ctor public VectorComposer(androidx.ui.graphics.vector.VNode root, androidx.compose.Recomposer recomposer);
+    method public androidx.ui.graphics.vector.VNode getRoot();
+  }
+
+  public final class VectorComposition {
+    ctor public VectorComposition(androidx.ui.graphics.vector.VectorComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline <T extends androidx.ui.graphics.vector.VNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.VNode>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.graphics.vector.GroupComponent> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.GroupComponent>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.graphics.vector.VectorComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class VectorKt {
+    ctor public VectorKt();
+    method public static inline java.util.List<androidx.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+    method public static androidx.ui.graphics.StrokeCap getDefaultStrokeLineCap();
+    method public static androidx.ui.graphics.StrokeJoin getDefaultStrokeLineJoin();
+    method public static androidx.ui.graphics.BlendMode getDefaultTintBlendMode();
+    method public static androidx.ui.graphics.Color getDefaultTintColor();
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> getEmptyPath();
+    field public static final float DefaultAlpha = 1.0f;
+    field public static final String DefaultGroupName = "";
+    field public static final String DefaultPathName = "";
+    field public static final float DefaultPivotX = 0.0f;
+    field public static final float DefaultPivotY = 0.0f;
+    field public static final float DefaultRotation = 0.0f;
+    field public static final float DefaultScaleX = 1.0f;
+    field public static final float DefaultScaleY = 1.0f;
+    field public static final float DefaultStrokeLineMiter = 4.0f;
+    field public static final float DefaultStrokeLineWidth = 0.0f;
+    field public static final float DefaultTranslationX = 0.0f;
+    field public static final float DefaultTranslationY = 0.0f;
+  }
+
+  public final class VectorScope {
+    ctor public VectorScope(androidx.ui.graphics.vector.VectorComposition composer);
+    method public androidx.ui.graphics.vector.VectorComposition getComposer();
+  }
+
+}
+
diff --git a/ui/ui-vector/api/public_plus_experimental_0.1.0-dev04.txt b/ui/ui-vector/api/public_plus_experimental_0.1.0-dev04.txt
new file mode 100644
index 0000000..3592a1d
--- /dev/null
+++ b/ui/ui-vector/api/public_plus_experimental_0.1.0-dev04.txt
@@ -0,0 +1,153 @@
+// Signature format: 3.0
+package androidx.ui.graphics.vector {
+
+  public final class GroupComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public GroupComponent(String name);
+    ctor public GroupComponent();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public void insertAt(int index, androidx.ui.graphics.vector.VNode instance);
+    method public void move(int from, int to, int count);
+    method public void remove(int index, int count);
+    method public void setClipPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setPivotX(float value);
+    method public void setPivotY(float value);
+    method public void setRotation(float value);
+    method public void setScaleX(float value);
+    method public void setScaleY(float value);
+    method public void setTranslationX(float value);
+    method public void setTranslationY(float value);
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData;
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+    property public final float pivotX;
+    property public final float pivotY;
+    property public final float rotation;
+    property public final float scaleX;
+    property public final float scaleY;
+    property public final int size;
+    property public final float translationX;
+    property public final float translationY;
+  }
+
+  public final class PathComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public PathComponent(String name);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+    method public void setFill(androidx.ui.graphics.Brush? value);
+    method public void setFillAlpha(float value);
+    method public void setPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setStroke(androidx.ui.graphics.Brush? value);
+    method public void setStrokeAlpha(float value);
+    method public void setStrokeLineCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeLineJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeLineMiter(float value);
+    method public void setStrokeLineWidth(float value);
+    property public final androidx.ui.graphics.Brush? fill;
+    property public final float fillAlpha;
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> pathData;
+    property public final androidx.ui.graphics.Brush? stroke;
+    property public final float strokeAlpha;
+    property public final androidx.ui.graphics.StrokeCap strokeLineCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeLineJoin;
+    property public final float strokeLineMiter;
+    property public final float strokeLineWidth;
+  }
+
+  public abstract sealed class VNode {
+    method public abstract void draw(androidx.ui.graphics.Canvas canvas);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getInvalidateListener();
+    method public final void invalidate();
+    method public void setInvalidateListener(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+  }
+
+  public final class VectorComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public VectorComponent(String name, float viewportWidth, float viewportHeight, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight);
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode blendMode = DefaultTintBlendMode);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.GroupComponent getRoot();
+    method public int getSize();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public void setDefaultHeight(androidx.ui.core.Px p);
+    method public void setDefaultWidth(androidx.ui.core.Px p);
+    method public void setViewportHeight(float p);
+    method public void setViewportWidth(float p);
+    property public final androidx.ui.graphics.vector.GroupComponent root;
+    property public final int size;
+  }
+
+  public final class VectorComposeNonIRKt {
+    ctor public VectorComposeNonIRKt();
+    method public static void composeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> composable);
+    method public static void disposeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class VectorComposer extends androidx.compose.Composer<androidx.ui.graphics.vector.VNode> {
+    ctor public VectorComposer(androidx.ui.graphics.vector.VNode root, androidx.compose.Recomposer recomposer);
+    method public androidx.ui.graphics.vector.VNode getRoot();
+  }
+
+  public final class VectorComposition {
+    ctor public VectorComposition(androidx.ui.graphics.vector.VectorComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline <T extends androidx.ui.graphics.vector.VNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.VNode>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.graphics.vector.GroupComponent> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.GroupComponent>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.graphics.vector.VectorComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class VectorKt {
+    ctor public VectorKt();
+    method public static inline java.util.List<androidx.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+    method public static androidx.ui.graphics.StrokeCap getDefaultStrokeLineCap();
+    method public static androidx.ui.graphics.StrokeJoin getDefaultStrokeLineJoin();
+    method public static androidx.ui.graphics.BlendMode getDefaultTintBlendMode();
+    method public static androidx.ui.graphics.Color getDefaultTintColor();
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> getEmptyPath();
+    field public static final float DefaultAlpha = 1.0f;
+    field public static final String DefaultGroupName = "";
+    field public static final String DefaultPathName = "";
+    field public static final float DefaultPivotX = 0.0f;
+    field public static final float DefaultPivotY = 0.0f;
+    field public static final float DefaultRotation = 0.0f;
+    field public static final float DefaultScaleX = 1.0f;
+    field public static final float DefaultScaleY = 1.0f;
+    field public static final float DefaultStrokeLineMiter = 4.0f;
+    field public static final float DefaultStrokeLineWidth = 0.0f;
+    field public static final float DefaultTranslationX = 0.0f;
+    field public static final float DefaultTranslationY = 0.0f;
+  }
+
+  public final class VectorScope {
+    ctor public VectorScope(androidx.ui.graphics.vector.VectorComposition composer);
+    method public androidx.ui.graphics.vector.VectorComposition getComposer();
+  }
+
+}
+
diff --git a/ui/ui-vector/api/res-0.1.0-dev04.txt b/ui/ui-vector/api/res-0.1.0-dev04.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ui/ui-vector/api/res-0.1.0-dev04.txt
diff --git a/ui/ui-vector/api/restricted_0.1.0-dev04.txt b/ui/ui-vector/api/restricted_0.1.0-dev04.txt
new file mode 100644
index 0000000..3592a1d
--- /dev/null
+++ b/ui/ui-vector/api/restricted_0.1.0-dev04.txt
@@ -0,0 +1,153 @@
+// Signature format: 3.0
+package androidx.ui.graphics.vector {
+
+  public final class GroupComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public GroupComponent(String name);
+    ctor public GroupComponent();
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getClipPathData();
+    method public String getName();
+    method public float getPivotX();
+    method public float getPivotY();
+    method public float getRotation();
+    method public float getScaleX();
+    method public float getScaleY();
+    method public int getSize();
+    method public float getTranslationX();
+    method public float getTranslationY();
+    method public void insertAt(int index, androidx.ui.graphics.vector.VNode instance);
+    method public void move(int from, int to, int count);
+    method public void remove(int index, int count);
+    method public void setClipPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setPivotX(float value);
+    method public void setPivotY(float value);
+    method public void setRotation(float value);
+    method public void setScaleX(float value);
+    method public void setScaleY(float value);
+    method public void setTranslationX(float value);
+    method public void setTranslationY(float value);
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> clipPathData;
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+    property public final float pivotX;
+    property public final float pivotY;
+    property public final float rotation;
+    property public final float scaleX;
+    property public final float scaleY;
+    property public final int size;
+    property public final float translationX;
+    property public final float translationY;
+  }
+
+  public final class PathComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public PathComponent(String name);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.graphics.Brush? getFill();
+    method public float getFillAlpha();
+    method public String getName();
+    method public java.util.List<androidx.ui.graphics.vector.PathNode> getPathData();
+    method public androidx.ui.graphics.Brush? getStroke();
+    method public float getStrokeAlpha();
+    method public androidx.ui.graphics.StrokeCap getStrokeLineCap();
+    method public androidx.ui.graphics.StrokeJoin getStrokeLineJoin();
+    method public float getStrokeLineMiter();
+    method public float getStrokeLineWidth();
+    method public void setFill(androidx.ui.graphics.Brush? value);
+    method public void setFillAlpha(float value);
+    method public void setPathData(java.util.List<androidx.ui.graphics.vector.PathNode> value);
+    method public void setStroke(androidx.ui.graphics.Brush? value);
+    method public void setStrokeAlpha(float value);
+    method public void setStrokeLineCap(androidx.ui.graphics.StrokeCap value);
+    method public void setStrokeLineJoin(androidx.ui.graphics.StrokeJoin value);
+    method public void setStrokeLineMiter(float value);
+    method public void setStrokeLineWidth(float value);
+    property public final androidx.ui.graphics.Brush? fill;
+    property public final float fillAlpha;
+    property public final java.util.List<androidx.ui.graphics.vector.PathNode> pathData;
+    property public final androidx.ui.graphics.Brush? stroke;
+    property public final float strokeAlpha;
+    property public final androidx.ui.graphics.StrokeCap strokeLineCap;
+    property public final androidx.ui.graphics.StrokeJoin strokeLineJoin;
+    property public final float strokeLineMiter;
+    property public final float strokeLineWidth;
+  }
+
+  public abstract sealed class VNode {
+    method public abstract void draw(androidx.ui.graphics.Canvas canvas);
+    method public kotlin.jvm.functions.Function0<kotlin.Unit>? getInvalidateListener();
+    method public final void invalidate();
+    method public void setInvalidateListener(kotlin.jvm.functions.Function0<kotlin.Unit>? p);
+    property public kotlin.jvm.functions.Function0<kotlin.Unit>? invalidateListener;
+  }
+
+  public final class VectorComponent extends androidx.ui.graphics.vector.VNode {
+    ctor public VectorComponent(String name, float viewportWidth, float viewportHeight, androidx.ui.core.Px defaultWidth, androidx.ui.core.Px defaultHeight);
+    method public void draw(androidx.ui.graphics.Canvas canvas, androidx.ui.graphics.Color tintColor = DefaultTintColor, androidx.ui.graphics.BlendMode blendMode = DefaultTintBlendMode);
+    method public void draw(androidx.ui.graphics.Canvas canvas);
+    method public androidx.ui.core.Px getDefaultHeight();
+    method public androidx.ui.core.Px getDefaultWidth();
+    method public String getName();
+    method public androidx.ui.graphics.vector.GroupComponent getRoot();
+    method public int getSize();
+    method public float getViewportHeight();
+    method public float getViewportWidth();
+    method public void setDefaultHeight(androidx.ui.core.Px p);
+    method public void setDefaultWidth(androidx.ui.core.Px p);
+    method public void setViewportHeight(float p);
+    method public void setViewportWidth(float p);
+    property public final androidx.ui.graphics.vector.GroupComponent root;
+    property public final int size;
+  }
+
+  public final class VectorComposeNonIRKt {
+    ctor public VectorComposeNonIRKt();
+    method public static void composeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null, kotlin.jvm.functions.Function3<? super androidx.ui.graphics.vector.VectorScope,? super java.lang.Float,? super java.lang.Float,kotlin.Unit> composable);
+    method public static void disposeVector(androidx.ui.graphics.vector.VectorComponent container, androidx.compose.CompositionReference? parent = null);
+  }
+
+  public final class VectorComposer extends androidx.compose.Composer<androidx.ui.graphics.vector.VNode> {
+    ctor public VectorComposer(androidx.ui.graphics.vector.VNode root, androidx.compose.Recomposer recomposer);
+    method public androidx.ui.graphics.vector.VNode getRoot();
+  }
+
+  public final class VectorComposition {
+    ctor public VectorComposition(androidx.ui.graphics.vector.VectorComposer composer);
+    method public inline void call(Object key, kotlin.jvm.functions.Function1<? super androidx.compose.ViewValidator,java.lang.Boolean> invalid, kotlin.jvm.functions.Function0<kotlin.Unit> block);
+    method public inline <T> void call(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function2<? super androidx.compose.ViewValidator,? super T,java.lang.Boolean> invalid, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> block);
+    method public inline <T extends androidx.ui.graphics.vector.VNode> void emit(Object key, kotlin.jvm.functions.Function0<? extends T> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.VNode>,kotlin.Unit> update);
+    method public inline void emit(Object key, kotlin.jvm.functions.Function0<androidx.ui.graphics.vector.GroupComponent> ctor, kotlin.jvm.functions.Function1<? super androidx.compose.ComposerUpdater<androidx.ui.graphics.vector.VNode,androidx.ui.graphics.vector.GroupComponent>,kotlin.Unit> update, kotlin.jvm.functions.Function0<kotlin.Unit> children);
+    method public inline <T> T! expr(Object key, kotlin.jvm.functions.Function0<? extends T> block);
+    method public androidx.ui.graphics.vector.VectorComposer getComposer();
+    method public inline Object joinKey(Object left, Object? right);
+    method public inline operator <V> V! unaryPlus(androidx.compose.Effect<V>);
+  }
+
+  public final class VectorKt {
+    ctor public VectorKt();
+    method public static inline java.util.List<androidx.ui.graphics.vector.PathNode> PathData(kotlin.jvm.functions.Function1<? super androidx.ui.graphics.vector.PathBuilder,kotlin.Unit> block);
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> addPathNodes(String? pathStr);
+    method public static androidx.ui.graphics.StrokeCap getDefaultStrokeLineCap();
+    method public static androidx.ui.graphics.StrokeJoin getDefaultStrokeLineJoin();
+    method public static androidx.ui.graphics.BlendMode getDefaultTintBlendMode();
+    method public static androidx.ui.graphics.Color getDefaultTintColor();
+    method public static java.util.List<androidx.ui.graphics.vector.PathNode> getEmptyPath();
+    field public static final float DefaultAlpha = 1.0f;
+    field public static final String DefaultGroupName = "";
+    field public static final String DefaultPathName = "";
+    field public static final float DefaultPivotX = 0.0f;
+    field public static final float DefaultPivotY = 0.0f;
+    field public static final float DefaultRotation = 0.0f;
+    field public static final float DefaultScaleX = 1.0f;
+    field public static final float DefaultScaleY = 1.0f;
+    field public static final float DefaultStrokeLineMiter = 4.0f;
+    field public static final float DefaultStrokeLineWidth = 0.0f;
+    field public static final float DefaultTranslationX = 0.0f;
+    field public static final float DefaultTranslationY = 0.0f;
+  }
+
+  public final class VectorScope {
+    ctor public VectorScope(androidx.ui.graphics.vector.VectorComposition composer);
+    method public androidx.ui.graphics.vector.VectorComposition getComposer();
+  }
+
+}
+