/** * DialogService — foreground user interaction for caught verification hits: * a native confirmation dialog ("Copy code 482913?") and a hand-off to the * default browser for sign-in links. Zero npm deps. * * Dialogs are macOS-only for now (AppleScript `display dialog`, same * mechanism as the auto-calendar confirmation); other platforms report * `unavailable` so callers can fall back to notification-only behavior. * The script is piped via stdin so dialog text (which includes the code) * never appears in `ps` output. */ export interface DialogResult { outcome: 'confirmed' | 'declined' | 'unavailable'; /** The clicked button label (only when outcome is `confirmed`). */ button?: string; } export interface ConfirmOptions { buttons: string[]; defaultButton?: string; /** Dialog auto-dismiss (→ `unavailable`) after this many seconds. */ timeoutSeconds?: number; } export default class DialogService { private readonly platform; constructor(opts?: { platform?: NodeJS.Platform; }); /** Whether blocking confirmation dialogs work on this platform. */ get dialogsSupported(): boolean; /** * Show a native confirmation dialog. A clicked non-Cancel button confirms; * Cancel declines; timeout, missing platform support, or any execution * failure yields `unavailable` (callers should degrade to notify-only — * never act as if the user consented). */ confirmAction(title: string, message: string, opts: ConfirmOptions): Promise; /** Open an http(s) URL in the default browser. Never throws. */ openUrl(url: string): Promise; } //# sourceMappingURL=dialog.service.d.ts.map