// 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 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 public static androidx.compose.ui.test.SemanticsNodeInteraction performScrollTo(androidx.compose.ui.test.SemanticsNodeInteraction);
    method public static <T extends kotlin.Function<? extends java.lang.Boolean>> void 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 void performSemanticsAction(androidx.compose.ui.test.SemanticsNodeInteraction, androidx.compose.ui.semantics.SemanticsPropertyKey<androidx.compose.ui.semantics.AccessibilityAction<kotlin.jvm.functions.Function0<java.lang.Boolean>>> key);
  }

  public final class AndroidAssertions_androidKt {
  }

  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 AndroidInputDispatcher_androidKt {
  }

  public final class AndroidOutput_androidKt {
  }

  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 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 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 getUnclippedBoundsInRoot(androidx.compose.ui.test.SemanticsNodeInteraction);
  }

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

  public final class ErrorMessagesKt {
  }

  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 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);
  }

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

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

  public interface IdlingResource {
    method public default String? getDiagnosticMessageIfBusy();
    method public boolean isIdleNow();
    property public abstract boolean isIdleNow;
  }

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

  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 autoAdvance);
    property public abstract boolean autoAdvance;
    property public abstract long currentTime;
  }

  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);
  }

  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);
  }

  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 SemanticsSelectorKt {
  }

  public final class TestContext {
  }

  public final class TestMonotonicFrameClock_jvmKt {
  }

  public final class TestOwnerKt {
  }

  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 public static void performTextReplacement(androidx.compose.ui.test.SemanticsNodeInteraction, String text);
  }

  public final class UtilsKt {
  }

}

package androidx.compose.ui.test.android {

  public final class WindowCapture_androidKt {
  }

}

