import { CheckStatusFunc, InitializedStatus, MaybeUninitializedStatus, WrappedStatus, WrappedStatusE } from "../requestor"; declare type GetRequestor = (uri: string) => Promise; declare type NotifyMessage = { subject: string; text: string; }; declare type NotifyAll = (conf: { sms: NotifyMessage; email: NotifyMessage; }) => Promise<[void, any]>; declare type NotificationMessage = { subject: string; text: string; }; declare type NotificationMessageFor = { up: NotificationMessage; down: NotificationMessage; }; declare type NotificationMessages = { email: NotificationMessageFor; sms: NotificationMessageFor; }; declare type NotificationMessagesConfig = { all: NotificationMessageFor; } & NotificationMessages; declare type StatusName = 'up' | 'down' | 'unknown'; declare type StatusStats = { friendlyFullSentence: string; friendlyStatusPhrase: string; checkIntervalInMinutes: number; dateLastChecked: string; checksSpreeCount: number; aliveForYMDHMS: string; statusName: StatusName; errors: Error[]; }; interface StatusCheckServiceConstructorPropsInterface { checkStatus: CheckStatusFunc; checkInterval: number; getRequestor: GetRequestor; notifyAll: NotifyAll; onFailNotifyHoursInterval: number; serverUri: string; notificationMessages: NotificationMessagesConfig; } export default class StatusCheckService { checkInterval: number; userProvidedCheckStatus: CheckStatusFunc; lastChecked: number | null; lastEmailSentTime: number | null; notifyAll: NotifyAll; notificationMessages: NotificationMessages; onFailNotifyHoursInterval: number; wrappedStatus: WrappedStatusE; statusChecksCount: number; serverUri: string; constructor({ notifyAll, serverUri, checkStatus, checkInterval, onFailNotifyHoursInterval, notificationMessages }: StatusCheckServiceConstructorPropsInterface); run(): Promise; statusChanged(status: InitializedStatus): boolean; changedStatusOrDownStatusForMoreThanOneHour(status: InitializedStatus): boolean; shouldNotifyCurrentStatus(status: InitializedStatus): boolean; getStatusFriendlyPhrase(status: MaybeUninitializedStatus): string; notifyServiceStatus({ status }: WrappedStatus): Promise; handleNewStatus(w: WrappedStatus): Promise; checkStatus(): Promise>; handleFailedRequest(err: Error): void; getCheckIntervalInMinutes(): number; getStatusStats(): StatusStats; getStatusName(status: MaybeUninitializedStatus): StatusName; } export {}; //# sourceMappingURL=StatusCheckService.d.ts.map