import { type NativeAppConfig, type ResolvedConfig, type RunRecord, type Scheme, type ShotRecord } from "../types.js"; import type { ResolvedTarget } from "../targets.js"; import { type NativePlatform } from "./native-device.js"; export interface NativeCaptureOptions { platforms: NativePlatform[]; schemes: Scheme[]; runId: string; onProgress?: (line: string) => void; /** Called as each shot lands, so a live watcher sees it appear mid-run. */ onShot?: (shot: ShotRecord) => void; } export interface NativeCaptureResult { run: RunRecord; shots: ShotRecord[]; } /** What the operator is told when a platform has no device with the app. */ export declare function deviceHint(platform: NativePlatform, app: NativeAppConfig): string; /** dark <60, light >180, otherwise inconclusive (null). */ export declare function schemeFromLuminance(mean: number): Scheme | null; export declare function captureNative(resolved: ResolvedConfig, targets: ResolvedTarget[], opts: NativeCaptureOptions): Promise;