import { PeerConnectionManagerOptions } from './peer-connection-manager'; import { IceServersProvider, TwinTransport, TurnServerConfig, PhygridMediaStream, MediaStreamOptions, SignalingSink } from './types'; export interface MediaStreamHandlerOptions extends Partial { useStun?: boolean; stunServers?: string[]; turnServers?: TurnServerConfig[]; iceTransportPolicy?: RTCIceTransportPolicy; iceServersProvider?: IceServersProvider; mediaOptions?: MediaStreamOptions; peerId?: string; selfManagedSignaling?: boolean; signalingSink?: SignalingSink; } export declare class MediaStreamHandler { private targetTwinId; private channelName; private isInitiator; private transport; private options; private peerId?; private selfManagedSignaling; private iceServersProvider?; private signalingSink?; private pcManager; private remoteStream; private localStream; private isClosed; private isReceiving; private isConnecting; private tracks; private trackLastFrameTime; private frameActivityInterval; private outboundLivenessInterval; private lastInboundTotal; private lastInboundProgressAt; private everReceivedInbound; private trackListeners; private frameListeners; private closeListeners; private onConnectedCallback?; private onDisconnectedCallback?; private onErrorCallback?; private onReconnectingCallback?; private onReconnectedCallback?; private connectPromise; constructor(targetTwinId: string, isInitiator: boolean, transport: TwinTransport, options?: MediaStreamHandlerOptions, channelName?: string); setCallbacks(callbacks: { onConnected?: () => void; onDisconnected?: () => void; onError?: (error: Error) => void; onReconnecting?: (attempt: number) => void; onReconnected?: (attempt: number) => void; }): void; isHandlerClosed(): boolean; connect(): Promise; private doConnect; ingestSignalingMessage(message: any): Promise; close(): void; private setupMediaStream; private getEnforcedReceiveKinds; private waitForRequestedKinds; private handleRemoteStream; private addTrackToCollection; private setupTrackFrameMonitoring; private startFrameActivityMonitor; private stopFrameActivityMonitor; private checkFrameActivity; private handlePeerConnected; private startOutboundLivenessMonitor; private stopOutboundLivenessMonitor; private checkOutboundLiveness; private handlePeerDisconnected; private handleReconnected; private handleError; private notifyTrackListeners; private notifyFrameListeners; private notifyCloseListeners; private createPhygridMediaStream; } //# sourceMappingURL=media-stream-handler.d.ts.map