/** * Low-level adb invocation helpers. * * All public surfaces here go through execFile / execFileSync — never `/bin/sh -c`. * Shell metacharacters in `args` are passed as literal argv slots, not parsed by * the host shell. This structurally prevents host-side OS Command Injection * (CWE-78) — see issue #40. */ /** Default timeout for text adb commands (`shell ...`, `devices`, etc.). */ export declare const EXEC_TIMEOUT_MS = 15000; /** Extended timeout for raw byte adb commands (screenshots, file pulls). */ export declare const EXEC_RAW_TIMEOUT_MS = 30000; /** Build the `-s ` argv slice for an optional device override. */ export declare function deviceArgs(deviceId: string | undefined): string[]; /** Synchronous text invocation: returns trimmed stdout. */ export declare function execAdb(args: string[], deviceId: string | undefined): string; /** Synchronous raw-bytes invocation (e.g. PNG screenshot). */ export declare function execAdbRaw(args: string[], deviceId: string | undefined): Buffer; /** Asynchronous text invocation. */ export declare function execAdbAsync(args: string[], deviceId: string | undefined): Promise; /** Asynchronous raw-bytes invocation. */ export declare function execAdbRawAsync(args: string[], deviceId: string | undefined): Promise; //# sourceMappingURL=exec.d.ts.map