import type { CalendarEvent, CalEventResponses } from "./Calendar"; export interface CrmData { id: string; type: string; credentialId: number; password?: string; url?: string; } export interface ContactCreateInput { email: string; name: string; } export interface Contact { id: string; email: string; ownerId?: string; ownerEmail?: string; recordType?: string; } export interface CrmEvent { id: string; uid?: string; type?: string; password?: string; url?: string; additionalInfo?: any; } export interface CRM { createEvent: (event: CalendarEvent, contacts: Contact[]) => Promise; updateEvent: (uid: string, event: CalendarEvent) => Promise; deleteEvent: (uid: string) => Promise; getContacts: ({ emails, includeOwner, forRoundRobinSkip, }: { emails: string | string[]; includeOwner?: boolean; forRoundRobinSkip?: boolean; }) => Promise; createContacts: ( contactsToCreate: ContactCreateInput[], organizerEmail?: string, calEventResponses?: CalEventResponses | null ) => Promise; getAppOptions: () => any; handleAttendeeNoShow?: ( bookingUid: string, attendees: { email: string; noShow: boolean }[] ) => Promise; }