/** * macOS native STT engine. * * Launches the bundled on-device `SFSpeechRecognizer` `.app` (built and cached by * `native/compile.ts`) through LaunchServices (`open`) — the only launch path * that makes macOS show the Speech Recognition / Microphone permission prompts. * Because a LaunchServices-launched app has no usable stdin/stdout pipe back to * the parent, IPC is file-based: the recognizer appends newline-delimited JSON * events to an `events.jsonl` file we tail, and we ask it to stop by creating a * `stop` sentinel file it polls for. Partial hypotheses arrive in true realtime * with no network and no per-utterance cost; the final result is emitted on stop. * * `stop()` writes the stop sentinel so the recognizer flushes a final result, * then resolves once that final event arrives. `cancel()` tears it down. */ import type { PermissionGuidance, STTEngine, STTSession, STTSessionCallbacks } from './types.js'; export declare class MacosNativeSTTEngine implements STTEngine { readonly kind: "macos-native"; checkReady(): string | null; /** * Deeper preflight: confirm the Swift toolchain compiles the recognizer, then * probe the actual Speech Recognition + Microphone TCC authorization status so * /voice status can tell the user exactly which permission to enable instead of * letting it fail silently mid-dictation. */ verify(): Promise; /** * Structured permission guidance for the TUI. Confirms the toolchain compiles, * then probes the real TCC state and returns actionable steps (and a Settings * deep link) so the UI can walk the user through granting access. */ permissions(): Promise; start(callbacks: STTSessionCallbacks): STTSession; } //# sourceMappingURL=macos-native-engine.d.ts.map