export declare enum FollowupModel { Recall = "recall", Appointment = "appointment", Referral = "referral", Message = "message", Offer = "offer", Waitlist = "waitlist", FeedbackResponse = "feedbackResponse", Diagnosis = "diagnosis", Procedure = "procedure", PatientForm = "patientForm", Intent = "intent", Telehealth = "telehealth", WaitingRoomPatient = "waitingRoomPatient", Provider = "provider", Facility = "facility", AppointmentType = "appointmentType", Hl7message = "hl7message", FileUpload = "fileUpload", Schedule = "schedule", Invoke = "invoke" } export declare enum FollowupOperation { Created = "created", Deleted = "deleted", Updated = "updated" } export declare enum FollowupAction { SendMessage = "send-message", AlertStaff = "alert-staff", StartBot = "start-bot", HttpsWebhook = "https-webhook", ConfirmAppointment = "confirm-appointment", CancelAppointment = "cancel-appointment", ArriveAppointment = "arrive-appointment", CreateReferral = "create-referral", CancelReferral = "cancel-referral", OpenChat = "open-chat", CloseChat = "close-chat", InternalChat = "internal-chat", JoinWaitlist = "join-waitlist", LeaveWaitlist = "leave-waitlist", JoinWaitingRoom = "join-waiting-room", SendPhysicalMail = "send-physical-mail", CreatePatientInIntegrator = "create-patient-in-integrator", ExecuteJavaScript = "execute-javascript", AssignChat = "assign-chat" } export declare enum FollowupActionUnit { Seconds = "seconds", Minutes = "minutes", Hours = "hours", Days = "days" } export declare enum FollowupActionAtAnchor { Operation = "operation", ObjectDate = "object-date" } export declare enum FollowupBot { Followup = "bot:followup", Referral = "bot:referral", jenna = "bot:jenna" } export declare enum FollowupForceCommunicationAs { None = "none", Sms = "sms", Voice = "voice", Email = "email", Whatsapp = "whatsapp" } export declare enum FollowupFilterComparision { Eq = "eq", Gt = "gt", Gte = "gte", Lt = "lt", Lte = "lte", Ne = "ne", RegEx = "regex", Js = "js", Cron = "cron" } export declare enum FollowupConfigurationAssignChatRef { Group = "group", User = "user" } export interface FollowupCounters { actionMatched: number; } export interface FollowupStats { counters?: FollowupCounters; } export interface FollowupFilter { field?: string; value?: string; comparision?: FollowupFilterComparision; options?: string; } export interface WebhookHeaders { header?: string; value?: string; } export declare enum WeekDays { Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6, Sunday = 7 } export interface FollowupSendMessageDayOfWeekRule { startAt: number; endAt: number; daysOfWeek: number[]; enabled: boolean; } export interface FollowupConfigurationAlertStaff { users: string[]; facilities: string[]; } export interface FollowupConfigurationAssignChat { ref?: FollowupConfigurationAssignChatRef; refId?: string; } export interface FollowupConfiguration { alertStaff?: FollowupConfigurationAlertStaff; assignChat?: FollowupConfigurationAssignChat; } export interface Followup { _id: string; user: string; title?: string; model: FollowupModel; operation: FollowupOperation; filters: FollowupFilter[]; action: FollowupAction; actionAt: number; actionAtUnit?: FollowupActionUnit; actionAtAnchor: FollowupActionAtAnchor; anchorAtOperationPastEventsTolerance?: number; template: string; type: string; group?: string; secure: boolean; forceCommunicationAs?: FollowupForceCommunicationAs; delay?: number; stats?: FollowupStats; enabled: boolean; createdAt?: Date; updatedAt?: Date; createdBy: string; updatedBy: string; deletedBy?: string; deletedAt?: Date; deleted: number; rebuildDateRange?: Date; sendMessageSkipDeliveryRules?: boolean; sendMessageSkipBlackoutRules?: boolean; sendMessageForceTimeHour?: number; sendMessageForceTimeMinute?: number; sendMessageAutomaticallyHandleIrregularIntent?: boolean; webhook?: string; webhookHmacSecret?: string; webhookHeaders?: WebhookHeaders[]; bot?: FollowupBot; joinWaitingRoomRoom?: unknown; openChatFacility?: string; sendPhysicalMailLobApiKey?: string; sendPhysicalMailFromAddressOverride?: string; sendPhysicalMailFrontTemplate?: string; sendMessageDayOfWeekRule?: FollowupSendMessageDayOfWeekRule; executeJavaScript?: string; sendMessageShouldSkipReminderDeduping?: boolean; configuration?: FollowupConfiguration; }