import type * as emulator from "@qawolf/run-globals-android/emulator"; import type { LaunchApp } from "../mobileLaunchApp.js"; import type { Dependencies } from "./dependencies.js"; type RawLaunchOptions = Exclude[0], string | undefined>; /** * Configures how an Android flow starts its app or browser session. * * When `app` is omitted, launch falls back to the runner-provided executable * input path and then to installed-app startup through `appPackage`. * `autoGrantPermissions` defaults to `true` and `noReset` defaults to `false`. */ export type LaunchOptions = { /** * App artifact source. Use `path` for checked-in binaries, `env` for an * environment variable that points at the artifact, or `url` for a remote * download URL. */ app?: LaunchApp; /** Android activity to start after the app is installed. */ appActivity?: RawLaunchOptions["appium:appActivity"]; /** Android package name used for installed-app startup and app targeting. */ appPackage?: RawLaunchOptions["appium:appPackage"]; /** Activity pattern Appium should wait for before the session is ready. */ appWaitActivity?: RawLaunchOptions["appium:appWaitActivity"]; /** Whether Android runtime permissions should be auto-granted. Defaults to `true`. */ autoGrantPermissions?: RawLaunchOptions["appium:autoGrantPermissions"]; /** Browser name for browser-based Android automation. */ browserName?: RawLaunchOptions["browserName"]; /** Raw Appium capabilities for advanced cases not covered by the curated API. */ capabilities?: Record; /** Whether app state should be preserved between launches. Defaults to `false`. */ noReset?: RawLaunchOptions["appium:noReset"]; /** Appium idle wait timeout override in milliseconds. */ waitForIdleTimeout?: RawLaunchOptions["appium:waitForIdleTimeout"]; }; /** * The active automation objects returned by `launch()` for Android flows. * * Android launches currently return an Appium/WebdriverIO driver. */ export type LaunchResult = { driver: Awaited>; }; /** * Advanced Android device controls available while a flow is running. * * Use `device` for emulator- or device-level operations that sit outside the * main `flow(...)` and `launch()` path. */ export type Device = typeof emulator; export type AndroidStartOptions = RawLaunchOptions; export declare const getDependencies: () => import("../../generated/dependencies.js").AndroidDependencies, runWithDependencies: ({ callback, dependencies, }: { callback: () => Promise; dependencies: import("../../generated/dependencies.js").AndroidDependencies; }) => Promise; export {}; //# sourceMappingURL=runtime.d.ts.map