import { ISenderConfig, IStreamConfig, TEventRecord } from '../interfaces'; import { IAlertEmailSettings, TAlert, TMergeResult } from '../alerts-buffer/i-alert'; export interface IPrepareRectifierOptions { /** * Имя свойства ts-объектов, содержащих метку времени, * по которому нужно производить упорядочивание внутри аккумулятора. * Если не передано, используется "ts" */ fieldNameToSort?: string; /** * Callback, которому передается массив ts-объектов, упорядоченный по возрастанию * значения поля fieldNameToSort (или ts) */ sendFunction: (_rectifierItemsArray: TEventRecord[]) => number; } export interface IPrepareAlertsBufferOptions { /** * Настройки для отправки E-Mail */ emailSettings: IAlertEmailSettings; /** * Функция сохранения/обновления сигналов */ mergeAlerts: (alerts: TAlert[]) => Promise; /** * Функция проверки наличия сохраненного сигнала в БД */ checkAlertExists: (guid: string) => Promise; /** * Время, в течение которого храним состояние отправки/сохранения сигнала */ trackAlertsStateMillis?: number; /** * Периодичность очистки кеша состояний сигналов */ removeExpiredItemsFromAlertsStatesCacheIntervalMillis?: number; } export interface IPrepareStreamOptions { streamConfig: IStreamConfig; senderConfig: ISenderConfig; } export interface ISmStatisticsData { isSuspended: boolean; isStopped: boolean; isInitProcess: boolean; isShutdownProcess: boolean; heapUsed: number; rss: number; vt?: number; isCurrentTime?: boolean; lastSpeed?: number; totalSpeed?: number; alertsBufferLength?: number; rectifier?: { widthMillis: number; rectifierItemsCount: number; }; streams?: { streamId: string; recordsetLength: number; isLimitExceed: boolean; queryDurationMillis: number; buf: { firstTs: number; lastTs: number; len: number; }; rec: { firstTs: number; lastTs: number; len: number; }; }[]; } //# sourceMappingURL=i.d.ts.map