import type { IosApi } from "../../generated/dependencies.js"; import type { LaunchApp } from "../mobileLaunchApp.js"; import type { Dependencies } from "./dependencies.js"; type RawLaunchOptions = Exclude[0], string | undefined>; /** * Configures how an iOS 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 `bundleId`. * `respectSystemAlerts` defaults to `true`, `snapshotMaxDepth` defaults to * `999`, 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; /** Whether iOS alerts should be accepted automatically. */ autoAcceptAlerts?: RawLaunchOptions["appium:autoAcceptAlerts"]; /** Whether iOS alerts should be dismissed automatically. */ autoDismissAlerts?: RawLaunchOptions["appium:autoDismissAlerts"]; /** Browser name for browser-based iOS automation. */ browserName?: RawLaunchOptions["browserName"]; /** Installed app bundle identifier used for app targeting and startup. */ bundleId?: RawLaunchOptions["appium:bundleId"]; /** 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"]; /** iOS platform version to target. */ platformVersion?: RawLaunchOptions["appium:platformVersion"]; /** Whether Appium should respect system alerts. Defaults to `true`. */ respectSystemAlerts?: RawLaunchOptions["appium:settings[respectSystemAlerts]"]; /** Snapshot traversal depth used by Appium. Defaults to `999`. */ snapshotMaxDepth?: RawLaunchOptions["appium:settings[snapshotMaxDepth]"]; /** Specific simulator or device UDID to target. */ udid?: RawLaunchOptions["appium:udid"]; /** Appium idle wait timeout override in milliseconds. */ waitForIdleTimeout?: RawLaunchOptions["appium:waitForIdleTimeout"]; /** Existing WebDriverAgent endpoint to connect to instead of starting a new one. */ webDriverAgentUrl?: RawLaunchOptions["appium:webDriverAgentUrl"]; }; /** * The active automation objects returned by `launch()` for iOS flows. * * iOS launches currently return an Appium/WebdriverIO driver. */ export type LaunchResult = { driver: Awaited>; }; /** * Advanced iOS device controls available while a flow is running. * * Use `device` for simulator- or device-level operations that sit outside the * main `flow(...)` and `launch()` path. */ export type Device = IosApi; export type IosStartOptions = RawLaunchOptions; export declare const getDependencies: () => import("../../generated/dependencies.js").IosDependencies, runWithDependencies: ({ callback, dependencies, }: { callback: () => Promise; dependencies: import("../../generated/dependencies.js").IosDependencies; }) => Promise; export {}; //# sourceMappingURL=runtime.d.ts.map