import { Channel, ChannelInfo, Subscriber } from "./model"; export declare type SubscriberChangeListener = (channel: Channel) => void; export declare type ChannelInfoListener = (channelInfo: ChannelInfo) => void; export declare class ChannelManager { channelInfocacheMap: any; requestQueueMap: Map; listeners: ((ChannelInfoModel: any) => void)[]; subscribeCacheMap: Map; requestSubscribeQueueMap: Map; subscriberChangeListeners: SubscriberChangeListener[]; deleteChannelInfoListeners: ((ChannelInfoModel: any) => void)[]; private constructor(); private static instance; static shared(): ChannelManager; fetchChannelInfo(channel: Channel): Promise; syncSubscribes(channel: Channel): Promise; getChannelInfo(channel: Channel): ChannelInfo | undefined; setChannleInfoForCache(channelInfo: ChannelInfo): void; deleteChannelInfo(channel: Channel): any; getSubscribes(channel: Channel): Subscriber[]; getSubscribeOfMe(channel: Channel): Subscriber | null; addSubscriberChangeListener(listener: SubscriberChangeListener): void; removeSubscriberChangeListener(listener: SubscriberChangeListener): void; addDeleteChannelInfoListener(listener: (channel: Channel) => void): void; removeDeleteChannelInfoListener(listener: (channel: Channel) => void): void; addListener(listener: ChannelInfoListener): void; removeListener(listener: ChannelInfoListener): void; notifySubscribeChangeListeners(channel: Channel): void; notifyListeners(channelInfoModel: ChannelInfo): void; }