IGPAPI
    Preparing search index...

    Variable androidIgpapiPlansConst Internal

    androidIgpapiPlans: {
        fresh: (
            options: AndroidAppLaunchOptions & { seed?: string },
        ) => AndroidIgpapiOptions;
        install: (
            options: AndroidIgpapiOptions,
        ) => Plan<
            ScreenRootHandle<
                "LoginHomepage",
                "screen",
                {
                    aac: string;
                    attestationChallengeNonce?: string;
                    loginEntryPoint: "login-home"
                    | "landing-screen";
                    oauthQpl: { instanceId: number; markerId: number };
                    passwordTextInputId: string;
                    qpl: { instanceId: number; markerId: number };
                    recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                    usernameTextInputId: string;
                    waterfallId: string;
                },
                {
                    createNewAccount: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => ScreenEdgeBound<
                        ScreenEdgeShape<
                            RegistrationPhoneNumberDefinition,
                            [],
                            "button",
                            AndroidScreens,
                        >,
                        (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "RegistrationPhoneNumber",
                                "screen",
                                {},
                                { submitPhoneNumber: ... },
                                Record<(...), (...)>,
                                ScreenHandle,
                                "required",
                                true,
                                never,
                                AndroidScreens,
                            >,

                                | IgNotFoundError
                                | IgRateLimitError
                                | IgSpamError
                                | IgCheckpointError
                                | IgAccountSuspendedError
                                | IgAccountDisabledError
                                | IgCookieConsentRequiredError
                                | IgLoginRequiredError
                                | IgUserLoggedOutError
                                | IgPrivateUserError
                                | IgInactiveUserError
                                | IgSentryBlockError
                                | IgIpBlockError
                                | IgLoginTwoFactorRequiredError
                                | RequestError
                                | ParseError
                                | TransportError
                                | IgBloks429Error
                                | ScreenDataError
                                | ScreenEnterConcurrentError
                                | ScreenEdgeInputError,
                            | PlainJsonApiHttp
                            | MobileSession
                            | MobileDevice
                            | GraphqlJsonHttp
                            | MobileApplication
                            | BloksHttp
                            | MobileNavigation
                            | ScreenStack
                            | ScreenCatalog,
                        >,
                    >;
                    logIn: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => (
                        ...args: [credentials: LoginInput],
                    ) => Effect<
                        LoginHomepageAnswer,
                        | IgNotFoundError
                        | IgRateLimitError
                        | IgSpamError
                        | IgCheckpointError
                        | IgAccountSuspendedError
                        | IgAccountDisabledError
                        | IgCookieConsentRequiredError
                        | IgLoginRequiredError
                        | IgUserLoggedOutError
                        | IgPrivateUserError
                        | IgInactiveUserError
                        | IgSentryBlockError
                        | IgIpBlockError
                        | IgLoginTwoFactorRequiredError
                        | RequestError
                        | ParseError
                        | TransportError
                        | PasswordEncryptionKeysUnavailableError
                        | LoginBloksParseError
                        | LoginBloksRejectedError
                        | LoginTwoFactorEntrypointParseError
                        | LoginAccountRecoveryRequiredError
                        | LoginAccountRecoveryContinueError
                        | IgBloks429Error
                        | IgLoginBadPasswordError
                        | AccountRecoveryBloksIssuedParamsMissingError
                        | ScreenDataError
                        | ScreenEnterConcurrentError
                        | ScreenEdgeInputError
                        | AppAlreadyStartedError,
                        | PlainJsonApiHttp
                        | MobileSession
                        | MobileDevice
                        | MobileApplication
                        | SessionHeaderParser
                        | BloksHttp
                        | MobileNavigation
                        | ScreenStack
                        | ScreenCatalog
                        | TwoFactorTickets
                        | AccountRecoveryTickets,
                    >;
                    openApproveFromAnotherDevice: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => ScreenEdgeBound<
                        ScreenEdgeShape<
                            ScreenDefinition<
                                "LoginTwoFactorEntrypoint",
                                "screen",
                                undefined,
                                { ticket: (...) & (...) },
                                LoginTwoFactorApproveFromAnotherDeviceState,
                                never,
                                MobileNavigation | TwoFactorTickets,
                                {
                                    checkApproval: (self: ..., state: ...) => ...;
                                    tryAnotherWay: (self: ..., state: ...) => ...;
                                },
                                Record<never, never>,
                                never,
                                never,
                            >,
                            [],
                            "button",
                            AndroidScreens,
                        >,
                        (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "LoginTwoFactorEntrypoint",
                                "screen",
                                { ticket: ... },
                                { checkApproval: ...; tryAnotherWay: ... },
                                Record<(...), (...)>,
                                ScreenHandle,
                                "required",
                                true,
                                never,
                                AndroidScreens,
                            >,
                            ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                            MobileNavigation | ScreenStack | ScreenCatalog | TwoFactorTickets,
                        >,
                    >;
                    openEmailCode: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => ScreenEdgeBound<
                        ScreenEdgeShape<
                            ScreenDefinition<
                                "AccountRecoveryEmailCode",
                                "screen",
                                undefined,
                                { maskedContact?: (...)
                                | (...); ticket: (...) & (...) },
                                { maskedContact?: (...) | (...); ticket: (...) & (...) },
                                BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

                                    | MobileSession
                                    | MobileDevice
                                    | MobileApplication
                                    | BloksHttp
                                    | MobileNavigation
                                    | AccountRecoveryTickets,
                                {
                                    requestNewCode: (self: ..., state: ...) => ...;
                                    submitCode: (self: ..., state: ...) => ...;
                                },
                                Record<never, never>,
                                never,
                                never,
                            >,
                            [],
                            "button",
                            AndroidScreens,
                        >,
                        (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "AccountRecoveryEmailCode",
                                "screen",
                                { maskedContact?: ...; ticket: ... },
                                { requestNewCode: ...; submitCode: ... },
                                Record<(...), (...)>,
                                ScreenHandle,
                                "required",
                                true,
                                never,
                                AndroidScreens,
                            >,

                                | BloksHttpError
                                | AccountRecoveryBloksIssuedParamsMissingError
                                | ScreenDataError
                                | ScreenEnterConcurrentError
                                | ScreenEdgeInputError,
                            | MobileSession
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileNavigation
                            | ScreenStack
                            | ScreenCatalog
                            | AccountRecoveryTickets,
                        >,
                    >;
                    openMethodPicker: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => ScreenEdgeBound<
                        ScreenEdgeShape<
                            ScreenDefinition<
                                "LoginTwoFactorMethodPicker",
                                "screen",
                                { ticket?: (...)
                                | (...) },
                                {
                                    offeredMethods: readonly (...)[];
                                    preselected?: (...) | (...) | (...) | (...) | (...) | (...);
                                    ticket: (...) & (...);
                                },
                                LoginTwoFactorChooseMethodState,
                                BloksHttpError,
                                | MobileDevice
                                | MobileApplication
                                | BloksHttp
                                | MobileNavigation
                                | TwoFactorTickets,
                                { chooseAuthenticationApp: (self: ..., state: ...) => ... },
                                Record<never, never>,
                                never,
                                never,
                            >,
                            [],
                            "button",
                            AndroidScreens,
                        >,
                        (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "LoginTwoFactorMethodPicker",
                                "screen",
                                { offeredMethods: ...; preselected?: ...; ticket: ... },
                                { chooseAuthenticationApp: ... },
                                Record<(...), (...)>,
                                ScreenHandle,
                                "required",
                                true,
                                never,
                                AndroidScreens,
                            >,

                                | BloksHttpError
                                | ScreenDataError
                                | ScreenEnterConcurrentError
                                | ScreenEdgeInputError,
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileNavigation
                            | ScreenStack
                            | ScreenCatalog
                            | TwoFactorTickets,
                        >,
                    >;
                    recoverPassword: (
                        self: ScreenHandle,
                        state: {
                            aac: string;
                            attestationChallengeNonce?: string;
                            loginEntryPoint: "login-home" | "landing-screen";
                            oauthQpl: { instanceId: number; markerId: number };
                            passwordTextInputId: string;
                            qpl: { instanceId: number; markerId: number };
                            recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                            usernameTextInputId: string;
                            waterfallId: string;
                        },
                    ) => ScreenEdgeBound<
                        ScreenEdgeShape<
                            ScreenDefinition<
                                "AccountRecoverySearch",
                                "screen",
                                { aac: string; ticket?: (...)
                                | (...) },
                                {
                                    aac: string;
                                    searchScreenType: string;
                                    searchTicket: (...) & (...);
                                    textInputId: string;
                                    waterfallId: string;
                                },
                                {
                                    aac: string;
                                    searchScreenType: string;
                                    searchTicket: (...) & (...);
                                    textInputId: string;
                                    waterfallId: string;
                                },
                                BloksHttpError
                                | AccountRecoveryBloksIssuedParamsMissingError,

                                    | MobileDevice
                                    | MobileApplication
                                    | BloksHttp
                                    | MobileNavigation
                                    | AccountRecoveryTickets,
                                { findAccount: (self: ..., state: ...) => ... },
                                Record<never, never>,
                                never,
                                never,
                            >,
                            [],
                            "button",
                            AndroidScreens,
                        >,
                        (
                            ...args: [],
                        ) => Effect<
                            AssembledHandle<
                                "AccountRecoverySearch",
                                "screen",
                                {
                                    aac: ...;
                                    searchScreenType: ...;
                                    searchTicket: ...;
                                    textInputId: ...;
                                    waterfallId: ...;
                                },
                                { findAccount: ... },
                                Record<(...), (...)>,
                                ScreenHandle,
                                "required",
                                true,
                                never,
                                AndroidScreens,
                            >,

                                | BloksHttpError
                                | AccountRecoveryBloksIssuedParamsMissingError
                                | ScreenDataError
                                | ScreenEnterConcurrentError
                                | ScreenEdgeInputError,
                            | MobileDevice
                            | MobileApplication
                            | BloksHttp
                            | MobileNavigation
                            | ScreenStack
                            | ScreenCatalog
                            | AccountRecoveryTickets,
                        >,
                    >;
                },
                Record<never, never>,
                never,
            >,
        >;
        launch: <
            Screen extends
                ChallengeOutcome
                | AndroidAppLaunchScreen = AndroidAppLaunchScreen,
        >(
            options: AndroidIgpapiOptions,
            expected?: ExpectedScreen,
            seed?: string,
        ) => Plan<Screen>;
        resume: (
            kind: ResumeKind,
            stored: object,
            options: AndroidRestoreOptions | undefined,
            expected?: ExpectedScreen,
        ) => Plan<ScreenHandle | ChallengeOutcome, ResumedProcess>;
    } = ...

    The plans the package's tests build runs from.

    Type Declaration

    • fresh: (options: AndroidAppLaunchOptions & { seed?: string }) => AndroidIgpapiOptions
    • install: (
          options: AndroidIgpapiOptions,
      ) => Plan<
          ScreenRootHandle<
              "LoginHomepage",
              "screen",
              {
                  aac: string;
                  attestationChallengeNonce?: string;
                  loginEntryPoint: "login-home"
                  | "landing-screen";
                  oauthQpl: { instanceId: number; markerId: number };
                  passwordTextInputId: string;
                  qpl: { instanceId: number; markerId: number };
                  recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                  usernameTextInputId: string;
                  waterfallId: string;
              },
              {
                  createNewAccount: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => ScreenEdgeBound<
                      ScreenEdgeShape<
                          RegistrationPhoneNumberDefinition,
                          [],
                          "button",
                          AndroidScreens,
                      >,
                      (
                          ...args: [],
                      ) => Effect<
                          AssembledHandle<
                              "RegistrationPhoneNumber",
                              "screen",
                              {},
                              { submitPhoneNumber: ... },
                              Record<(...), (...)>,
                              ScreenHandle,
                              "required",
                              true,
                              never,
                              AndroidScreens,
                          >,

                              | IgNotFoundError
                              | IgRateLimitError
                              | IgSpamError
                              | IgCheckpointError
                              | IgAccountSuspendedError
                              | IgAccountDisabledError
                              | IgCookieConsentRequiredError
                              | IgLoginRequiredError
                              | IgUserLoggedOutError
                              | IgPrivateUserError
                              | IgInactiveUserError
                              | IgSentryBlockError
                              | IgIpBlockError
                              | IgLoginTwoFactorRequiredError
                              | RequestError
                              | ParseError
                              | TransportError
                              | IgBloks429Error
                              | ScreenDataError
                              | ScreenEnterConcurrentError
                              | ScreenEdgeInputError,
                          | PlainJsonApiHttp
                          | MobileSession
                          | MobileDevice
                          | GraphqlJsonHttp
                          | MobileApplication
                          | BloksHttp
                          | MobileNavigation
                          | ScreenStack
                          | ScreenCatalog,
                      >,
                  >;
                  logIn: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => (
                      ...args: [credentials: LoginInput],
                  ) => Effect<
                      LoginHomepageAnswer,
                      | IgNotFoundError
                      | IgRateLimitError
                      | IgSpamError
                      | IgCheckpointError
                      | IgAccountSuspendedError
                      | IgAccountDisabledError
                      | IgCookieConsentRequiredError
                      | IgLoginRequiredError
                      | IgUserLoggedOutError
                      | IgPrivateUserError
                      | IgInactiveUserError
                      | IgSentryBlockError
                      | IgIpBlockError
                      | IgLoginTwoFactorRequiredError
                      | RequestError
                      | ParseError
                      | TransportError
                      | PasswordEncryptionKeysUnavailableError
                      | LoginBloksParseError
                      | LoginBloksRejectedError
                      | LoginTwoFactorEntrypointParseError
                      | LoginAccountRecoveryRequiredError
                      | LoginAccountRecoveryContinueError
                      | IgBloks429Error
                      | IgLoginBadPasswordError
                      | AccountRecoveryBloksIssuedParamsMissingError
                      | ScreenDataError
                      | ScreenEnterConcurrentError
                      | ScreenEdgeInputError
                      | AppAlreadyStartedError,
                      | PlainJsonApiHttp
                      | MobileSession
                      | MobileDevice
                      | MobileApplication
                      | SessionHeaderParser
                      | BloksHttp
                      | MobileNavigation
                      | ScreenStack
                      | ScreenCatalog
                      | TwoFactorTickets
                      | AccountRecoveryTickets,
                  >;
                  openApproveFromAnotherDevice: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => ScreenEdgeBound<
                      ScreenEdgeShape<
                          ScreenDefinition<
                              "LoginTwoFactorEntrypoint",
                              "screen",
                              undefined,
                              { ticket: (...) & (...) },
                              LoginTwoFactorApproveFromAnotherDeviceState,
                              never,
                              MobileNavigation | TwoFactorTickets,
                              {
                                  checkApproval: (self: ..., state: ...) => ...;
                                  tryAnotherWay: (self: ..., state: ...) => ...;
                              },
                              Record<never, never>,
                              never,
                              never,
                          >,
                          [],
                          "button",
                          AndroidScreens,
                      >,
                      (
                          ...args: [],
                      ) => Effect<
                          AssembledHandle<
                              "LoginTwoFactorEntrypoint",
                              "screen",
                              { ticket: ... },
                              { checkApproval: ...; tryAnotherWay: ... },
                              Record<(...), (...)>,
                              ScreenHandle,
                              "required",
                              true,
                              never,
                              AndroidScreens,
                          >,
                          ScreenDataError | ScreenEnterConcurrentError | ScreenEdgeInputError,
                          MobileNavigation | ScreenStack | ScreenCatalog | TwoFactorTickets,
                      >,
                  >;
                  openEmailCode: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => ScreenEdgeBound<
                      ScreenEdgeShape<
                          ScreenDefinition<
                              "AccountRecoveryEmailCode",
                              "screen",
                              undefined,
                              { maskedContact?: (...)
                              | (...); ticket: (...) & (...) },
                              { maskedContact?: (...) | (...); ticket: (...) & (...) },
                              BloksHttpError | AccountRecoveryBloksIssuedParamsMissingError,

                                  | MobileSession
                                  | MobileDevice
                                  | MobileApplication
                                  | BloksHttp
                                  | MobileNavigation
                                  | AccountRecoveryTickets,
                              {
                                  requestNewCode: (self: ..., state: ...) => ...;
                                  submitCode: (self: ..., state: ...) => ...;
                              },
                              Record<never, never>,
                              never,
                              never,
                          >,
                          [],
                          "button",
                          AndroidScreens,
                      >,
                      (
                          ...args: [],
                      ) => Effect<
                          AssembledHandle<
                              "AccountRecoveryEmailCode",
                              "screen",
                              { maskedContact?: ...; ticket: ... },
                              { requestNewCode: ...; submitCode: ... },
                              Record<(...), (...)>,
                              ScreenHandle,
                              "required",
                              true,
                              never,
                              AndroidScreens,
                          >,

                              | BloksHttpError
                              | AccountRecoveryBloksIssuedParamsMissingError
                              | ScreenDataError
                              | ScreenEnterConcurrentError
                              | ScreenEdgeInputError,
                          | MobileSession
                          | MobileDevice
                          | MobileApplication
                          | BloksHttp
                          | MobileNavigation
                          | ScreenStack
                          | ScreenCatalog
                          | AccountRecoveryTickets,
                      >,
                  >;
                  openMethodPicker: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => ScreenEdgeBound<
                      ScreenEdgeShape<
                          ScreenDefinition<
                              "LoginTwoFactorMethodPicker",
                              "screen",
                              { ticket?: (...)
                              | (...) },
                              {
                                  offeredMethods: readonly (...)[];
                                  preselected?: (...) | (...) | (...) | (...) | (...) | (...);
                                  ticket: (...) & (...);
                              },
                              LoginTwoFactorChooseMethodState,
                              BloksHttpError,
                              | MobileDevice
                              | MobileApplication
                              | BloksHttp
                              | MobileNavigation
                              | TwoFactorTickets,
                              { chooseAuthenticationApp: (self: ..., state: ...) => ... },
                              Record<never, never>,
                              never,
                              never,
                          >,
                          [],
                          "button",
                          AndroidScreens,
                      >,
                      (
                          ...args: [],
                      ) => Effect<
                          AssembledHandle<
                              "LoginTwoFactorMethodPicker",
                              "screen",
                              { offeredMethods: ...; preselected?: ...; ticket: ... },
                              { chooseAuthenticationApp: ... },
                              Record<(...), (...)>,
                              ScreenHandle,
                              "required",
                              true,
                              never,
                              AndroidScreens,
                          >,

                              | BloksHttpError
                              | ScreenDataError
                              | ScreenEnterConcurrentError
                              | ScreenEdgeInputError,
                          | MobileDevice
                          | MobileApplication
                          | BloksHttp
                          | MobileNavigation
                          | ScreenStack
                          | ScreenCatalog
                          | TwoFactorTickets,
                      >,
                  >;
                  recoverPassword: (
                      self: ScreenHandle,
                      state: {
                          aac: string;
                          attestationChallengeNonce?: string;
                          loginEntryPoint: "login-home" | "landing-screen";
                          oauthQpl: { instanceId: number; markerId: number };
                          passwordTextInputId: string;
                          qpl: { instanceId: number; markerId: number };
                          recoveryTicket?: string & Brand<"RecoveryActionTicket">;
                          usernameTextInputId: string;
                          waterfallId: string;
                      },
                  ) => ScreenEdgeBound<
                      ScreenEdgeShape<
                          ScreenDefinition<
                              "AccountRecoverySearch",
                              "screen",
                              { aac: string; ticket?: (...)
                              | (...) },
                              {
                                  aac: string;
                                  searchScreenType: string;
                                  searchTicket: (...) & (...);
                                  textInputId: string;
                                  waterfallId: string;
                              },
                              {
                                  aac: string;
                                  searchScreenType: string;
                                  searchTicket: (...) & (...);
                                  textInputId: string;
                                  waterfallId: string;
                              },
                              BloksHttpError
                              | AccountRecoveryBloksIssuedParamsMissingError,

                                  | MobileDevice
                                  | MobileApplication
                                  | BloksHttp
                                  | MobileNavigation
                                  | AccountRecoveryTickets,
                              { findAccount: (self: ..., state: ...) => ... },
                              Record<never, never>,
                              never,
                              never,
                          >,
                          [],
                          "button",
                          AndroidScreens,
                      >,
                      (
                          ...args: [],
                      ) => Effect<
                          AssembledHandle<
                              "AccountRecoverySearch",
                              "screen",
                              {
                                  aac: ...;
                                  searchScreenType: ...;
                                  searchTicket: ...;
                                  textInputId: ...;
                                  waterfallId: ...;
                              },
                              { findAccount: ... },
                              Record<(...), (...)>,
                              ScreenHandle,
                              "required",
                              true,
                              never,
                              AndroidScreens,
                          >,

                              | BloksHttpError
                              | AccountRecoveryBloksIssuedParamsMissingError
                              | ScreenDataError
                              | ScreenEnterConcurrentError
                              | ScreenEdgeInputError,
                          | MobileDevice
                          | MobileApplication
                          | BloksHttp
                          | MobileNavigation
                          | ScreenStack
                          | ScreenCatalog
                          | AccountRecoveryTickets,
                      >,
                  >;
              },
              Record<never, never>,
              never,
          >,
      >
    • launch: <
          Screen extends
              ChallengeOutcome
              | AndroidAppLaunchScreen = AndroidAppLaunchScreen,
      >(
          options: AndroidIgpapiOptions,
          expected?: ExpectedScreen,
          seed?: string,
      ) => Plan<Screen>
    • resume: (
          kind: ResumeKind,
          stored: object,
          options: AndroidRestoreOptions | undefined,
          expected?: ExpectedScreen,
      ) => Plan<ScreenHandle | ChallengeOutcome, ResumedProcess>