import { ConsentEntity } from "./Consent"; import { FormItemDto, FormItemEntity } from "./Form"; import { CustomStatusDto, CustomStatusEntity } from "./CustomStatus"; export declare enum EventType { PRO = "normal", PERSO = "personal", EXTERNAL = "external", ICS = "ics" } export declare class EventEntity { id?: string; owner?: { id: string; userName: string; }; company?: { id: string; name?: string; encryptedId?: string; }; service?: { id: string; name?: string; color?: string; preparationDuration?: number; bufferDuration?: number; capacity?: number; }; staff?: { id: string; firstName?: string; lastName?: string; phone?: string; email?: string; externalId?: string; userId?: string; }; client?: { id: string; firstName?: string; lastName?: string; email?: string; phone?: string; externalId?: string; }; start: Date; end: Date; status?: string; type: string; source: string; price?: number; paid?: boolean; notes?: string; summary?: string; form?: FormItemEntity[]; metaEvent?: boolean; metaEventId?: string; onlineMeeting?: { provider: string; videoLink: string; }; parameters?: any; events?: EventEntity[]; privacyConsent?: ConsentEntity; marketingConsent?: ConsentEntity; location: 'companyAddress' | 'videoconference' | 'phone' | 'custom'; locationCustom?: string; preparationDuration?: number; bufferDuration?: number; customStatus?: CustomStatusEntity; static fromEventDto(dto: EventDto, type?: EventType | string): EventEntity; static toEventDto(entity: EventEntity, timeZone?: string): EventDto; } export declare class EventDto { id?: string; owner?: { id: string; userName: string; }; company?: { id: string; name?: string; }; service?: { id: string; name?: string; color?: string; preparationDuration?: number; bufferDuration?: number; capacity?: number; }; staff?: { id: string; firstName?: string; lastName?: string; phone?: string; email?: string; externalId?: string; userId?: string; }; client?: { id: string; firstName?: string; lastName?: string; email?: string; phone?: string; externalId?: string; }; start: { dateTime: string; timeZone?: string; }; end: { dateTime: string; timeZone?: string; }; status?: string; type: string; source: string; paid?: boolean; price?: number; notes?: string; summary?: string; form?: FormItemDto[]; 'meta-event'?: boolean; metaEventId?: string; onlineMeeting?: { provider: string; videoLink: string; }; parameters?: any; events?: EventDto[]; privacyConsent?: ConsentEntity; marketingConsent?: ConsentEntity; location: 'companyAddress' | 'videoconference' | 'phone' | 'custom'; locationCustom?: string; preparationDuration?: number; bufferDuration?: number; customStatus?: CustomStatusDto; }