import type { TokenSet } from './token-storage.js'; export interface DeviceCodeResponse { device_code: string; expires_in: number; interval: number; user_code: string; verification_uri: string; verification_uri_complete: string; } export interface WorkOSUser { email: string; email_verified: boolean; first_name: string | null; id: string; last_name: string | null; organization_id?: string; } export interface DeviceTokenResponse { access_token: string; authentication_method: string; refresh_token: string; user: WorkOSUser; } export interface TokenRefreshResponse { access_token: string; refresh_token: string; } export declare const requestDeviceCode: () => Promise; export declare const pollForToken: (deviceCode: string, interval: number, expiresIn: number, verbose?: boolean) => Promise; export declare const refreshAccessToken: (refreshToken: string) => Promise; export declare const authenticateWithOrg: (refreshToken: string, organizationId: string) => Promise; export declare const decodeJWT: (token: string) => Record;