/** * Windows scheduled-task principal/action state — the single source of truth * for "would this task flash a console window?". * * Why this is its own module: the daemon (which registers and self-heals the * tasks) and the deep self-test (which reports on them) both need the answer, * and `daemon.ts` already imports `selfTest.ts` for the health_check action, so * a direct import back would be a cycle. Both now depend on this leaf instead. * * It also settles a correctness split. `selfTest.ts` used to carry its own copy * that checked the PRINCIPAL alone, so it reported a failure on every machine * whose tasks are conhost-wrapped — which is all MSI installs, because current * Windows builds deny S4U registration even to SYSTEM. The flash condition is * the pair of facts, never the principal by itself. * * Pure apart from the `schtasks /Query` read; never throws. */ export interface WindowsTaskState { /** Task exists and declares an InteractiveToken principal. */ interactive: boolean; /** Task action runs through `conhost.exe --headless` (windowless regardless of principal). */ headless: boolean; /** Task is registered at all — absent tasks can't flash. */ exists: boolean; } export declare function windowsTaskXmlState(taskName: string): WindowsTaskState; /** * True when an existing task still runs with an InteractiveToken principal — * the 1.22.1 window-flash bug's principal half. Migration trigger for the * windowless S4U principal. NOT the flash condition on its own: see * `windowsTaskRunsVisibly`. */ export declare function windowsTaskRunsInteractive(taskName: string): boolean; /** * True when triggering the task would open a VISIBLE console window: * InteractiveToken principal AND a bare console action (not wrapped in * `conhost --headless`). This — not the principal alone — is the flash * condition; a conhost-wrapped InteractiveToken task is fully windowless. */ export declare function windowsTaskRunsVisibly(taskName: string): boolean;