import Media from '../media'; import { MyPeer } from '../MyPeer'; import Network from '../network'; import { Peers } from '../Peers'; import EnhancedEventEmitter from '../../EnhancedEventEmitter'; import EventsQueue from '../EventsQueue'; import Logger from '../Logger'; import { RestoreChannelStateResult } from './types'; import { ChannelState } from '../../proto/generated/channel/channel_state'; declare class ChannelStateSynchronizer { #private; private readonly network; private readonly media; private readonly myPeer; private readonly eventsQueue; private readonly clientEventEmitter; private readonly peers; readonly debouncedTriggerChannelStateEvent: (this: ChannelStateSynchronizer) => void; constructor(network: Network, media: Media, myPeer: MyPeer, eventsQueue: EventsQueue, clientEventEmitter: EnhancedEventEmitter, peers: Peers, loggerFactory: (namespace: string) => Logger); handleChannelStateEvent(channelState: ChannelState): Promise; private watchNetworkState; triggerChannelStateEvent(): Promise; loadChannelState(channelState: ChannelState): void; restoreState(channelState: ChannelState): Promise; private restoreRemoteProducersState; private removeUnnecessaryPeers; private setMissingPeers; private restoreLocalPeersState; private removeUnnecessaryProducers; private restoreTracksState; private restoreAppData; } export default ChannelStateSynchronizer;