import type { XaiTokenBundle } from './auth-store.js'; import { type OAuthHttpDeps, type XaiOidcDiscovery } from './oauth-http.js'; export interface DeviceCodeStart { device_code: string; user_code: string; verification_uri: string; verification_uri_complete?: string; expires_in: number; interval: number; } export type DevicePollResult = { status: 'pending'; } | { status: 'slow_down'; interval: number; } | { status: 'expired'; } | { status: 'denied'; } | { status: 'success'; tokens: XaiTokenBundle; } | { status: 'error'; message: string; }; export declare function positiveSeconds(value: unknown, defaultSeconds: number): number; export declare function startDeviceCodeFlow(deps?: OAuthHttpDeps): Promise<{ discovery: XaiOidcDiscovery; device: DeviceCodeStart; }>; export declare function pollDeviceCodeToken(discovery: XaiOidcDiscovery, deviceCode: string, deps?: OAuthHttpDeps): Promise;