import { BotGuardConfig } from '../config'; export interface DesktopChatGuardArgs { apiUrl?: string; shieldId?: string; shieldKey?: string; /** Suppress OS toasts (still spools findings). */ quiet?: string; } /** Only meaningful where Claude Desktop runs and MSAA is available. */ export declare function desktopChatGuardSupported(): boolean; /** True when the guard reported itself healthy within the last `withinMs`. */ export declare function desktopChatGuardHealthy(withinMs?: number): boolean; /** * The PowerShell watcher. Compiles a tiny MSAA reader (C# via Add-Type using * the .NET Framework compiler built into Windows), then — while the "Claude" * process is running — reads the composer's editable text (emitting * `FCD:`) and, only while Claude Desktop is the FOREGROUND window, * the clipboard contents (emitting `FCDCLIP:`) when either * changes. Everything is wrapped in try/catch — it must never crash the host, * and it never writes to the clipboard or synthesizes input. */ export declare function desktopChatWatcherScript(): string; export type WatcherSource = 'composer' | 'clipboard'; /** * Decode one watcher line into { source, text } (undefined if not ours). * `FCD:` lines are composer reads; `FCDCLIP:` lines are clipboard reads while * Claude Desktop is focused. */ export declare function decodeWatcherLine(line: string): { source: WatcherSource; text: string; } | undefined; export interface DesktopChatGuardHandle { stop(): void; } interface GuardRuntime { apiUrl: string; shieldId?: string; shieldKey?: string; quiet: boolean; log: (msg: string) => void; } /** * Start the advisory guard. Returns a handle whose stop() tears down the * watcher and timers. Safe no-op (returns undefined) on unsupported platforms. */ export declare function startDesktopChatGuard(runtime: GuardRuntime): DesktopChatGuardHandle | undefined; /** * Foreground `desktop-chat-guard` command — runs the advisory guard in this * process until interrupted. Mostly for manual testing; in production the * daemon supervises the guard in-process (startDesktopChatGuard). */ export declare function desktopChatGuardCommand(args: DesktopChatGuardArgs, config: BotGuardConfig): Promise; export {};