import type * as OpenFin from '../../../../../OpenFin'; import { ChannelStrategy } from '../strategy'; import { RTCPacket } from './endpoint'; import { LocalSupportedProtocol } from '..'; type ProviderIdentity = OpenFin.ProviderIdentity; export interface RTCStrategyEndpointPayload { endpointIdentity: OpenFin.ClientIdentity | ProviderIdentity; rtc: RTCPacket; } export declare class RTCStrategy implements ChannelStrategy { #private; onEndpointDisconnect(endpointId: string, listener: () => void): void; receive(listener: (action: string, payload: any, identity: OpenFin.ClientIdentity | OpenFin.ClientIdentityMultiRuntime | ProviderIdentity) => Promise): void; send: (endpointId: string, action: string, payload: any) => Promise; close: () => Promise; private getEndpointById; get connected(): boolean; isEndpointConnected(endpointId: string): boolean; addEndpoint(endpointId: string, payload: RTCStrategyEndpointPayload): void; closeEndpoint(endpointId: string): Promise; isValidEndpointPayload(payload: any): payload is RTCStrategyEndpointPayload; } export declare const RTCInfo: LocalSupportedProtocol; export {};