export type Platform = "macos" | "linux" | "windows" | "wsl" | "unknown"; /** * Detect the current OS platform. Result is cached since it can't change at runtime. * * Returns: * - "macos" — macOS (Darwin) * - "linux" — Native Linux (not WSL) * - "windows" — Native Windows * - "wsl" — Windows Subsystem for Linux (reports as linux via process.platform, * but is actually running under Windows) * - "unknown" — Anything else (FreeBSD, AIX, etc.) * * Detection approach follows the patterns used by popular Node packages * (sindresorhus/open, sindresorhus/is-wsl, node-notifier): * - process.platform is the primary signal (no import needed, synchronous) * - WSL is detected by reading /proc/version for "microsoft" (the standard approach * used by the is-wsl package). This matters because process.platform returns "linux" * in WSL even though the user is on Windows. * - Anything not darwin, win32, or linux is treated as "unknown" */ export declare function detectPlatform(): Promise;