import { TwinTransport, PeerConnectionConfig } from './types'; export interface PeerConnectionManagerOptions { connectionTimeout: number; initialRetryDelay: number; maxRetryDelay: number; } export declare class PeerConnectionManager { private pc; private config; private transport; private options; private isShuttingDown; private isReconnecting; private connectionId; private pendingCandidates; private connectionTimeout; private messageHandler; private connectionEstablishedOnce; private pendingRestartOffer; private peerId; private pendingIngress; private resolvedIceServers; private resolvedIceServersRefreshAt; private resolvedIceServersExpiresAt; constructor(config: PeerConnectionConfig, transport: TwinTransport, options?: Partial); getPeerId(): string | null; ingestSignalingMessage(message: any): Promise; connect(): Promise; private resolveIceServers; getPeerConnection(): RTCPeerConnection | null; isConnected(): boolean; close(): void; reconnect(): void; private attemptConnection; private buildStaticIceServers; private createPeerConnection; private setupIceHandling; private setupMessageHandler; private handleSignalingMessage; private handleOffer; private answerOffer; waitForIceGatheringComplete(timeoutMs: number): Promise; private handleAnswer; private handleIceCandidate; private applyPendingCandidates; private createAndSendOffer; private sendSignalingMessage; private handleConnectionFailure; private beginRebuild; private triggerReconnect; private restartForIncomingOffer; private clearConnectionTimeout; private cleanup; } //# sourceMappingURL=peer-connection-manager.d.ts.map