import type * as OpenFin from '../../../OpenFin'; import { ChannelBase } from './channel'; import { Transport } from '../../../transport/transport'; import { AnyStrategy } from './protocols/strategy-types'; type ProviderIdentity = OpenFin.ProviderIdentity; type ClientIdentity = OpenFin.ClientIdentity; export type ConnectionListener = (identity: ClientIdentity, connectionMessage?: any) => Promise | any; export type DisconnectionListener = (identity: ClientIdentity) => any; export declare class ChannelProvider extends ChannelBase { #private; private static removalMap; private connectListener; private disconnectListener; get connections(): OpenFin.ClientConnectionPayload[]; static handleClientDisconnection(channel: ChannelProvider, payload: any): void; static setProviderRemoval(provider: ChannelProvider, remove: Function): void; constructor(providerIdentity: ProviderIdentity, wire: Transport, strategy: AnyStrategy); dispatch(to: OpenFin.ClientIdentity | OpenFin.Identity, action: string, payload?: any): Promise; protected processAction: (action: string, payload: any, senderIdentity: OpenFin.ClientIdentity | OpenFin.ClientIdentityMultiRuntime) => Promise; processConnection(senderId: OpenFin.ClientConnectionPayload, payload: any): Promise; publish(action: string, payload: any): Promise[]; onConnection(listener: ConnectionListener): void; onDisconnection(listener: DisconnectionListener): void; destroy(): Promise; getAllClientInfo(): Promise>; private checkForClientConnection; private isClientConnected; private isLegacyClientConnected; private handleMultiRuntimeLegacyClient; private getEndpointIdForOpenFinId; private static clientIdentityIncludesEndpointId; private static clientIsMultiRuntime; } export {};