/** * iOS Simulator screen recording. * * Wraps `xcrun simctl io recordVideo` so callers can capture the * Simulator screen while running an XCUITest / fastlane scan / any other * command. The command runs synchronously; while it runs we keep * recordVideo open as a child process and SIGINT it after the command * exits, which is the documented way to flush the .mp4. */ export interface IosRecordOptions { /** Shell command to run while recording. */ command: string; /** Output path. Should end in .mp4 — simctl can also write .mov. */ output: string; /** Simulator UDID or device name. Defaults to the first booted simulator. */ device?: string; /** Optional cwd for the command. */ cwd?: string; /** Override shell. */ shell?: string; /** * When true, the spawned command sees the full process.env. Default false: * only a small allowlist (PATH/HOME/USER/LANG/SHELL/etc.) is forwarded so * secrets in env (NPM_TOKEN, GH_TOKEN, ANTHROPIC_API_KEY, ...) cannot leak * into the recorded .mp4 via stack traces or test logs. */ inheritEnv?: boolean; } export interface IosRecordResult { output: string; device: string; exitCode: number; durationSec: number; /** True when the recordVideo process exited cleanly (mp4 fully flushed). */ recordingClosed: boolean; } /** * Discover a usable simulator UDID. * Preference order: explicit `device` arg → first booted device → none. */ export declare function findIosDevice(preference?: string): Promise<{ udid: string; name: string; } | null>; export declare function recordIosSimulator(options: IosRecordOptions): Promise; //# sourceMappingURL=ios.d.ts.map