import { BaseProvider } from '../base/BaseProvider'; import { RTCConnectionConfig } from '../../types'; import { AgoraClient } from './types'; /** * Agora Provider. * * Implements RTCProvider interface for Agora platform. * Uses native SEI events to receive animation data from H.264 video tracks. * * @example * ```typescript * import { AvatarPlayer } from '@spatialwalk/avatarkit-rtc'; * import { AgoraProvider } from '@spatialwalk/avatarkit-rtc/providers/agora'; * * const provider = new AgoraProvider(); * const player = new AvatarPlayer(provider, renderer); * * await player.connect({ * appId: 'your-agora-app-id', * channel: 'your-channel', * token: 'your-token', * }); * ``` */ export declare class AgoraProvider extends BaseProvider { /** Provider name identifier */ readonly name = "agora"; constructor(_options?: AgoraProviderOptions); /** * Enable or disable debug logging. * @param enabled - Whether to enable debug logging */ setDebugLogging(enabled: boolean): void; connect(config: RTCConnectionConfig): Promise; disconnect(): Promise; getConnectionState(): string; publishAudioTrack(track?: MediaStreamTrack): Promise; unpublishAudioTrack(): Promise; /** * Get the native Agora RTC Client instance. * * Allows advanced users to access Agora-specific features * not exposed through the unified API. * * @returns The Agora IAgoraRTCClient instance, or null if not connected * * @example * ```typescript * const client = provider.getNativeClient(); * if (client) { * // Access Agora-specific features * console.log('Connection state:', client.connectionState); * } * ``` */ getNativeClient(): AgoraClient | null; } //# sourceMappingURL=AgoraProvider.d.ts.map