import { checkDarwinPermissions, type DarwinPermissions } from "../runtime/desktop_driver_darwin.js"; /** What the enabled tiers actually need from the OS. */ export interface RequiredPermissions { accessibility: boolean; screenRecording: boolean; } /** * Which permissions the enabled tiers need. The desktop tier needs both (it injects input and takes * screenshots). The browser tier drives Chrome over CDP, so it needs neither by itself — but session * recording captures the screen, so any enabled tier needs Screen Recording unless recording is off. */ export declare function requiredPermissions(env: NodeJS.ProcessEnv): RequiredPermissions | null; /** The report lines for a startup check: empty when nothing is missing. */ export declare function permissionReport(required: RequiredPermissions, held: DarwinPermissions): string[]; /** * Report missing macOS permissions at `runner start`. No-op off darwin, in container mode, or when * no computer-use tier is enabled. Never throws and never exits — a probe failure just stays quiet. */ export declare function reportComputerUsePermissions(opts: { mode: "container" | "host"; env: NodeJS.ProcessEnv; log: (line: string) => void; platform?: NodeJS.Platform; check?: typeof checkDarwinPermissions; }): Promise;