import type { XaiTokenBundle } from './auth-store.js'; export type FetchFn = typeof fetch; export interface XaiOidcDiscovery { issuer: string; authorization_endpoint: string; token_endpoint: string; device_authorization_endpoint?: string; userinfo_endpoint?: string; } export interface OAuthHttpDeps { fetchFn?: FetchFn; issuer?: string; clientId?: string; scopes?: string; nowSeconds?: () => number; nowMs?: () => number; } export declare function asNonEmptyString(v: unknown): string | undefined; export declare function safeText(res: Response): Promise; export declare function clearOidcCache(): void; export declare function discoverXaiOidc(deps?: OAuthHttpDeps): Promise; export declare function discoverXaiOidcCached(deps?: OAuthHttpDeps): Promise; export declare function tokenResponseToBundle(json: Record, nowSeconds?: () => number, fallbackRefresh?: string): XaiTokenBundle | null;