Skip to content

test(e2e): mosaic UserButton e2e test coverage - #9357

Open
alexcarpenter wants to merge 3 commits into
carp/account-button-experimental-exportfrom
carp/mosaic-user-button-e2e
Open

test(e2e): mosaic UserButton e2e test coverage#9357
alexcarpenter wants to merge 3 commits into
carp/account-button-experimental-exportfrom
carp/mosaic-user-button-e2e

Conversation

@alexcarpenter

@alexcarpenter alexcarpenter commented Aug 6, 2026

Copy link
Copy Markdown
Member

Description

Stacked on #9338.

The experimental Mosaic UserButton had no integration coverage. packages/ui/src/mosaic/user-button/__tests__/ already holds 137 cases against a mocked Clerk, covering every rendered surface and every outbound call with its exact arguments. None of that is repeated here. This adds only what the mock cannot observe:

  • Coexistence. Both UserButtons mount together on every case, so the legacy Emotion tree hotloaded from clerk-js and the StyleX tree bundled into the SDK are always live at once. Their popovers open independently.
  • The server's view. Switching to an organization and back, and switching between two real sessions, are asserted through GET /api/me rather than through the setActive argument.
  • Real sign-out. Signing out of all accounts empties the auth object, and the legacy <SignIn /> in <SignedOut> takes over.
  • The clerk-js hand-off. "Manage account" opens the real Emotion UserProfile modal, with a userProfileProps.customPages entry rendering inside it. That portal from the SDK tree into a clerk-js-owned node is the riskiest seam in the feature, and vitest can only portal into a container the mock handed back.
  • The profile's built-in page list. useUserProfilePages hardcodes the pages the UserProfile brings itself, mirroring clerk-js rather than reading from it, because the profile is not mounted at the point the order has to be decided. Nothing asserted the mirror was accurate; the vitest suite checks the order is forwarded, against a list it also supplies. Ordering a custom page ahead of every built-in makes the rendered nav readable as an assertion about the list, in both directions: a built-in the mirror does not name lands ahead of the custom page, and one it names that clerk-js does not have is dropped as invalid page data.
  • Navigation instead of a modal. openOrNavigate is the widest configuration branch in the controller, and every case asserted only that navigate was called with a string. A userProfileUrl now has to actually land on the app's page, with no modal behind it.
  • No @clerk/ui. The app is built without .addDependency('@clerk/ui', PKGLAB), and the last case asserts it is absent from the installed @clerk/nextjs and @clerk/react manifests too. That guards the inlining feat(nextjs): export Mosaic UserButton from an experimental subpath #9338 relies on: if the Mosaic entry ever regresses to importing @clerk/ui at runtime, everything still resolves in the monorepo and breaks only for consumers.

The new mosaicUserButton page object is built on roles and accessible names, since Mosaic renders no data-testid and no component-scoped classnames. Every name is taken from user-button.view.tsx. The suite currently has no accessibility assertions anywhere, so this makes each case double as one.

The suite runs green locally against a real development instance. Two things it settled along the way: the layout imports @clerk/nextjs/experimental/mosaic/styles.css directly rather than through a layered @import, and the popup selector has to match its accessible name exactly, because clerk-js labels the legacy popover "Account panel" and role-name matching is substring by default.

Checklist

  • pnpm test runs as expected.
  • pnpm build runs as expected.
  • (If applicable) JSDoc comments have been added or updated for any package exports
  • (If applicable) Documentation has been updated

Type of change

  • 🐛 Bug fix
  • 🌟 New feature
  • 🔨 Breaking change
  • 📖 Refactoring / dependency upgrade / documentation
  • other: test coverage

The mocked vitest suite already owns every rendered surface and every outbound call. These assert only what it cannot reach: whether Clerk acted on the call, whether the server sees the result, whether clerk-js renders into the DOM the Mosaic tree hands it, and that the app resolves the entry with no @clerk/ui installed.
@changeset-bot

changeset-bot Bot commented Aug 6, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 5ec39b1

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 0 packages

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@vercel

vercel Bot commented Aug 6, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
clerk-js-sandbox Ready Ready Preview Aug 7, 2026 12:52am
swingset Ready Ready Preview Aug 7, 2026 12:52am

Request Review

@alexcarpenter alexcarpenter changed the title test(e2e): cover the mosaic UserButton against a real backend test(e2e): mosaic UserButton e2e test coverage Aug 6, 2026
Six failures the first real run surfaced:

- The page used SignedIn/SignedOut, which @clerk/nextjs does not export. Show
  with when='signed-in' is the current API.
- The popup selector matched on substring, so 'Account' also matched clerk-js's
  'Account panel'. Exact now.
- The only organization is already active on sign-in, so its row is the current
  item rather than a button. Personal is selected first, then the organization.
- Manage account lives behind the account row's actions menu, not on the popup.
- The inflated 90s/180s timeouts were compensating for a stale local registry,
  not real slowness. Back to the repo default.
@pkg-pr-new

pkg-pr-new Bot commented Aug 7, 2026

Copy link
Copy Markdown

Open in StackBlitz

@clerk/astro

npm i https://pkg.pr.new/@clerk/astro@9357

@clerk/backend

npm i https://pkg.pr.new/@clerk/backend@9357

@clerk/chrome-extension

npm i https://pkg.pr.new/@clerk/chrome-extension@9357

@clerk/clerk-js

npm i https://pkg.pr.new/@clerk/clerk-js@9357

@clerk/electron

npm i https://pkg.pr.new/@clerk/electron@9357

@clerk/electron-passkeys

npm i https://pkg.pr.new/@clerk/electron-passkeys@9357

@clerk/eslint-plugin

npm i https://pkg.pr.new/@clerk/eslint-plugin@9357

@clerk/expo

npm i https://pkg.pr.new/@clerk/expo@9357

@clerk/expo-google-signin

npm i https://pkg.pr.new/@clerk/expo-google-signin@9357

@clerk/expo-passkeys

npm i https://pkg.pr.new/@clerk/expo-passkeys@9357

@clerk/express

npm i https://pkg.pr.new/@clerk/express@9357

@clerk/fastify

npm i https://pkg.pr.new/@clerk/fastify@9357

@clerk/hono

npm i https://pkg.pr.new/@clerk/hono@9357

@clerk/localizations

npm i https://pkg.pr.new/@clerk/localizations@9357

@clerk/nextjs

npm i https://pkg.pr.new/@clerk/nextjs@9357

@clerk/nuxt

npm i https://pkg.pr.new/@clerk/nuxt@9357

@clerk/react

npm i https://pkg.pr.new/@clerk/react@9357

@clerk/react-router

npm i https://pkg.pr.new/@clerk/react-router@9357

@clerk/shared

npm i https://pkg.pr.new/@clerk/shared@9357

@clerk/tanstack-react-start

npm i https://pkg.pr.new/@clerk/tanstack-react-start@9357

@clerk/testing

npm i https://pkg.pr.new/@clerk/testing@9357

@clerk/ui

npm i https://pkg.pr.new/@clerk/ui@9357

@clerk/upgrade

npm i https://pkg.pr.new/@clerk/upgrade@9357

@clerk/vue

npm i https://pkg.pr.new/@clerk/vue@9357

commit: 5ec39b1

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

API Changes Report

Generated by Break Check on 2026-08-07T00:56:18.092Z

Summary

Metric Count
Packages analyzed 19
Packages with changes 1
🔴 Breaking changes 0
🟡 Non-breaking changes 1
🟢 Additions 0

🤖 This report was reviewed by claude-sonnet-4-6.


@clerk/testing

Current version: 2.2.18
Recommended bump: MINOR → 2.3.0

Subpath ./playwright/unstable

🟡 Non-breaking Changes (1)

Modified: createPageObjects
// ... 403 unchanged lines elided ...
          triggerManageAccount: () => Promise<void>;
          switchAccount: (emailAddress: string) => Promise<void>;
      };
+     mosaicUserButton: {
+         trigger: () => import("@playwright/test").Locator;
+         popup: () => import("@playwright/test").Locator;
+         waitForMounted: () => Promise<void>;
+         toggleTrigger: () => Promise<void>;
+         waitForPopover: () => Promise<void>;
+         waitForPopoverClosed: () => Promise<void>;
+         expectTriggerLabel: (workspaceName: string) => Promise<void>;
+         selectWorkspace: (name: string) => Promise<void>;
+         selectPersonalWorkspace: () => Promise<void>;
+         switchAccount: (identifier: string) => Promise<void>;
+         openAccountActions: (identifier: string) => Promise<void>;
+         openAccountsHeadingActions: () => Promise<void>;
+         clickMenuItem: (name: string) => Promise<void>;
+         clickAction: (name: string) => Promise<void>;
+         triggerManageAccount: (identifier: string) => Promise<void>;
+         triggerManageOrganization: () => Promise<void>;
+         triggerSignOutAll: () => Promise<void>;
+     };
      userProfile: {
          goTo: (opts?: {
              searchParams: URLSearchParams;
// ... 254 unchanged lines elided ...

Static analyzer: Breaking change in function createPageObjects: Return type changed: {page:import("playwright-core").Page&{goToAppHome:()=>!Promise:interface<void>;goToRelative:(path:string,opts?:{waitUntil?:any;searchParams?:!URLSearchParams:interface;timeout?:number;})=>!Promise:interface<import("playwright-core").Response|null>;waitForClerkJsLoaded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;signOut:()=>!Promise:interface<import("playwright-core").JSHandle<void>>;waitForClerkComponentMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForAppUrl:(relativePath:string)=>!Promise:interface<void>;cookies:()=>!Promise:interface<!Map:interface<string,import("playwright-core").Cookie>&{raw:()=>import("playwright-core").Cookie[];}>;};clerk:{toBeLoaded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;getClientSideActor:()=>!Promise:interface<import("@clerk/shared").ActClaim|null|undefined>;toBeLoading:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeReady:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeDegraded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;getClientSideUser:()=>!Promise:interface<import("@clerk/shared").UserResource|null|undefined>;};checkout:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;closeDrawer:()=>!Promise:interface<void>;fillTestCard:()=>!Promise:interface<void>;fillCard:(card:{number:string;expiration:string;cvc:string;country:string;zip:string;})=>!Promise:interface<void>;waitForStripeElements:({state}?:{state?:"hidden"|"visible";})=>!Promise:interface<void>;clickPayOrSubscribe:()=>!Promise:interface<void>;waitForSubscribeButton:()=>!Promise:interface<void>;confirmAndContinue:()=>!Promise:interface<void>;clickAddPaymentMethod:()=>!Promise:interface<void>;clickPaymentMethods:()=>!Promise:interface<void>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};expect:{toBeHandshake:(res:import("playwright-core").Response)=>!Promise:interface<void>;toBeSignedOut:(args?:{timeOut:number;})=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeSignedIn:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeSignedInAsActor:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toHaveResolvedTask:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};impersonation:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;getSignOutLink:()=>import("playwright-core").Locator;};keylessPopover:{waitForMounted:()=>!Promise:interface<void>;waitForUnmounted:()=>!Promise:interface<void>;isExpanded:()=>!Promise:interface<boolean>;toggle:()=>!Promise:interface<void>;promptsToClaim:()=>import("playwright-core").Locator;promptToUseClaimedKeys:()=>import("playwright-core").Locator;promptToDismiss:()=>import("playwright-core").Locator;};organizationProfile:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;switchToBillingTab:()=>!Promise:interface<void>;switchToMembersTab:()=>!Promise:interface<void>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};organizationSwitcher:{goTo:(relativePath?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;expectNoOrganizationSelected:()=>!Promise:interface<void>;expectPersonalAccount:()=>!Promise:interface<void>;toggleTrigger:()=>!Promise:interface<void>;waitForAnOrganizationToSelected:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};pricingTable:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickResubscribe:()=>!Promise:interface<void>;waitToBeActive:({planSlug}:{planSlug:string;})=>!Promise:interface<void>;waitToBeFreeTrial:({planSlug}:{planSlug:string;})=>!Promise:interface<void>;getPlanCardCTA:({planSlug}:{planSlug:string;})=>import("playwright-core").Locator;startCheckout:({planSlug,shouldSwitch,period,}:{planSlug:string;shouldSwitch?:boolean;period?:"annually"|"monthly";})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};sessionTask:{resolveForceOrganizationSelectionTask:(fakeOrganization:{name:string;slug?:string;})=>!Promise:interface<void>;resolveResetPasswordTask:({newPassword,confirmPassword,}:{newPassword:string;confirmPassword:string;})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};signIn:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;timeout?:number;})=>!Promise:interface<import("playwright-core").Response|null>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;setIdentifier:(val:string)=>!Promise:interface<void>;setInstantPassword:(val:string)=>!Promise:interface<void>;usePhoneNumberIdentifier:()=>import("playwright-core").Locator;useEmailIdentifier:()=>import("playwright-core").Locator;useUsernameIdentifier:()=>import("playwright-core").Locator;getForgotPassword:()=>import("playwright-core").Locator;getGoToSignUp:()=>import("playwright-core").Locator;getResetPassword:()=>import("playwright-core").Locator;getUseAnotherMethodLink:()=>import("playwright-core").Locator;getAltMethodsEmailCodeButton:()=>import("playwright-core").Locator;getAltMethodsEmailLinkButton:()=>import("playwright-core").Locator;signInWithOauth:(provider:string)=>import("playwright-core").Locator;signInWithEmailAndInstantPassword:({email,password,waitForSession,}:{email:string;password:string;waitForSession?:boolean;})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};signUp:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;signUpWithOauth:(provider:string)=>import("playwright-core").Locator;signUp:(opts:{email?:string;password?:string;firstName?:string;lastName?:string;username?:string;phoneNumber?:string;legalAccepted?:boolean;})=>!Promise:interface<void>;signUpWithEmailAndPassword:(opts:!Pick:type<{email?:string;password?:string;firstName?:string;lastName?:string;username?:string;phoneNumber?:string;legalAccepted?:boolean;},"email"|"password">)=>!Promise:interface<void>;waitForEmailVerificationScreen:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};testingToken:{setup:()=>!Promise:interface<void>;};userAvatar:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;toBeVisible:(selector?:string)=>!Promise:interface<void>;};userButton:{waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;toggleTrigger:()=>!Promise:interface<void>;waitForPopover:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForPopoverClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;toHaveVisibleMenuItems:(menuItems:string|!RegExp:interface|!Array:interface<string|!RegExp:interface>)=>!Promise:interface<void>;triggerSignOut:()=>!Promise:interface<void>;triggerManageAccount:()=>!Promise:interface<void>;switchAccount:(emailAddress:string)=>!Promise:interface<void>;};userProfile:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;switchToSecurityTab:()=>!Promise:interface<void>;switchToBillingTab:()=>!Promise:interface<void>;switchToAPIKeysTab:()=>!Promise:interface<void>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickSetUsername:()=>!Promise:interface<void>;clickToUpdateProfile:()=>!Promise:interface<void>;clickUpdateUsername:()=>!Promise:interface<void>;clickSetPassword:()=>!Promise:interface<void>;waitForSectionCard:(section:import("@clerk/testing").~Sections,opened:boolean)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForSectionCardOpened:(section:import("@clerk/testing").~Sections)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForSectionCardClosed:(section:import("@clerk/testing").~Sections)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;typeUsername:(value:string)=>!Promise:interface<void>;typeFirstName:(value:string)=>!Promise:interface<void>;typeLastName:(value:string)=>!Promise:interface<void>;typePhoneNumber:(value:string)=>!Promise:interface<void>;clickAddEmailAddress:()=>!Promise:interface<void>;clickAddPhoneNumber:()=>!Promise:interface<void>;typeEmailAddress:(value:string)=>!Promise:interface<void>;waitForUserProfileModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};userVerification:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForClosed:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;closeReverificationModal:()=>!Promise:interface<void>;getUseAnotherMethodLink:()=>import("playwright-core").Locator;getAltMethodsEmailCodeButton:()=>import("playwright-core").Locator;getAltMethodsEmailLinkButton:()=>import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};waitlist:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;joinWaitlist:(opts:{email:string;})=>!Promise:interface<void>;joinWaitlistContinue:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};apiKeys:{waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickAddButton:()=>!Promise:interface<void>;waitForFormOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForFormClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForRevokeModalOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForRevokeModalClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForCopyModalOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForCopyModalClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;clickCopyAndCloseButton:()=>!Promise:interface<void>;typeName:(value:string)=>!Promise:interface<void>;typeDescription:(value:string)=>!Promise:interface<void>;selectExpiration:(value?:"180d"|"1d"|"1y"|"30d"|"60d"|"7d"|"90d"|"never")=>!Promise:interface<void>;clickSaveButton:()=>!Promise:interface<void>;typeRevokeConfirmation:(value:string)=>!Promise:interface<void>;clickConfirmRevokeButton:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};subscriptionDetails:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForUnmounted:()=>!Promise:interface<void>;closeDrawer:()=>!Promise:interface<void>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};planDetails:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};}{page:import("playwright-core").Page&{goToAppHome:()=>!Promise:interface<void>;goToRelative:(path:string,opts?:{waitUntil?:any;searchParams?:!URLSearchParams:interface;timeout?:number;})=>!Promise:interface<import("playwright-core").Response|null>;waitForClerkJsLoaded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;signOut:()=>!Promise:interface<import("playwright-core").JSHandle<void>>;waitForClerkComponentMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForAppUrl:(relativePath:string)=>!Promise:interface<void>;cookies:()=>!Promise:interface<!Map:interface<string,import("playwright-core").Cookie>&{raw:()=>import("playwright-core").Cookie[];}>;};clerk:{toBeLoaded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;getClientSideActor:()=>!Promise:interface<import("@clerk/shared").ActClaim|null|undefined>;toBeLoading:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeReady:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeDegraded:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;getClientSideUser:()=>!Promise:interface<import("@clerk/shared").UserResource|null|undefined>;};checkout:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;closeDrawer:()=>!Promise:interface<void>;fillTestCard:()=>!Promise:interface<void>;fillCard:(card:{number:string;expiration:string;cvc:string;country:string;zip:string;})=>!Promise:interface<void>;waitForStripeElements:({state}?:{state?:"hidden"|"visible";})=>!Promise:interface<void>;clickPayOrSubscribe:()=>!Promise:interface<void>;waitForSubscribeButton:()=>!Promise:interface<void>;confirmAndContinue:()=>!Promise:interface<void>;clickAddPaymentMethod:()=>!Promise:interface<void>;clickPaymentMethods:()=>!Promise:interface<void>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};expect:{toBeHandshake:(res:import("playwright-core").Response)=>!Promise:interface<void>;toBeSignedOut:(args?:{timeOut:number;})=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeSignedIn:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toBeSignedInAsActor:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;toHaveResolvedTask:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};impersonation:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;getSignOutLink:()=>import("playwright-core").Locator;};keylessPopover:{waitForMounted:()=>!Promise:interface<void>;waitForUnmounted:()=>!Promise:interface<void>;isExpanded:()=>!Promise:interface<boolean>;toggle:()=>!Promise:interface<void>;promptsToClaim:()=>import("playwright-core").Locator;promptToUseClaimedKeys:()=>import("playwright-core").Locator;promptToDismiss:()=>import("playwright-core").Locator;};organizationProfile:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;switchToBillingTab:()=>!Promise:interface<void>;switchToMembersTab:()=>!Promise:interface<void>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};organizationSwitcher:{goTo:(relativePath?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;expectNoOrganizationSelected:()=>!Promise:interface<void>;expectPersonalAccount:()=>!Promise:interface<void>;toggleTrigger:()=>!Promise:interface<void>;waitForAnOrganizationToSelected:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};pricingTable:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickResubscribe:()=>!Promise:interface<void>;waitToBeActive:({planSlug}:{planSlug:string;})=>!Promise:interface<void>;waitToBeFreeTrial:({planSlug}:{planSlug:string;})=>!Promise:interface<void>;getPlanCardCTA:({planSlug}:{planSlug:string;})=>import("playwright-core").Locator;startCheckout:({planSlug,shouldSwitch,period,}:{planSlug:string;shouldSwitch?:boolean;period?:"annually"|"monthly";})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};sessionTask:{resolveForceOrganizationSelectionTask:(fakeOrganization:{name:string;slug?:string;})=>!Promise:interface<void>;resolveResetPasswordTask:({newPassword,confirmPassword,}:{newPassword:string;confirmPassword:string;})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};signIn:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;timeout?:number;})=>!Promise:interface<import("playwright-core").Response|null>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;setIdentifier:(val:string)=>!Promise:interface<void>;setInstantPassword:(val:string)=>!Promise:interface<void>;usePhoneNumberIdentifier:()=>import("playwright-core").Locator;useEmailIdentifier:()=>import("playwright-core").Locator;useUsernameIdentifier:()=>import("playwright-core").Locator;getForgotPassword:()=>import("playwright-core").Locator;getGoToSignUp:()=>import("playwright-core").Locator;getResetPassword:()=>import("playwright-core").Locator;getUseAnotherMethodLink:()=>import("playwright-core").Locator;getAltMethodsEmailCodeButton:()=>import("playwright-core").Locator;getAltMethodsEmailLinkButton:()=>import("playwright-core").Locator;signInWithOauth:(provider:string)=>import("playwright-core").Locator;signInWithEmailAndInstantPassword:({email,password,waitForSession,}:{email:string;password:string;waitForSession?:boolean;})=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};signUp:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;signUpWithOauth:(provider:string)=>import("playwright-core").Locator;signUp:(opts:{email?:string;password?:string;firstName?:string;lastName?:string;username?:string;phoneNumber?:string;legalAccepted?:boolean;})=>!Promise:interface<void>;signUpWithEmailAndPassword:(opts:!Pick:type<{email?:string;password?:string;firstName?:string;lastName?:string;username?:string;phoneNumber?:string;legalAccepted?:boolean;},"email"|"password">)=>!Promise:interface<void>;waitForEmailVerificationScreen:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};testingToken:{setup:()=>!Promise:interface<void>;};userAvatar:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;toBeVisible:(selector?:string)=>!Promise:interface<void>;};userButton:{waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;toggleTrigger:()=>!Promise:interface<void>;waitForPopover:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForPopoverClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;toHaveVisibleMenuItems:(menuItems:string|!RegExp:interface|!Array:interface<string|!RegExp:interface>)=>!Promise:interface<void>;triggerSignOut:()=>!Promise:interface<void>;triggerManageAccount:()=>!Promise:interface<void>;switchAccount:(emailAddress:string)=>!Promise:interface<void>;};mosaicUserButton:{trigger:()=>import("playwright-core").Locator;popup:()=>import("playwright-core").Locator;waitForMounted:()=>!Promise:interface<void>;toggleTrigger:()=>!Promise:interface<void>;waitForPopover:()=>!Promise:interface<void>;waitForPopoverClosed:()=>!Promise:interface<void>;expectTriggerLabel:(workspaceName:string)=>!Promise:interface<void>;selectWorkspace:(name:string)=>!Promise:interface<void>;selectPersonalWorkspace:()=>!Promise:interface<void>;switchAccount:(identifier:string)=>!Promise:interface<void>;openAccountActions:(identifier:string)=>!Promise:interface<void>;openAccountsHeadingActions:()=>!Promise:interface<void>;clickMenuItem:(name:string)=>!Promise:interface<void>;clickAction:(name:string)=>!Promise:interface<void>;triggerManageAccount:(identifier:string)=>!Promise:interface<void>;triggerManageOrganization:()=>!Promise:interface<void>;triggerSignOutAll:()=>!Promise:interface<void>;};userProfile:{goTo:(opts?:{searchParams:!URLSearchParams:interface;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;switchToSecurityTab:()=>!Promise:interface<void>;switchToBillingTab:()=>!Promise:interface<void>;switchToAPIKeysTab:()=>!Promise:interface<void>;waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickSetUsername:()=>!Promise:interface<void>;clickToUpdateProfile:()=>!Promise:interface<void>;clickUpdateUsername:()=>!Promise:interface<void>;clickSetPassword:()=>!Promise:interface<void>;waitForSectionCard:(section:import("@clerk/testing").~Sections,opened:boolean)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForSectionCardOpened:(section:import("@clerk/testing").~Sections)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForSectionCardClosed:(section:import("@clerk/testing").~Sections)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;typeUsername:(value:string)=>!Promise:interface<void>;typeFirstName:(value:string)=>!Promise:interface<void>;typeLastName:(value:string)=>!Promise:interface<void>;typePhoneNumber:(value:string)=>!Promise:interface<void>;clickAddEmailAddress:()=>!Promise:interface<void>;clickAddPhoneNumber:()=>!Promise:interface<void>;typeEmailAddress:(value:string)=>!Promise:interface<void>;waitForUserProfileModal:(state?:"closed"|"open")=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};userVerification:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForClosed:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;closeReverificationModal:()=>!Promise:interface<void>;getUseAnotherMethodLink:()=>import("playwright-core").Locator;getAltMethodsEmailCodeButton:()=>import("playwright-core").Locator;getAltMethodsEmailLinkButton:()=>import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};waitlist:{goTo:(opts?:{searchParams?:!URLSearchParams:interface;headlessSelector?:string;})=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;joinWaitlist:(opts:{email:string;})=>!Promise:interface<void>;joinWaitlistContinue:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};apiKeys:{waitForMounted:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;clickAddButton:()=>!Promise:interface<void>;waitForFormOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForFormClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForRevokeModalOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForRevokeModalClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;waitForCopyModalOpened:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForCopyModalClosed:()=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>|null>;clickCopyAndCloseButton:()=>!Promise:interface<void>;typeName:(value:string)=>!Promise:interface<void>;typeDescription:(value:string)=>!Promise:interface<void>;selectExpiration:(value?:"180d"|"1d"|"1y"|"30d"|"60d"|"7d"|"90d"|"never")=>!Promise:interface<void>;clickSaveButton:()=>!Promise:interface<void>;typeRevokeConfirmation:(value:string)=>!Promise:interface<void>;clickConfirmRevokeButton:()=>!Promise:interface<void>;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};subscriptionDetails:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;waitForUnmounted:()=>!Promise:interface<void>;closeDrawer:()=>!Promise:interface<void>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};planDetails:{waitForMounted:(selector?:string)=>!Promise:interface<import("playwright-core").ElementHandle<!SVGElement:interface|!HTMLElement:interface>>;root:import("playwright-core").Locator;continue:()=>!Promise:interface<void>;setEmailAddress:(val:string)=>!Promise:interface<void>;setPassword:(val:string)=>!Promise:interface<void>;setPasswordConfirmation:(val:string)=>!Promise:interface<void>;enterOtpCode:(code:string,opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;enterTestOtpCode:(opts?:{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;})=>!Promise:interface<void>;fillTestOtpCode:(name:string,opts?:!Omit:type<{name?:string;awaitRequests?:boolean;awaitPrepare?:boolean;awaitAttempt?:boolean;},"name">)=>!Promise:interface<void>;getIdentifierInput:()=>import("playwright-core").Locator;getEmailAddressInput:()=>import("playwright-core").Locator;getPhoneNumberInput:()=>import("playwright-core").Locator;getUsernameInput:()=>import("playwright-core").Locator;getPasswordInput:()=>import("playwright-core").Locator;getLegalAccepted:()=>import("playwright-core").Locator;getFirstNameInput:()=>import("playwright-core").Locator;getLastNameInput:()=>import("playwright-core").Locator;waitForSession:()=>!Promise:interface<import("playwright-core").JSHandle<boolean>>;};}

🤖 AI review (reclassified as non-breaking) (92%): The only structural difference between the before and after return types is the addition of the new mosaicUserButton property on the returned object; all existing properties are unchanged. Since this is a function return type (output position), adding a new property does not break any existing consumer code that reads or destructures the previous fields.


Report generated by Break Check

Last ran on 5ec39b1.

`useUserProfilePages` hardcodes the UserProfile's built-in page list as a
mirror of clerk-js, and nothing at any level asserted the mirror was
accurate. `openOrNavigate` was covered only by asserting `navigate` was
called with a string, never that the app landed there.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant