import { type VroomInitConfig } from './types/vroom.types'; import type { ConnectParams } from './types/session.types'; import { Session } from './session'; import { Logger } from './utils/logger'; /** * Vroom SDK main entry point. * * Static class for SDK initialization and session management. * * @example * ```typescript * // Initialize SDK * await Vroom.init({ apiKey: 'your-api-key' }) * * // Connect to a room * const session = await Vroom.connect({ * roomName: 'meeting-123', * user: { id: 'user-1', displayName: 'Alice', role: 'host' }, * type: 'group', * media: { audio: true, video: true } * }) * * // Disconnect * await session.disconnect() * ``` */ export declare class Vroom { private static config; private static apiClient; private static authToken; private static platform; private static initialized; private static connecting; private static logger; /** * Initialize SDK with configuration. * * Must be called before `connect()`. Validates API key with backend. * * For React Native (iOS/Android), this also initializes WebRTC globals * automatically, so you don't need to initialize them manually. * * @throws {BadRequestError} If API key is missing * @throws {InvalidApiKeyError} If API key validation fails * @throws {NetworkError} If backend is unreachable */ static init(config: VroomInitConfig): Promise; /** * Connect to a room and create a session. * * @throws {BadRequestError} If SDK is not initialized or connection already in progress * @throws {NetworkError} If connection fails */ static connect(params: ConnectParams): Promise; /** * Get SDK instance (if initialized) */ static getInstance(): typeof Vroom | null; /** * Get current configuration */ static getConfig(): VroomInitConfig | null; /** * Get the SDK's root logger so wrappers (e.g. React layer) can derive * scoped children. Returns the default (level `'warn'`) before `init()`. */ static getLogger(): Logger; /** * Reset SDK to initial state */ static reset(): void; private static createAdapter; private static detectPlatform; } //# sourceMappingURL=vroom.d.ts.map