import { spawn, execSync } from "node:child_process"; /** * Strip the macOS `com.apple.quarantine` extended attribute from the extracted * binary so Gatekeeper does not block launch. The binary is not notarized (per * ADR 0014), so the quarantine flag must be removed explicitly. Uses * `xattr -cr` (recursively clear all extended attributes). If `xattr` is * unavailable or fails, a warning is logged but the install continues — the * binary may still run, and the user can strip the attribute manually. */ export declare function stripQuarantine(binaryPath: string, execSyncImpl?: typeof execSync): void; /** * Launch the binary in detached mode with stdout/stderr redirected to a log * file. Returns the log file path. */ export declare function launchBinary(binaryPath: string, args: string[], logDir: string, spawnImpl?: typeof spawn): string; /** * Poll a URL until it returns 200 or timeout. Returns true if the server * responded, false on timeout. */ export declare function waitForServer(url: string, timeoutMs: number, fetchImpl?: typeof fetch): Promise;