import { type VroomInitConfig, type VroomInitConfigInternal, type ProviderType } from '../types/vroom.types'; /** * Auth init response from POST /v1/auth/init */ export interface AuthInitResponse { authToken: string; expiresAt: number; } /** * RTC token response from POST /v1/rtc/token */ export interface RtcTokenResponse { /** Provider-specific token (e.g., LiveKit JWT) */ token: string; /** Vroom session token (JWT with feat[], role, etc.) */ sessionToken: string; /** RTC provider type */ provider: ProviderType; /** Provider endpoint URL */ endpoint: string; /** User role in the room */ role: string; /** Token expiration time (Unix timestamp) */ expiresAt: number; } /** * RTC token request params */ export interface RtcTokenRequest { authToken: string; userId: string; roomName: string; role: string; displayName?: string; } /** * Vroom API Client * * Handles all HTTP communication with Vroom backend. */ export declare class VroomApiClient { private readonly endpoint; constructor(config: VroomInitConfig); /** * POST /v1/auth/init - Validate API key and get authToken */ authInit(config: VroomInitConfigInternal): Promise; /** * POST /v1/rtc/token - Get provider-specific token for room */ getRtcToken(params: RtcTokenRequest): Promise; } //# sourceMappingURL=auth.api.d.ts.map