export declare type ChannelEventSourceStarter = (eventName: T) => ChannelEventSourceStopper; export declare type ChannelEventSourceStopper = () => void; export declare type ChannelEventSourceInitEmitter = (eventName: T) => void; interface ChannelEventSourceParams { eventSourceStarter: ChannelEventSourceStarter; initEventEmitter?: ChannelEventSourceInitEmitter; } export declare class ChannelEventSource { private _eventSourceStarter; private _eventSourceStopper?; private _initEventEmitter?; private _isServedMap; get isFirstRequired(): boolean; get isLastRequired(): boolean; constructor({ eventSourceStarter, initEventEmitter }: ChannelEventSourceParams); callInitEventEmitter(eventName: EventName): void; tryStart(eventName: EventName): void; tryStop(eventName: EventName): void; } export {};