import type { Dependencies } from "./dependencies.js"; import { type FlowContextFor, type LaunchFlowContext, type LegacyFlowContext, type TestContext } from "./flowContext.js"; import type { AndroidFlowApiReturnValue, AndroidFlowDefinition, AndroidFlowTarget, AndroidFlowTargetInput, AndroidLaunchFlowOptions, AndroidLegacyFlowDefinition, AndroidLegacyFlowOptions } from "./flowTypes.js"; import { type Device, type LaunchOptions, type LaunchResult } from "./runtime.js"; export type { AndroidFlowApiReturnValue, AndroidFlowDefinition, AndroidFlowTarget, AndroidFlowTargetInput, AndroidLegacyFlowDefinition, Dependencies, FlowContextFor, LaunchFlowContext, LegacyFlowContext, TestContext, }; export { testContextDependencies } from "./flowContext.js"; export type { Device, LaunchOptions, LaunchResult }; /** * Package-owned assertions for Android flows. * * The runner configures target context, but the assertion implementation comes * from @qawolf/flows so author imports behave consistently across targets. */ export { expect } from "expect"; type FlowApi = { (flowName: string, target: AndroidFlowTarget | AndroidLegacyFlowOptions, flowCallback: (context: LegacyFlowContext) => Promise): AndroidFlowDefinition; (flowName: string, target: AndroidLaunchFlowOptions, flowCallback: (context: LegacyFlowContext & LaunchFlowContext) => Promise): AndroidFlowDefinition; }; /** * Starts Android automation for the active flow. * * Use this inside a running Android flow when you need direct control over app * startup. By default it resolves the app from flow inputs, grants * permissions, and starts with `noReset: false`. * * This API is only available while a flow is running. * * @example * const { driver } = await launch({ * app: { path: "android/app.apk" }, * appPackage: "com.example.app", * }); */ export declare function launch(options?: LaunchOptions): Promise; /** * Advanced Android device controls for the active flow. * * This is the escape hatch for emulator and device operations that are broader * than app startup. * * This API is only available while a flow is running. * * @example * await device.setGeoLocation({ latitude: 37.7749, longitude: -122.4194 }); */ export declare const device: typeof import("@qawolf/run-globals-android/emulator"); /** * Defines an Android flow. * * Use `flow(...)` for the common path where the callback works with injected * flow context. Pair it with `launch()` or `device` when the flow needs more * explicit runtime control. * * @example * export default flow("Open app", "Android - Pixel 8", async ({ driver }) => { * await driver.pause(1000); * }); */ export declare const flow: FlowApi; //# sourceMappingURL=index.d.ts.map