import { z } from 'zod'; export type HttpClientType = 'axios' | 'ofetch'; export declare const bookSchema: z.ZodObject<{ duration: z.ZodNumber; email: z.ZodString; firstName: z.ZodString; formFields: z.ZodOptional>>; guestEmails: z.ZodOptional>; lastName: z.ZodString; likelyAvailableUserIds: z.ZodOptional>; slug: z.ZodString; startTime: z.ZodNumber; timezone: z.ZodDefault; }, "strip", z.ZodTypeAny, { duration: number; email: string; firstName: string; lastName: string; slug: string; startTime: number; timezone: string; formFields?: Record | undefined; guestEmails?: string[] | undefined; likelyAvailableUserIds?: string[] | undefined; }, { duration: number; email: string; firstName: string; lastName: string; slug: string; startTime: number; formFields?: Record | undefined; timezone?: string | undefined; guestEmails?: string[] | undefined; likelyAvailableUserIds?: string[] | undefined; }>; export type CreateBooking = Record> = Omit & { formFields: CustomFormValues; }; export type HubspotMeeting = { id: string; slug: string; link: string; name: string; type: 'ROUND_ROBIN_CALENDAR' | 'PERSONAL_LINK' | 'GROUP_CALENDAR'; organizerUserId: string; userIdsOfLinkMembers: string[]; defaultLink: boolean; createdAt: string; updatedAt: string; }; export type HubspotMeetingLink = { linkId: string; isOffline: boolean; customParams: { legalConsentEnabled: boolean; ownerPrioritized: boolean; legalConsentOptions: { legitimateInterestSubscriptionTypes: number[]; communicationConsentCheckboxes: { communicationTypeId: string; label: string; required: boolean; }[]; legitimateInterestLegalBasis: string; communicationConsentText: string; processingConsentType: string; processingConsentText: string; processingConsentCheckboxLabel: string; processingConsentFooterText: string; privacyPolicyText: string; isLegitimateInterest: boolean; }; formFields: CustomFormField[]; displayInfo: { avatar: string; companyAvatar: string; publicDisplayAvatarOption: string; }; guestSettings: { canAddGuests: boolean; maxGuestCount: number; }; meetingBufferTime: number; availability: { FRIDAY: OneDay[]; MONDAY: OneDay[]; THURSDAY: OneDay[]; TUESDAY: OneDay[]; WEDNESDAY: OneDay[]; }; startTimeIncrementMinutes: string; weeksToAdvertise: number; durations: number[]; location: string; welcomeScreenInfo: { useCompanyLogo: boolean; showWelcomeScreen: boolean; }; }; linkType: string; allUsersBusyTimes: HubspotBusyTime[]; brandingMetadata: Record; linkAvailability: HubspotLinkAvailability; }; export type HubspotMeetingAvailabilities = Pick; export type HubspotMeetingBookSuccess = { calendarEventId: string; start: string; duration: number; contactId: string; bookingTimezone: string; locale: string; legalConsentResponses: Array; formFields: { name: string; label: string; value: string; isCustom: boolean; fieldType: string; }[]; guestEmails: Array; subject: string; location: string; webConferenceMeetingId: string; webConferenceUrl: string; isOffline: boolean; end: string; }; export type CustomFormField = { name: string; label: string; fieldType: 'phonenumber' | 'textarea' | 'text' | 'date' | 'file' | 'number' | 'select' | 'radio' | 'checkbox' | 'booleancheckbox'; type: 'string' | 'number' | 'date' | 'datetime' | 'enumeration'; isCustom: boolean; isRequired: boolean; }; type HubspotBusyTime = { isOffline: boolean; meetingsUser: { id: string; userId: string; isSalesStarter: boolean; userProfile: { firstName: string; lastName: string; email: string; fullName: string; }; calendarProvider: string; }; busyTimes: { start: number; end: number; }[]; }; type OneDay = { start: number; end: number; }; export declare const AvailabilitySchema: z.ZodObject<{ linkAvailability: z.ZodObject<{ hasMore: z.ZodBoolean; linkAvailabilityByDuration: z.ZodRecord, "many">; }, "strip", z.ZodTypeAny, { meetingDurationMillis: number; availabilities: { startMillisUtc: number; endMillisUtc: number; }[]; }, { meetingDurationMillis: number; availabilities: { startMillisUtc: number; endMillisUtc: number; }[]; }>>; }, "strip", z.ZodTypeAny, { hasMore: boolean; linkAvailabilityByDuration: Record; }, { hasMore: boolean; linkAvailabilityByDuration: Record; }>; allUsersBusyTimes: z.ZodArray; calendarProvider: z.ZodString; }, "strip", z.ZodTypeAny, { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }, { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }>; busyTimes: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { isOffline: boolean; meetingsUser: { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }; busyTimes: { start: number; end: number; }[]; }, { isOffline: boolean; meetingsUser: { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }; busyTimes: { start: number; end: number; }[]; }>, "many">; }, "strip", z.ZodTypeAny, { linkAvailability: { hasMore: boolean; linkAvailabilityByDuration: Record; }; allUsersBusyTimes: { isOffline: boolean; meetingsUser: { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }; busyTimes: { start: number; end: number; }[]; }[]; }, { linkAvailability: { hasMore: boolean; linkAvailabilityByDuration: Record; }; allUsersBusyTimes: { isOffline: boolean; meetingsUser: { id: string; userId: string; isSalesStarter: boolean; userProfile: { email: string; firstName: string; lastName: string; fullName: string; }; calendarProvider: string; }; busyTimes: { start: number; end: number; }[]; }[]; }>; export type HubspotLinkAvailabilityResponse = z.infer; export type HubspotLinkAvailability = { linkAvailabilityByDuration: Record; hasMore: boolean; }; export {};