import { PeerConnectionManagerOptions } from './peer-connection-manager'; import { IceServersProvider, TwinTransport, TurnServerConfig, PhygridDataChannel } from './types'; export interface DataChannelHandlerOptions extends Partial { useStun?: boolean; stunServers?: string[]; turnServers?: TurnServerConfig[]; iceTransportPolicy?: RTCIceTransportPolicy; iceServersProvider?: IceServersProvider; peerId?: string; selfManagedSignaling?: boolean; } export declare class DataChannelHandler { private targetTwinId; private channelName; private isInitiator; private transport; private options; private peerId?; private selfManagedSignaling; private iceServersProvider?; private pcManager; private dataChannel; private isOpen; private isClosed; private isConnecting; private livenessInterval; private pcUnhealthySince; private messageListeners; private closeListeners; private onConnectedCallback?; private onDisconnectedCallback?; private onErrorCallback?; private onReconnectingCallback?; private onReconnectedCallback?; constructor(targetTwinId: string, isInitiator: boolean, transport: TwinTransport, options?: DataChannelHandlerOptions, channelName?: string); setCallbacks(callbacks: { onConnected?: () => void; onDisconnected?: () => void; onError?: (error: Error) => void; onReconnecting?: (attempt: number) => void; onReconnected?: (attempt: number) => void; }): void; connect(): Promise; ingestSignalingMessage(message: any): Promise; close(): void; private setupDataChannel; private attachDataChannelHandlers; private startLivenessMonitor; private stopLivenessMonitor; private checkLiveness; private handleMessage; private handlePeerConnected; private handlePeerDisconnected; private handleReconnected; private handleError; private notifyCloseListeners; private createPhygridDataChannel; } //# sourceMappingURL=data-channel-handler.d.ts.map