export interface TAlertTableRecord { guid: string; alertTypeId: number; ts: number; state?: number; actionsOnSignal?: string; stateChangedAt?: number | Date; stateChangedBy?: number; info_json?: any; updatedAt?: number | Date; } export interface TAlertSentFlags { byEmail?: boolean; toDb?: boolean; noUpdateToProcForOperators?: boolean; } export interface TAlertsBufferRequired { alertTypeId?: number; eventName: string; alertAlreadySent?: TAlertSentFlags; hashTags?: string[]; getEmail: () => Promise<{ recipients: string[]; subjectTemplate?: string; htmlBody?: string; }>; getDebugMessage?: () => string; canSaveToDb?: () => Promise; canSendByEmail?: () => Promise; updateByMe?: (prevAlertVersion: TAlert) => Promise; } export interface TAlert extends Omit, TAlertsBufferRequired { payload?: T; } export type TAlertEmailDetails = [string, string | number | null][]; export interface IAlertEmailSettings { from: string; smtp: { host: string; port: string | number; auth: { user: string; pass: string; }; secure: boolean; tls?: { rejectUnauthorized: boolean; }; }; throttleAlertsIntervalSeconds?: number; subjectPrefix?: string; } export interface TMergeResult { total: number; inserted: number; updated: number; } //# sourceMappingURL=i-alert.d.ts.map