///
import EventEmitter from 'events';
import { Stream } from '../Stream';
import { VirtualTimeObj } from '../VirtualTimeObj';
import { ICommonConfig, IEcho, ILoggerEx, IOFnArgs, IRedisConfig } from '../interfaces';
import { IStreamsParamsConfig } from '../params';
import { Rectifier } from '../classes/applied/Rectifier';
import { AlertsBuffer } from '../alerts-buffer/AlertsBuffer';
import { IPrepareAlertsBufferOptions, IPrepareRectifierOptions, IPrepareStreamOptions } from './i';
export declare class StreamsManager {
commonConfig: ICommonConfig;
map: {
[streamId: string]: Stream;
};
rectifier: Rectifier;
virtualTimeObj: VirtualTimeObj;
alertsBuffer: AlertsBuffer;
eventEmitter: EventEmitter;
logger: ILoggerEx;
echo: IEcho;
isInitProcess: boolean;
isShutdownProcess: boolean;
private _statLoopTimerId;
private _locked;
private _connectedSockets;
private statisticsSendIntervalMillis;
private redisConfig;
constructor(commonConfig: ICommonConfig, streamsParamsConfig?: IStreamsParamsConfig);
checkCommonConfig(isInit?: boolean): void;
checkVirtualTimeObject(): void;
prepareVirtualTimeObj(redisConfig?: IRedisConfig): Promise;
prepareAlertsBuffer(prepareAlertsBufferOptions: IPrepareAlertsBufferOptions): AlertsBuffer;
prepareStreams(optionsArray: IPrepareStreamOptions | IPrepareStreamOptions[], prepareRectifierOptions?: IPrepareRectifierOptions): Promise;
initStreams(): Promise;
get streamIds(): string[];
get streams(): Stream[];
has(streamId: string): boolean;
getStream(streamId: string): Stream | undefined;
changeParams(streamsParamsConfig: IStreamsParamsConfig): Promise;
getConfigsParams(removeTimeStartStopMillis?: boolean): IStreamsParamsConfig;
suspend(): void;
continue(): void;
start(): Promise;
collectAndEmitStatistics(): void;
streamsSocketIO({ socket }: IOFnArgs): void;
isLocked(): boolean;
stopIO(): void;
startIO(speedUp?: boolean): void;
slowDownStatistics(): void;
speedUpStatistics(): void;
isStopped(): boolean;
stopAndDestroy(processRemainingAlerts?: boolean): Promise;
}
//# sourceMappingURL=streams-manager.d.ts.map