import { TwinTransport, WebRTCManagerOptions, WebRTCEvent, WebRTCEventCallback, PhygridDataChannel, PhygridMediaStream, MediaStreamOptions, MediaStreamResponderOptions, DataChannelResponderOptions, MediaStreamCallback, DataChannelCallback } from './types'; type ResolvedWebRTCOptions = Required>; export declare const DEFAULT_WEBRTC_OPTIONS: ResolvedWebRTCOptions; export declare class WebRTCManager { private transport; private options; private iceServersProvider?; private dataChannelHandlers; private mediaStreamHandlers; private responderFanouts; private mediaResponderFanouts; private eventListeners; private isInitialized; private isClosed; constructor(transport: TwinTransport, options?: WebRTCManagerOptions); createDataChannel(targetTwinId: string, channelName?: string): Promise; createMediaStream(targetTwinId: string, options?: MediaStreamOptions, channelName?: string): Promise; acceptMediaStream(targetTwinId: string, options: MediaStreamResponderOptions, callback: MediaStreamCallback): Promise<() => void>; answerMediaOffer(targetTwinId: string, offerSdp: string, options: { viewerId: string; channelName?: string; }): Promise; acceptDataChannel(targetTwinId: string, callback: DataChannelCallback, options?: DataChannelResponderOptions): Promise<() => void>; on(event: E, callback: WebRTCEventCallback): void; off(event: E, callback: WebRTCEventCallback): void; static isAvailable(): boolean; getActiveDataChannelCount(): number; getActiveMediaStreamCount(): number; close(): void; private ensureInitialized; private setupDataChannelHandlerCallbacks; private setupMediaStreamHandlerCallbacks; private emit; } export type { TwinTransport, WebRTCManagerOptions, IceServersProvider, IceServersResult, WebRTCEvent, PhygridDataChannel, PhygridMediaStream, MediaStreamOptions, } from './types'; //# sourceMappingURL=webrtc-manager.d.ts.map