import type * as OpenFin from '../../../../../OpenFin'; type ProviderIdentity = OpenFin.ProviderIdentity; export interface RTCEndpointChannels { request: RTCDataChannel; response: RTCDataChannel; } export interface RTCPacket { rtcClient: RTCPeerConnection; channels: RTCEndpointChannels; channelsOpened: Promise; } export declare class RTCEndpoint { #private; private rtc; private endpointIdentity; private responseMap; constructor(rtc: RTCPacket, endpointIdentity: OpenFin.ClientIdentity | ProviderIdentity); private connectionStateChangeHandler; onDisconnect(listener: () => void): void; receive(listener: (action: string, payload: any, identity: OpenFin.ClientIdentity | ProviderIdentity) => Promise): void; send: (action: string, payload: any) => Promise; close: () => void; get connected(): boolean; } export {};