///
import * as t from 'io-ts';
import { BehaviorSubject, Observable, Subject } from 'rxjs';
import { Component } from '../component';
import { EcsEvent } from '../events';
import { Plugin } from '../plugin';
import { Resource } from '../resource';
export declare class Peers {
readonly current: BehaviorSubject>;
readonly join: Subject;
readonly leave: Subject;
constructor(p: BehaviorSubject> | {
join: Subject;
leave: Subject;
initial?: Set;
});
}
export interface Communicator {
uuid: string | undefined;
peers: Peers;
servers: BehaviorSubject>;
messages: Observable<{
source: string;
message: unknown;
}>;
connected: BehaviorSubject;
sendMessage(message: unknown, destination?: string | Set): void;
}
export declare const Message: t.PartialC<{
delta: t.Type