export interface DeviceAuthParams { cacheKey: string; deviceAuthorizationEndpoint: string; tokenUrl: string; clientId: string; clientSecret: string; scopes: string[]; tokenEndpointAuthMethod: 'client_secret_basic' | 'client_secret_post'; } export interface DeviceAuthResponse { status: 'authorization_required'; method: 'device_code'; message: string; verificationUri: string; verificationUriComplete?: string; userCode: string; expiresInSeconds: number; instruction: string; } export declare class DeviceCodeFlowManager { private readonly pending; startDeviceAuth(params: DeviceAuthParams): Promise; pollDeviceAuth(cacheKey: string): Promise<{ status: 'complete'; token: { accessToken: string; expiresIn?: number; }; } | { status: 'pending'; }>; hasPending(cacheKey: string): boolean; }