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

  public final class ActionsKt {
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performClick(androidx.compose.ui.test.SemanticsNodeInteraction);
    method @Deprecated public static androidx.compose.ui.test.SemanticsNodeInteraction performGesture(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.GestureScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsNodeInteraction performKeyInput(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsNodeInteraction performMouseInput(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.MouseInjectionScope,kotlin.Unit> block);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performMultiModalInput(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.MultiModalInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static androidx.compose.ui.test.SemanticsNodeInteraction performRotaryScrollInput(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.RotaryInjectionScope,kotlin.Unit> block);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollTo(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollToIndex(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollToKey(androidx.compose.ui.test.SemanticsNodeInteraction, Object key);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollToNode(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static <T extends kotlin.Function<? extends java.lang.Boolean>> androidx.compose.ui.test.SemanticsNodeInteraction performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<T>> key, kotlin.jvm.functions.Function1<? super T,kotlin.Unit> invocation);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> key);
    method @Deprecated public static <T extends kotlin.Function<? extends java.lang.Boolean>> void performSemanticsActionUnit(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<T>> key, kotlin.jvm.functions.Function1<? super T,? extends kotlin.Unit> invocation);
    method @Deprecated public static void performSemanticsActionUnit(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<? extends java.lang.Boolean>>> key);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction performTouchInput(androidx.compose.ui.test.SemanticsNodeInteraction, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.TouchInjectionScope,kotlin.Unit> block);
  }

  public final class AndroidImageHelpers_androidKt {
    method @RequiresApi(android.os.Build.VERSION_CODES.O) public static androidx.compose.ui.graphics.ImageBitmap captureToImage(androidx.compose.ui.test.SemanticsNodeInteraction);
  }

  public final class AssertionsKt {
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assert(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.test.SemanticsMatcher matcher, optional kotlin.jvm.functions.Function0<java.lang.String>? messagePrefixOnError);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAll(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertAny(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertContentDescriptionEquals(androidx.compose.ui.test.SemanticsNodeInteraction, java.lang.String... values);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection assertCountEquals(androidx.compose.ui.test.SemanticsNodeInteractionCollection, int expectedSize);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHasNoClickAction(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotDisplayed(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotEnabled(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotFocused(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsNotSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOff(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsOn(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelectable(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsSelected(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertIsToggleable(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertRangeInfoEquals(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.ProgressBarRangeInfo value);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextContains(androidx.compose.ui.test.SemanticsNodeInteraction, String value, optional boolean substring, optional boolean ignoreCase);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTextEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String![] values, optional boolean includeEditableText);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertValueEquals(androidx.compose.ui.test.SemanticsNodeInteraction, String value);
  }

  public final class BoundsAssertionsKt {
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsAtLeast(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinHeight);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertHeightIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedHeight);
    method public static void assertIsEqualTo(float, float expected, String subject, optional float tolerance);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertLeftPositionInRootIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertPositionInRootIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedLeft, float expectedTop);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTopPositionInRootIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedTop);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTouchHeightIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedHeight);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertTouchWidthIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedWidth);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsAtLeast(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedMinWidth);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction assertWidthIsEqualTo(androidx.compose.ui.test.SemanticsNodeInteraction, float expectedWidth);
    method public static float getAlignmentLinePosition(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.layout.AlignmentLine alignmentLine);
    method public static androidx.compose.ui.unit.DpRect getBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.unit.DpRect getUnclippedBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
  }

  public final class ComposeTimeoutException extends java.lang.Throwable {
    ctor public ComposeTimeoutException(String? message);
  }

  @kotlin.RequiresOptIn(message="This testing API is experimental and is likely to be changed or removed entirely") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface ExperimentalTestApi {
  }

  public final class FiltersKt {
    method public static androidx.compose.ui.test.SemanticsMatcher hasAnyAncestor(androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsMatcher hasAnyChild(androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsMatcher hasAnyDescendant(androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsMatcher hasAnySibling(androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsMatcher hasClickAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescription(String value, optional boolean substring, optional boolean ignoreCase);
    method public static androidx.compose.ui.test.SemanticsMatcher hasContentDescriptionExactly(java.lang.String... values);
    method public static androidx.compose.ui.test.SemanticsMatcher hasImeAction(int actionType);
    method public static androidx.compose.ui.test.SemanticsMatcher hasNoClickAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasNoScrollAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasParent(androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsMatcher hasProgressBarRangeInfo(androidx.compose.ui.semantics.ProgressBarRangeInfo rangeInfo);
    method public static androidx.compose.ui.test.SemanticsMatcher hasScrollAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasScrollToIndexAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasScrollToKeyAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasScrollToNodeAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasSetTextAction();
    method public static androidx.compose.ui.test.SemanticsMatcher hasStateDescription(String value);
    method public static androidx.compose.ui.test.SemanticsMatcher hasTestTag(String testTag);
    method public static androidx.compose.ui.test.SemanticsMatcher hasText(String text, optional boolean substring, optional boolean ignoreCase);
    method public static androidx.compose.ui.test.SemanticsMatcher hasTextExactly(String![] textValues, optional boolean includeEditableText);
    method public static androidx.compose.ui.test.SemanticsMatcher isDialog();
    method public static androidx.compose.ui.test.SemanticsMatcher isEnabled();
    method public static androidx.compose.ui.test.SemanticsMatcher isFocusable();
    method public static androidx.compose.ui.test.SemanticsMatcher isFocused();
    method public static androidx.compose.ui.test.SemanticsMatcher isHeading();
    method public static androidx.compose.ui.test.SemanticsMatcher isNotEnabled();
    method public static androidx.compose.ui.test.SemanticsMatcher isNotFocusable();
    method public static androidx.compose.ui.test.SemanticsMatcher isNotFocused();
    method public static androidx.compose.ui.test.SemanticsMatcher isNotSelected();
    method public static androidx.compose.ui.test.SemanticsMatcher isOff();
    method public static androidx.compose.ui.test.SemanticsMatcher isOn();
    method public static androidx.compose.ui.test.SemanticsMatcher isPopup();
    method public static androidx.compose.ui.test.SemanticsMatcher isRoot();
    method public static androidx.compose.ui.test.SemanticsMatcher isSelectable();
    method public static androidx.compose.ui.test.SemanticsMatcher isSelected();
    method public static androidx.compose.ui.test.SemanticsMatcher isToggleable();
  }

  public final class FindersKt {
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodesWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithContentDescription(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String label, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithTag(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String testTag, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onNodeWithText(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, String text, optional boolean substring, optional boolean ignoreCase, optional boolean useUnmergedTree);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onRoot(androidx.compose.ui.test.SemanticsNodeInteractionsProvider, optional boolean useUnmergedTree);
  }

  @Deprecated public final class GestureScope {
    ctor @Deprecated public GestureScope(androidx.compose.ui.semantics.SemanticsNode node, androidx.compose.ui.test.TestContext testContext);
    method @Deprecated public long getVisibleSize();
    property public final long visibleSize;
  }

  public final class GestureScopeKt {
    method @Deprecated @androidx.compose.ui.test.ExperimentalTestApi public static void advanceEventTime(androidx.compose.ui.test.GestureScope, long durationMillis);
    method @Deprecated public static void cancel(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static void click(androidx.compose.ui.test.GestureScope, optional long position);
    method @Deprecated public static void doubleClick(androidx.compose.ui.test.GestureScope, optional long position, optional long delayMillis);
    method @Deprecated public static void down(androidx.compose.ui.test.GestureScope, int pointerId, long position);
    method @Deprecated public static void down(androidx.compose.ui.test.GestureScope, long position);
    method @Deprecated public static inline float getBottom(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getBottomCenter(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getBottomLeft(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getBottomRight(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getCenter(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getCenterLeft(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getCenterRight(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline float getCenterX(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline float getCenterY(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline int getHeight(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline float getLeft(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline float getRight(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline float getTop(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getTopCenter(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getTopLeft(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static long getTopRight(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static inline int getWidth(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static void longClick(androidx.compose.ui.test.GestureScope, optional long position, optional long durationMillis);
    method @Deprecated public static void move(androidx.compose.ui.test.GestureScope);
    method @Deprecated public static void moveBy(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
    method @Deprecated public static void moveBy(androidx.compose.ui.test.GestureScope, long delta);
    method @Deprecated public static void movePointerBy(androidx.compose.ui.test.GestureScope, int pointerId, long delta);
    method @Deprecated public static void movePointerTo(androidx.compose.ui.test.GestureScope, int pointerId, long position);
    method @Deprecated public static void moveTo(androidx.compose.ui.test.GestureScope, int pointerId, long position);
    method @Deprecated public static void moveTo(androidx.compose.ui.test.GestureScope, long position);
    method @Deprecated public static long percentOffset(androidx.compose.ui.test.GestureScope, optional float x, optional float y);
    method @Deprecated public static void pinch(androidx.compose.ui.test.GestureScope, long start0, long end0, long start1, long end1, optional long durationMillis);
    method @Deprecated public static void swipe(androidx.compose.ui.test.GestureScope, long start, long end, optional long durationMillis);
    method @Deprecated public static void swipeDown(androidx.compose.ui.test.GestureScope);
    method @Deprecated @androidx.compose.ui.test.ExperimentalTestApi public static void swipeDown(androidx.compose.ui.test.GestureScope, optional float startY, optional float endY, optional long durationMillis);
    method @Deprecated public static void swipeLeft(androidx.compose.ui.test.GestureScope);
    method @Deprecated @androidx.compose.ui.test.ExperimentalTestApi public static void swipeLeft(androidx.compose.ui.test.GestureScope, optional float startX, optional float endX, optional long durationMillis);
    method @Deprecated public static void swipeRight(androidx.compose.ui.test.GestureScope);
    method @Deprecated @androidx.compose.ui.test.ExperimentalTestApi public static void swipeRight(androidx.compose.ui.test.GestureScope, optional float startX, optional float endX, optional long durationMillis);
    method @Deprecated public static void swipeUp(androidx.compose.ui.test.GestureScope);
    method @Deprecated @androidx.compose.ui.test.ExperimentalTestApi public static void swipeUp(androidx.compose.ui.test.GestureScope, optional float startY, optional float endY, optional long durationMillis);
    method @Deprecated public static void swipeWithVelocity(androidx.compose.ui.test.GestureScope, long start, long end, float endVelocity, optional long durationMillis);
    method @Deprecated public static void up(androidx.compose.ui.test.GestureScope, optional int pointerId);
  }

  @kotlin.jvm.JvmDefaultWithCompatibility public interface IdlingResource {
    method public default String? getDiagnosticMessageIfBusy();
    method public boolean isIdleNow();
    property public abstract boolean isIdleNow;
  }

  @kotlin.jvm.JvmDefaultWithCompatibility public interface InjectionScope extends androidx.compose.ui.unit.Density {
    method public void advanceEventTime(optional long durationMillis);
    method public default float getBottom();
    method public default long getBottomCenter();
    method public default long getBottomLeft();
    method public default long getBottomRight();
    method public default long getCenter();
    method public default long getCenterLeft();
    method public default long getCenterRight();
    method public default float getCenterX();
    method public default float getCenterY();
    method public default long getEventPeriodMillis();
    method public default int getHeight();
    method public default float getLeft();
    method public default float getRight();
    method public default float getTop();
    method public default long getTopCenter();
    method public default long getTopLeft();
    method public default long getTopRight();
    method public androidx.compose.ui.platform.ViewConfiguration getViewConfiguration();
    method public long getVisibleSize();
    method public default int getWidth();
    method public default long percentOffset(optional float x, optional float y);
    property public default float bottom;
    property public default long bottomCenter;
    property public default long bottomLeft;
    property public default long bottomRight;
    property public default long center;
    property public default long centerLeft;
    property public default long centerRight;
    property public default float centerX;
    property public default float centerY;
    property public default long eventPeriodMillis;
    property public default int height;
    property public default float left;
    property public default float right;
    property public default float top;
    property public default long topCenter;
    property public default long topLeft;
    property public default long topRight;
    property public abstract androidx.compose.ui.platform.ViewConfiguration viewConfiguration;
    property public abstract long visibleSize;
    property public default int width;
  }

  @kotlin.RequiresOptIn(message="This is internal API for Compose modules that may change frequently and without warning.") @kotlin.annotation.Retention(kotlin.annotation.AnnotationRetention.BINARY) public @interface InternalTestApi {
  }

  @androidx.compose.ui.test.ExperimentalTestApi @kotlin.jvm.JvmDefaultWithCompatibility public interface KeyInjectionScope extends androidx.compose.ui.test.InjectionScope {
    method public boolean isCapsLockOn();
    method public boolean isKeyDown(long key);
    method public boolean isNumLockOn();
    method public boolean isScrollLockOn();
    method public void keyDown(long key);
    method public void keyUp(long key);
    property public abstract boolean isCapsLockOn;
    property public abstract boolean isNumLockOn;
    property public abstract boolean isScrollLockOn;
  }

  public final class KeyInjectionScopeKt {
    method @androidx.compose.ui.test.ExperimentalTestApi public static boolean isAltDown(androidx.compose.ui.test.KeyInjectionScope);
    method @androidx.compose.ui.test.ExperimentalTestApi public static boolean isCtrlDown(androidx.compose.ui.test.KeyInjectionScope);
    method @androidx.compose.ui.test.ExperimentalTestApi public static boolean isFnDown(androidx.compose.ui.test.KeyInjectionScope);
    method @androidx.compose.ui.test.ExperimentalTestApi public static boolean isMetaDown(androidx.compose.ui.test.KeyInjectionScope);
    method @androidx.compose.ui.test.ExperimentalTestApi public static boolean isShiftDown(androidx.compose.ui.test.KeyInjectionScope);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void pressKey(androidx.compose.ui.test.KeyInjectionScope, long key, optional long pressDurationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void withKeyDown(androidx.compose.ui.test.KeyInjectionScope, long key, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void withKeyToggled(androidx.compose.ui.test.KeyInjectionScope, long key, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void withKeysDown(androidx.compose.ui.test.KeyInjectionScope, java.util.List<androidx.compose.ui.input.key.Key> keys, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void withKeysToggled(androidx.compose.ui.test.KeyInjectionScope, java.util.List<androidx.compose.ui.input.key.Key> keys, kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
  }

  public final class KeyInputHelpersKt {
    method public static boolean performKeyPress(androidx.compose.ui.test.SemanticsNodeInteraction, android.view.KeyEvent keyEvent);
  }

  @kotlin.jvm.JvmDefaultWithCompatibility public interface MainTestClock {
    method public void advanceTimeBy(long milliseconds, optional boolean ignoreFrameDuration);
    method public void advanceTimeByFrame();
    method public void advanceTimeUntil(optional long timeoutMillis, kotlin.jvm.functions.Function0<java.lang.Boolean> condition);
    method public boolean getAutoAdvance();
    method public long getCurrentTime();
    method public void setAutoAdvance(boolean);
    property public abstract boolean autoAdvance;
    property public abstract long currentTime;
  }

  @androidx.compose.ui.test.ExperimentalTestApi @kotlin.jvm.JvmInline public final value class MouseButton {
    ctor public MouseButton(int buttonId);
    method public int getButtonId();
    property public final int buttonId;
    field public static final androidx.compose.ui.test.MouseButton.Companion Companion;
  }

  @androidx.compose.ui.test.ExperimentalTestApi public static final class MouseButton.Companion {
    method public int getPrimary();
    method public int getSecondary();
    method public int getTertiary();
    property public final int Primary;
    property public final int Secondary;
    property public final int Tertiary;
  }

  @androidx.compose.ui.test.ExperimentalTestApi public interface MouseInjectionScope extends androidx.compose.ui.test.InjectionScope {
    method public void cancel(optional long delayMillis);
    method public void enter(optional long position, optional long delayMillis);
    method public void exit(optional long position, optional long delayMillis);
    method public long getCurrentPosition();
    method public default void moveBy(long delta, optional long delayMillis);
    method public void moveTo(long position, optional long delayMillis);
    method public void press(optional int button);
    method public void release(optional int button);
    method public void scroll(float delta, optional int scrollWheel);
    method public default void updatePointerBy(long delta);
    method public void updatePointerTo(long position);
    property public abstract long currentPosition;
  }

  public final class MouseInjectionScopeKt {
    method @androidx.compose.ui.test.ExperimentalTestApi public static void animateAlong(androidx.compose.ui.test.MouseInjectionScope, kotlin.jvm.functions.Function1<? super java.lang.Long,androidx.compose.ui.geometry.Offset> curve, optional long durationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void animateBy(androidx.compose.ui.test.MouseInjectionScope, long delta, optional long durationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void animateTo(androidx.compose.ui.test.MouseInjectionScope, long position, optional long durationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void click(androidx.compose.ui.test.MouseInjectionScope, optional long position);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void doubleClick(androidx.compose.ui.test.MouseInjectionScope, optional long position);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void dragAndDrop(androidx.compose.ui.test.MouseInjectionScope, long start, long end, optional long durationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void longClick(androidx.compose.ui.test.MouseInjectionScope, optional long position);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void rightClick(androidx.compose.ui.test.MouseInjectionScope, optional long position);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void smoothScroll(androidx.compose.ui.test.MouseInjectionScope, float scrollAmount, optional long durationMillis, optional int scrollWheel);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void tripleClick(androidx.compose.ui.test.MouseInjectionScope, optional long position);
  }

  public sealed interface MultiModalInjectionScope extends androidx.compose.ui.test.InjectionScope {
    method @androidx.compose.ui.test.ExperimentalTestApi public void key(kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.KeyInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public void mouse(kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.MouseInjectionScope,kotlin.Unit> block);
    method @androidx.compose.ui.test.ExperimentalTestApi public void rotary(kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.RotaryInjectionScope,kotlin.Unit> block);
    method public void touch(kotlin.jvm.functions.Function1<? super androidx.compose.ui.test.TouchInjectionScope,kotlin.Unit> block);
  }

  public final class OutputKt {
    method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteraction, String tag, optional int maxDepth);
    method public static void printToLog(androidx.compose.ui.test.SemanticsNodeInteractionCollection, String tag, optional int maxDepth);
    method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteraction, optional int maxDepth);
    method public static String printToString(androidx.compose.ui.test.SemanticsNodeInteractionCollection, optional int maxDepth);
  }

  @androidx.compose.ui.test.ExperimentalTestApi public interface RotaryInjectionScope extends androidx.compose.ui.test.InjectionScope {
    method public void rotateToScrollHorizontally(float horizontalScrollPixels);
    method public void rotateToScrollVertically(float verticalScrollPixels);
  }

  @androidx.compose.ui.test.ExperimentalTestApi @kotlin.jvm.JvmInline public final value class ScrollWheel {
    method public int getValue();
    property public final int value;
    field public static final androidx.compose.ui.test.ScrollWheel.Companion Companion;
  }

  @androidx.compose.ui.test.ExperimentalTestApi public static final class ScrollWheel.Companion {
    method public int getHorizontal();
    method public int getVertical();
    property public final int Horizontal;
    property public final int Vertical;
  }

  public final class SelectionResult {
    ctor public SelectionResult(java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes, optional String? customErrorOnNoMatch);
    method public String? getCustomErrorOnNoMatch();
    method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> getSelectedNodes();
    property public final String? customErrorOnNoMatch;
    property public final java.util.List<androidx.compose.ui.semantics.SemanticsNode> selectedNodes;
  }

  public final class SelectorsKt {
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection filter(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction filterToOne(androidx.compose.ui.test.SemanticsNodeInteractionCollection, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onAncestors(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onChild(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onChildAt(androidx.compose.ui.test.SemanticsNodeInteraction, int index);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onChildren(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onFirst(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onLast(androidx.compose.ui.test.SemanticsNodeInteractionCollection);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onParent(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteraction onSibling(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static androidx.compose.ui.test.SemanticsNodeInteractionCollection onSiblings(androidx.compose.ui.test.SemanticsNodeInteraction);
  }

  public final class SemanticsMatcher {
    ctor public SemanticsMatcher(String description, kotlin.jvm.functions.Function1<? super androidx.compose.ui.semantics.SemanticsNode,java.lang.Boolean> matcher);
    method public infix androidx.compose.ui.test.SemanticsMatcher and(androidx.compose.ui.test.SemanticsMatcher other);
    method public String getDescription();
    method public boolean matches(androidx.compose.ui.semantics.SemanticsNode node);
    method public boolean matchesAny(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes);
    method public operator androidx.compose.ui.test.SemanticsMatcher not();
    method public infix androidx.compose.ui.test.SemanticsMatcher or(androidx.compose.ui.test.SemanticsMatcher other);
    property public final String description;
    field public static final androidx.compose.ui.test.SemanticsMatcher.Companion Companion;
  }

  public static final class SemanticsMatcher.Companion {
    method public <T> androidx.compose.ui.test.SemanticsMatcher expectValue(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key, T? expectedValue);
    method public <T> androidx.compose.ui.test.SemanticsMatcher keyIsDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
    method public <T> androidx.compose.ui.test.SemanticsMatcher keyNotDefined(androidx.compose.ui.semantics.SemanticsPropertyKey<T> key);
  }

  public final class SemanticsNodeInteraction {
    ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
    ctor public SemanticsNodeInteraction(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public void assertDoesNotExist();
    method public androidx.compose.ui.test.SemanticsNodeInteraction assertExists(optional String? errorMessageOnFail);
    method public androidx.compose.ui.semantics.SemanticsNode fetchSemanticsNode(optional String? errorMessageOnFail);
  }

  public final class SemanticsNodeInteractionCollection {
    ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsSelector selector);
    ctor public SemanticsNodeInteractionCollection(androidx.compose.ui.test.TestContext testContext, boolean useUnmergedTree, androidx.compose.ui.test.SemanticsMatcher matcher);
    method public java.util.List<androidx.compose.ui.semantics.SemanticsNode> fetchSemanticsNodes(optional boolean atLeastOneRootRequired, optional String? errorMessageOnFail);
    method public operator androidx.compose.ui.test.SemanticsNodeInteraction get(int index);
  }

  @kotlin.jvm.JvmDefaultWithCompatibility public interface SemanticsNodeInteractionsProvider {
    method public androidx.compose.ui.test.SemanticsNodeInteractionCollection onAllNodes(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
    method public androidx.compose.ui.test.SemanticsNodeInteraction onNode(androidx.compose.ui.test.SemanticsMatcher matcher, optional boolean useUnmergedTree);
  }

  public final class SemanticsSelector {
    ctor public SemanticsSelector(String description, boolean requiresExactlyOneNode, optional androidx.compose.ui.test.SemanticsSelector? chainedInputSelector, kotlin.jvm.functions.Function1<? super java.lang.Iterable<androidx.compose.ui.semantics.SemanticsNode>,androidx.compose.ui.test.SelectionResult> selector);
    method public String getDescription();
    method public androidx.compose.ui.test.SelectionResult map(Iterable<androidx.compose.ui.semantics.SemanticsNode> nodes, String errorOnFail);
    property public final String description;
  }

  public final class TestContext {
  }

  @androidx.compose.ui.test.ExperimentalTestApi @kotlinx.coroutines.ExperimentalCoroutinesApi public final class TestMonotonicFrameClock implements androidx.compose.runtime.MonotonicFrameClock {
    ctor public TestMonotonicFrameClock(kotlinx.coroutines.CoroutineScope coroutineScope, optional long frameDelayNanos, optional kotlin.jvm.functions.Function1<? super java.lang.Long,kotlin.Unit> onPerformTraversals);
    method @androidx.compose.ui.test.ExperimentalTestApi public kotlin.coroutines.ContinuationInterceptor getContinuationInterceptor();
    method public long getFrameDelayNanos();
    method public boolean getHasAwaiters();
    method public suspend <R> Object? withFrameNanos(kotlin.jvm.functions.Function1<? super java.lang.Long,? extends R> onFrame, kotlin.coroutines.Continuation<? super R>);
    property @androidx.compose.ui.test.ExperimentalTestApi public final kotlin.coroutines.ContinuationInterceptor continuationInterceptor;
    property public final long frameDelayNanos;
    property public final boolean hasAwaiters;
  }

  public final class TestMonotonicFrameClock_jvmKt {
    method @androidx.compose.ui.test.ExperimentalTestApi public static long getFrameDelayMillis(androidx.compose.ui.test.TestMonotonicFrameClock);
  }

  @androidx.compose.ui.test.InternalTestApi public interface TestOwner {
    method public androidx.compose.ui.test.MainTestClock getMainClock();
    method public java.util.Set<androidx.compose.ui.node.RootForTest> getRoots(boolean atLeastOneRootExpected);
    method public void performTextInput(androidx.compose.ui.semantics.SemanticsNode node, kotlin.jvm.functions.Function1<? super androidx.compose.ui.text.input.TextInputForTests,kotlin.Unit> action);
    method public <T> T! runOnUiThread(kotlin.jvm.functions.Function0<? extends T> action);
    property public abstract androidx.compose.ui.test.MainTestClock mainClock;
  }

  public final class TestOwnerKt {
    method @androidx.compose.ui.test.InternalTestApi public static androidx.compose.ui.test.TestContext createTestContext(androidx.compose.ui.test.TestOwner owner);
  }

  public final class TextActionsKt {
    method public static void performImeAction(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static void performTextClearance(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static void performTextInput(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void performTextInputSelection(androidx.compose.ui.test.SemanticsNodeInteraction, long selection);
    method public static void performTextReplacement(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
  }

  @kotlin.jvm.JvmDefaultWithCompatibility public interface TouchInjectionScope extends androidx.compose.ui.test.InjectionScope {
    method public void cancel(optional long delayMillis);
    method public androidx.compose.ui.geometry.Offset? currentPosition(optional int pointerId);
    method public void down(int pointerId, long position);
    method public default void down(long position);
    method public void move(optional long delayMillis);
    method public default void moveBy(int pointerId, long delta, optional long delayMillis);
    method public default void moveBy(long delta, optional long delayMillis);
    method public default void moveTo(int pointerId, long position, optional long delayMillis);
    method public default void moveTo(long position, optional long delayMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public default void moveWithHistory(java.util.List<java.lang.Long> relativeHistoricalTimes, java.util.List<androidx.compose.ui.geometry.Offset> historicalCoordinates, optional long delayMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public void moveWithHistoryMultiPointer(java.util.List<java.lang.Long> relativeHistoricalTimes, java.util.List<? extends java.util.List<androidx.compose.ui.geometry.Offset>> historicalCoordinates, optional long delayMillis);
    method public void up(optional int pointerId);
    method public default void updatePointerBy(int pointerId, long delta);
    method public void updatePointerTo(int pointerId, long position);
  }

  public final class TouchInjectionScopeKt {
    method public static void click(androidx.compose.ui.test.TouchInjectionScope, optional long position);
    method public static void doubleClick(androidx.compose.ui.test.TouchInjectionScope, optional long position, optional long delayMillis);
    method public static void longClick(androidx.compose.ui.test.TouchInjectionScope, optional long position, optional long durationMillis);
    method @androidx.compose.ui.test.ExperimentalTestApi public static void multiTouchSwipe(androidx.compose.ui.test.TouchInjectionScope, java.util.List<? extends kotlin.jvm.functions.Function1<? super java.lang.Long,androidx.compose.ui.geometry.Offset>> curves, long durationMillis, optional java.util.List<java.lang.Long> keyTimes);
    method public static void pinch(androidx.compose.ui.test.TouchInjectionScope, long start0, long end0, long start1, long end1, optional long durationMillis);
    method public static void swipe(androidx.compose.ui.test.TouchInjectionScope, long start, long end, optional long durationMillis);
    method public static void swipe(androidx.compose.ui.test.TouchInjectionScope, kotlin.jvm.functions.Function1<? super java.lang.Long,androidx.compose.ui.geometry.Offset> curve, long durationMillis, optional java.util.List<java.lang.Long> keyTimes);
    method public static void swipeDown(androidx.compose.ui.test.TouchInjectionScope, optional float startY, optional float endY, optional long durationMillis);
    method public static void swipeLeft(androidx.compose.ui.test.TouchInjectionScope, optional float startX, optional float endX, optional long durationMillis);
    method public static void swipeRight(androidx.compose.ui.test.TouchInjectionScope, optional float startX, optional float endX, optional long durationMillis);
    method public static void swipeUp(androidx.compose.ui.test.TouchInjectionScope, optional float startY, optional float endY, optional long durationMillis);
    method public static void swipeWithVelocity(androidx.compose.ui.test.TouchInjectionScope, long start, long end, float endVelocity, optional long durationMillis);
  }

}

package androidx.compose.ui.test.internal {

  @androidx.compose.ui.test.InternalTestApi public abstract class DelayPropagatingContinuationInterceptorWrapper extends kotlin.coroutines.AbstractCoroutineContextElement implements kotlin.coroutines.ContinuationInterceptor kotlinx.coroutines.Delay {
    ctor public DelayPropagatingContinuationInterceptorWrapper(kotlin.coroutines.ContinuationInterceptor? wrappedInterceptor);
  }

}

