import { Client } from '../client'; import { UriHelper } from '../uri-helper'; import { ThBaseHandler } from '../base'; import { BaseError } from '../errors'; import { AppointmentReminderTemplates } from './appointment-reminder-templates'; export interface AppointmentRemindersOptions { user?: string; base?: string; } export declare type ReminderType = 'email' | 'sms'; export interface AppointmentReminderEntity { id?: string; type?: ReminderType; locationId?: string; active?: boolean; templateId?: string; reminderLeadTime?: { type: 'day' | 'hour' | 'month'; value: number; }; } export interface AppointmentRemindersResponse { data?: AppointmentReminderEntity; metadata?: { count?: number; patch?: any; }; msg?: string; } export interface AppointmentRemindersTestReminderPayload { templateId?: string; branchId?: string; type?: ReminderType; email?: string; phoneNumber?: string; } export interface AppointmentRemindersTestReminderResponse { msg?: string; } export declare class AppointmentReminders extends ThBaseHandler { static baseEndpoint: string; endpoint: string; http: Client; options: AppointmentRemindersOptions; uriHelper: UriHelper; constructor(options: AppointmentRemindersOptions, http: Client); get(): Promise; post(appointmentReminder: AppointmentReminderEntity): Promise; patch(id: string, appointmentReminder: AppointmentReminderEntity): Promise; sendTestReminder(payload: AppointmentRemindersTestReminderPayload): Promise; templates(): AppointmentReminderTemplates; } export declare class AppointmentReminderPatchFailed extends BaseError { message: string; name: string; constructor(message?: string, properties?: Record); } export declare class AppointmentReminderPostFailed extends BaseError { message: string; name: string; constructor(message?: string, properties?: Record); } export declare class AppointmentReminderFetchFailed extends BaseError { message: string; name: string; constructor(message?: string, properties?: Record); } export declare class AppointmentReminderSendTestReminderFailed extends BaseError { message: string; name: string; constructor(message?: string, properties?: Record); }