import type { Dependencies } from "./dependencies.js"; import { type FlowContextFor, type LaunchFlowContext, type LegacyFlowContext, type TestContext } from "./flowContext.js"; import type { IosFlowApiReturnValue, IosFlowDefinition, IosFlowTarget, IosFlowTargetInput, IosLaunchFlowOptions, IosLegacyFlowDefinition, IosLegacyFlowOptions } from "./flowTypes.js"; import { type Device, type LaunchOptions, type LaunchResult } from "./runtime.js"; export type { Dependencies, FlowContextFor, IosFlowApiReturnValue, IosFlowDefinition, IosFlowTarget, IosFlowTargetInput, IosLegacyFlowDefinition, LaunchFlowContext, LegacyFlowContext, TestContext, }; export { testContextDependencies } from "./flowContext.js"; export type { Device, LaunchOptions, LaunchResult }; /** * Package-owned assertions for iOS 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: IosFlowTarget | IosLegacyFlowOptions, flowCallback: (context: LegacyFlowContext) => Promise): IosFlowDefinition; (flowName: string, target: IosLaunchFlowOptions, flowCallback: (context: LegacyFlowContext & LaunchFlowContext) => Promise): IosFlowDefinition; }; /** * Starts iOS automation for the active flow. * * Use this inside a running iOS flow when you need direct control over app * startup. By default it resolves the app from flow inputs, respects system * alerts, sets `snapshotMaxDepth` to `999`, and starts with `noReset: false`. * * This API is only available while a flow is running. * * @example * const { driver } = await launch({ * app: { path: "ios/MyApp.app" }, * bundleId: "com.example.app", * }); */ export declare function launch(options?: LaunchOptions): Promise; /** * Advanced iOS device controls for the active flow. * * This is the escape hatch for simulator and device operations that are * broader than app startup. * * This API is only available while a flow is running. * * @example * await device.installConfigurationProfile("/tmp/profile.mobileconfig"); */ export declare const device: Device; /** * Defines an iOS 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", "iOS - iPhone 15", async ({ driver }) => { * await driver.pause(1000); * }); */ export declare const flow: FlowApi; //# sourceMappingURL=index.d.ts.map