import { BaseProvider } from '../base/BaseProvider'; import { RTCConnectionConfig, RTCPrepareConnectionConfig } from '../../types'; import { LiveKitRoom } from './types'; /** * LiveKit Provider. * * Implements RTCProvider interface for LiveKit platform. * Uses RTCRtpScriptTransform to extract animation data from VP8 video tracks. * * @example * ```typescript * import { AvatarPlayer, LiveKitProvider } from '@spatialwalk/avatarkit-rtc'; * * const provider = new LiveKitProvider(); * const player = new AvatarPlayer(provider, renderer); * * await player.connect({ * url: 'wss://your-livekit-server.com', * token: 'your-token', * }); * ``` */ export declare class LiveKitProvider extends BaseProvider { /** Provider name identifier */ readonly name = "livekit"; constructor(); private createRoom; prepareConnection(config: RTCPrepareConnectionConfig): Promise; connect(config: RTCConnectionConfig): Promise; disconnect(): Promise; getConnectionState(): string; publishAudioTrack(track?: MediaStreamTrack): Promise; unpublishAudioTrack(): Promise; /** * Get the native LiveKit Room instance. * * Allows advanced users to access LiveKit-specific features * not exposed through the unified API. * * @returns The LiveKit Room instance, or null if not connected * * @example * ```typescript * const room = provider.getNativeClient(); * if (room) { * // Access LiveKit-specific features * console.log('Participants:', room.remoteParticipants.size); * } * ``` */ getNativeClient(): LiveKitRoom | null; } //# sourceMappingURL=LiveKitProvider.d.ts.map