/** * Native OS folder dialog, shared by runner:pick-folder (static-context / RAG * folders) and runner:vault-pick-folder (Obsidian vaults). * * Browsers can't reveal absolute paths for security, so the runner — which * lives on the user's box — pops the dialog. Fixed argv; the prompt is a * constant chosen by the caller, never user or model input. * * - Windows: the Explorer folder dialog (IFileOpenDialog + FOS_PICKFOLDERS) * through PowerShell. WinForms' FolderBrowserDialog is the old tree view * on Windows PowerShell (.NET Framework), so it is only the fallback. The * dialog is owned by a small topmost window so it opens in front of the * browser instead of behind it. * - macOS: AppleScript `choose folder` run by osascript itself. Wrapping it * in `tell application "System Events"` needs the Automation permission * and fails (-1743) or hides the dialog when it is not granted. * - Linux: zenity, then kdialog. */ export type FolderPickResult = { path: string; } | { cancelled: true; }; export declare function pickNativeFolder(prompt: string): Promise;