import { spawn } from "node:child_process"; import type { LoopbackAuthorizationResult } from "./types.js"; export interface OpenBrowserDeps { readonly platform?: NodeJS.Platform | undefined; readonly spawnImpl?: typeof spawn | undefined; } export declare function openSystemBrowser(rawUrl: string, deps?: OpenBrowserDeps): Promise; export interface LoopbackAuthorizationParams { buildAuthorizationUrl(redirectUri: string, state: string): string | Promise; openBrowser(url: string): Promise; readonly timeoutMs?: number | undefined; readonly host?: string | undefined; readonly callbackPath?: string | undefined; readonly successHtml?: string | undefined; readonly onAuthorizationUrl?: ((url: string) => void) | undefined; } export declare function runLoopbackAuthorization(params: LoopbackAuthorizationParams): Promise;