import { DisplayIO } from "./display.js"; export interface LoginDeps { apiBase?: string; display?: DisplayIO; /** Override for tests — defaults to the global fetch. */ fetch?: typeof fetch; /** Open the browser. No-op in tests. */ openBrowser?: (url: string) => void | Promise; /** Wait for Enter on TTY before opening the browser. No-op in tests. */ waitForEnter?: () => Promise; /** Sleep between polls. */ sleep?: (ms: number) => Promise; /** Generate the session id (10-char alphanumeric). Override for tests. */ generateSessionId?: () => string; /** Override stable machine id (avoids touching the user's home dir in tests). */ machineId?: () => string; /** Clock for poll-timeout. Override for tests. */ now?: () => number; } export declare function runLogin(deps?: LoginDeps): Promise;