import { Alert, AlertAction, AlertResponder, AlertSource, AlertStatus, EscalationPolicy, OnCall, Schedule, Service, StatusPage, User } from '../types'; /** @public */ export type TableState = { page: number; pageSize: number; }; /** @public */ export type GetAlertsOpts = { maxResults?: number; startIndex?: number; states?: AlertStatus[]; alertSources?: number[]; }; /** @public */ export type GetAlertsCountOpts = { states?: AlertStatus[]; }; /** @public */ export type GetServicesOpts = { maxResults?: number; startIndex?: number; }; /** @public */ export type GetStatusPagesOpts = { maxResults?: number; startIndex?: number; }; /** @public */ export type EventRequest = { integrationKey: string; summary: string; details: string; userName: string; source: string; }; /** @public */ export interface ILertApi { fetchAlerts(opts?: GetAlertsOpts): Promise; fetchAlertsCount(opts?: GetAlertsCountOpts): Promise; fetchAlert(id: number): Promise; fetchAlertResponders(alert: Alert): Promise; fetchAlertActions(alert: Alert): Promise; acceptAlert(alert: Alert, userName: string): Promise; resolveAlert(alert: Alert, userName: string): Promise; assignAlert(alert: Alert, responder: AlertResponder): Promise; createAlert(eventRequest: EventRequest): Promise; triggerAlertAction(alert: Alert, action: AlertAction): Promise; fetchAlertSources(): Promise; fetchAlertSource(idOrIntegrationKey: number | string): Promise; fetchAlertSourceOnCalls(alertSource: AlertSource): Promise; enableAlertSource(alertSource: AlertSource): Promise; disableAlertSource(alertSource: AlertSource): Promise; addImmediateMaintenance(alertSourceId: number, minutes: number): Promise; fetchOnCallSchedules(): Promise; fetchUsers(): Promise; overrideShift(scheduleId: number, userId: number, start: string, end: string): Promise; fetchServices(opts?: GetServicesOpts): Promise; fetchStatusPages(opts?: GetStatusPagesOpts): Promise; getAlertDetailsURL(alert: Alert): string; getAlertSourceDetailsURL(alertSource: AlertSource | null): string; getEscalationPolicyDetailsURL(escalationPolicy: EscalationPolicy): string; getScheduleDetailsURL(schedule: Schedule): string; getServiceDetailsURL(service: Service): string; getStatusPageDetailsURL(statusPage: StatusPage): string; getStatusPageURL(statusPage: StatusPage): string; getUserPhoneNumber(user: User | null): string; getUserInitials(user: User | null): string; }