export declare abstract class ActivityEntity { id: string; date: Date; user?: { id?: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; }; marketingConsent?: string; type: 'appointment' | 'note' | 'formResult' | 'consent' | 'email' | 'emailNotification' | 'textMessageNotification' | 'conflict'; event?: 'created' | 'updated' | 'deleted'; updatedAttributes?: string[]; protected constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, marketingConsent?: string); static fromActivityDto(dto: ActivityDto): ActivityEntity | undefined; } export declare enum AppointmentActivityType { DELETE = "appointment-delete", CREATION = "appointment-creation", FORM_UPDATE = "appointment-form-update", LOCATION_UPDATE = "appointment-location-update", NOTE_UPDATE = "appointment-note-update", RESOURCE_UPDATE = "appointment-resource-update", SERVICE_UPDATE = "appointment-service-update", STAFF_UPDATE = "appointment-staff-update", DATES_UPDATE = "appointment-dates-update", STATUS_UPDATE = "appointment-status-update", END_UPDATE = "appointment-end-update", START_UPDATE = "appointment-start-update" } export declare enum AppointmentActivitySourceType { MANUAL = "manual", WIDGET = "widget", EXTERNAL = "external", MANUAL_PHONE = "manualPhone", API = "api", BACKOFFICE_WIDGET = "backofficeWidget", API_MOBILE = "mobile", FACEBOOK = "facebook" } export declare class AppointmentActivityEntity extends ActivityEntity { start?: Date; end?: Date; service?: { id: string; name: string; }; resource?: { id: string; name: string; }; staff?: { id: string; firstName?: string; lastName?: string; }; company?: { id: string; name: string; }; client?: { id?: string; firstName?: string; lastName?: string; emailAddress?: string; }; appointmentId: string; location?: string; notes?: string; status?: string; activityType?: AppointmentActivityType; sourceType?: AppointmentActivitySourceType; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); static fromAppointmentDto(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, event?: 'created' | 'updated' | 'deleted', updatedAttributes?: AttributesUpdateType[], marketingConsent?: string): ActivityEntity | undefined; } export declare class AppointmentUpdateDatesActivityEntity extends AppointmentActivityEntity { previousStart?: Date; previousEnd?: Date; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateStartActivityEntity extends AppointmentActivityEntity { previousStart?: Date; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateEndActivityEntity extends AppointmentActivityEntity { previousEnd?: Date; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateStatusActivityEntity extends AppointmentActivityEntity { previousStatus?: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateStaffActivityEntity extends AppointmentActivityEntity { previousStaff?: { id: string; firstName?: string; lastName?: string; }; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateServiceActivityEntity extends AppointmentActivityEntity { previousService?: { id: string; name: string; }; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateResourceActivityEntity extends AppointmentActivityEntity { constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateNoteActivityEntity extends AppointmentActivityEntity { previousNotes?: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateLocationActivityEntity extends AppointmentActivityEntity { previousLocation?: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentUpdateFormActivityEntity extends AppointmentActivityEntity { formValues?: {}; previousFormValues?: {}; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentCreationActivityEntity extends AppointmentActivityEntity { constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class AppointmentDeletionActivityEntity extends AppointmentActivityEntity { constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, dto: AppointmentActivityDto, marketingConsent?: string); } export declare class NoteActivityEntity extends ActivityEntity { body: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, body: string); } export declare class FormResultActivityEntity extends ActivityEntity { formId?: string; formName?: string; formResultId?: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, formId?: string, formName?: string, formResultId?: string); } export declare class ConsentActivityEntity extends ActivityEntity { note: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, note: string); } export declare class Email extends ActivityEntity { subject: string; body: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, subject: string, body: string); } export declare class EmailNotificationActivityEntity extends ActivityEntity { subject: string; body: string; emailId: string; selfLink: string; companyId: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, subject: string, body: string, emailId: string, selfLink: string, companyId: string); } export declare class TextMessageNotificationActivityEntity extends ActivityEntity { body: string; constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined, body: string); } export declare class ConflictActivityEntity extends ActivityEntity { constructor(id: string, date: Date, user: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; } | undefined); } declare class AppointmentActivityDto { id: string; start?: { dateTime: string; timeZone: string; }; end?: { dateTime: string; timeZone: string; }; service?: { id: string; name: string; }; resource?: { id: string; name: string; }; staff?: { id: string; firstName?: string; lastName?: string; }; company?: { id: string; name: string; }; client?: { id?: string; firstName?: string; lastName?: string; emailAddress?: string; }; formValues?: {}; notes?: string; location?: string; status: string; sourceType?: AppointmentActivitySourceType; changeType?: AppointmentChangeTypes.START | AppointmentChangeTypes.END | AppointmentChangeTypes.STAFF | AppointmentChangeTypes.LOCATION | AppointmentChangeTypes.SERVICE | AppointmentChangeTypes.RESOURCE | AppointmentChangeTypes.FORM | AppointmentChangeTypes.STATUS | AppointmentChangeTypes.NOTES; previousStart?: { dateTime: string; timeZone: string; }; previousEnd?: { dateTime: string; timeZone: string; }; previousService?: { id: string; name: string; }; previousStaff?: { id: string; firstName?: string; lastName?: string; }; previousLocation?: string; previousNotes?: string; previousStatus?: string; previousFormValues?: {}; } export type AttributesUpdateType = 'start' | 'end' | 'staff' | 'location' | 'service' | 'resource' | 'form' | 'status' | 'notes' | string; export declare enum AppointmentChangeTypes { START = "start", END = "end", STAFF = "staff", LOCATION = "location", SERVICE = "service", RESOURCE = "resource", FORM = "form", STATUS = "status", NOTES = "notes" } export declare class ActivityDto { id: string; type?: 'appointment' | 'note' | 'formResult' | 'consent' | 'email' | 'emailNotification' | 'textMessageNotification' | 'conflict'; event?: 'created' | 'updated' | 'deleted'; updatedAttributes?: AttributesUpdateType[]; date?: { dateTime: string; timeZone?: string; }; user?: { id: string; userName?: string; emailAddress?: string; firstName?: string; lastName?: string; }; note?: { id: string; body: string; }; appointment?: AppointmentActivityDto; formResult?: { id: string; form: { id: string; name: string; }; }; marketingConsent?: { text: string; }; emailNotification?: { subject: string; body: string; selfLink: string; id: string; companyId: string; }; email?: { subject: string; body: string; selfLink: string; id: string; companyId: string; }; textMessage?: { body: string; }; } export {};