import type { DesktopDriver } from "./desktop_driver.js"; /** Exec seam (mirrors the Linux driver's) — resolves stdout, rejects on a non-zero exit. */ export type DarwinExec = (cmd: string, args: readonly string[]) => Promise; /** A parsed chord: the modifier flag mask + the target key's virtual keycode. */ export declare function parseDarwinChord(chord: string): { flags: number; keyCode: number; }; /** Which macOS permissions the runner currently holds. Each is probed the way it actually fails. */ export interface DarwinPermissions { /** CGEvent input. Without it, posts SUCCEED and the system silently swallows them. */ accessibility: boolean; /** Screen capture. Without it, `screencapture` exits non-zero. */ screenRecording: boolean; } /** Probe both permissions without throwing — the startup report needs the full picture, not the * first gap. `preflightDarwinDesktop` is the fail-at-open wrapper over this. */ export declare function checkDarwinPermissions(exec?: DarwinExec): Promise; /** The grant instructions for a missing permission, in the words System Settings uses. */ export declare function darwinPermissionHint(permission: keyof DarwinPermissions): string; /** Both OS permissions, probed the way each actually fails. Throws with the fix on the first gap. */ export declare function preflightDarwinDesktop(exec?: DarwinExec): Promise; /** The macOS driver. `exec` is injectable for tests. */ export declare function makeDarwinDriver(exec?: DarwinExec): DesktopDriver; /** Read a PNG's pixel dimensions from its IHDR (bytes 16-24). */ export declare function pngSize(png: Buffer): { width: number; height: number; };