import type { OAuthSession } from './config.js'; export interface OAuthEndpoints { authorizeUrl: string; tokenUrl: string; clientId: string; scope: string; redirectPort: number; } export declare function resolveEndpoints(): OAuthEndpoints; export declare function generatePkcePair(): { verifier: string; challenge: string; }; export interface LoginOptions { /** Called after the authorize URL is built, before the browser opens. Lets callers print the URL. */ onAuthorizeUrl?: (url: string) => void; /** Optional override for the redirect host (default 127.0.0.1). */ redirectHost?: string; /** When true, skip spawning a browser process — caller is responsible for visiting the URL. */ noOpenBrowser?: boolean; /** Max time (ms) to wait for the OAuth callback before aborting. Defaults to 5 min. */ timeoutMs?: number; } export declare function runLoginFlow(options?: LoginOptions): Promise; export declare function refreshAccessToken(refreshToken: string): Promise; export declare function isExpired(session: OAuthSession, skewMs?: number): boolean; //# sourceMappingURL=oauth.d.ts.map