"use strict";
const z = require("zod");
const index = require("./i18n-HHdcQbuJ.cjs");
const PeriodTypeSchema = z.z.enum(["UNLIMITED", "ROLLING", "ROLLING_WINDOW", "RANGE"]);
const SchedulingTypeSchema = z.z.enum(["ROUND_ROBIN", "COLLECTIVE", "MANAGED"]);
const EventTypeSchema = z.z.object({
  periodType: PeriodTypeSchema,
  schedulingType: SchedulingTypeSchema.nullable(),
  id: z.z.number().int(),
  title: z.z.string().min(1),
  slug: index.eventTypeSlug,
  description: z.z.string().nullable(),
  interfaceLanguage: z.z.string().nullable(),
  position: z.z.number().int(),
  locations: index.eventTypeLocations.nullable(),
  length: z.z.number().min(1),
  offsetStart: z.z.number().int(),
  hidden: z.z.boolean(),
  userId: z.z.number().int().nullable(),
  profileId: z.z.number().int().nullable(),
  teamId: z.z.number().int().nullable(),
  useEventLevelSelectedCalendars: z.z.boolean(),
  eventName: z.z.string().nullable(),
  parentId: z.z.number().int().nullable(),
  bookingFields: index.eventTypeBookingFields.nullable(),
  timeZone: z.z.string().nullable(),
  periodStartDate: index.coerceToDate.nullable(),
  periodEndDate: index.coerceToDate.nullable(),
  periodDays: z.z.number().int().nullable(),
  periodCountCalendarDays: z.z.boolean().nullable(),
  lockTimeZoneToggleOnBookingPage: z.z.boolean(),
  lockedTimeZone: z.z.string().nullable(),
  requiresConfirmation: z.z.boolean(),
  requiresConfirmationWillBlockSlot: z.z.boolean(),
  requiresConfirmationForFreeEmail: z.z.boolean(),
  requiresBookerEmailVerification: z.z.boolean(),
  canSendCalVideoTranscriptionEmails: z.z.boolean(),
  autoTranslateDescriptionEnabled: z.z.boolean(),
  recurringEvent: index.recurringEventType.nullable(),
  disableGuests: z.z.boolean(),
  hideCalendarNotes: z.z.boolean(),
  hideCalendarEventDetails: z.z.boolean(),
  minimumBookingNotice: z.z.number().min(0),
  beforeEventBuffer: z.z.number().int(),
  afterEventBuffer: z.z.number().int(),
  seatsPerTimeSlot: z.z.number().int().nullable(),
  onlyShowFirstAvailableSlot: z.z.boolean(),
  showOptimizedSlots: z.z.boolean().nullable(),
  disableCancelling: z.z.boolean().nullable(),
  disableRescheduling: z.z.boolean().nullable(),
  seatsShowAttendees: z.z.boolean().nullable(),
  seatsShowAvailabilityCount: z.z.boolean().nullable(),
  scheduleId: z.z.number().int().nullable(),
  allowReschedulingCancelledBookings: z.z.boolean().nullable(),
  price: z.z.number().int(),
  currency: z.z.string(),
  slotInterval: z.z.number().int().nullable(),
  metadata: index.EventTypeMetaDataSchema.nullable(),
  successRedirectUrl: index.successRedirectUrl.nullable(),
  forwardParamsSuccessRedirect: z.z.boolean().nullable(),
  bookingLimits: index.intervalLimitsType.nullable(),
  durationLimits: index.intervalLimitsType.nullable(),
  isInstantEvent: z.z.boolean(),
  instantMeetingExpiryTimeOffsetInSeconds: z.z.number().int(),
  instantMeetingScheduleId: z.z.number().int().nullable(),
  instantMeetingParameters: z.z.string().array(),
  assignAllTeamMembers: z.z.boolean(),
  assignRRMembersUsingSegment: z.z.boolean(),
  rrSegmentQueryValue: index.rrSegmentQueryValueSchema.nullable(),
  useEventTypeDestinationCalendarEmail: z.z.boolean(),
  isRRWeightsEnabled: z.z.boolean(),
  maxLeadThreshold: z.z.number().int().nullable(),
  includeNoShowInRRCalculation: z.z.boolean(),
  allowReschedulingPastBookings: z.z.boolean(),
  hideOrganizerEmail: z.z.boolean(),
  maxActiveBookingsPerBooker: z.z.number().int().nullable(),
  maxActiveBookingPerBookerOfferReschedule: z.z.boolean(),
  customReplyToEmail: index.emailSchema.nullable(),
  eventTypeColor: index.eventTypeColor.nullable(),
  rescheduleWithSameRoundRobinHost: z.z.boolean(),
  secondaryEmailId: z.z.number().int().nullable(),
  useBookerTimezone: z.z.boolean(),
  restrictionScheduleId: z.z.number().int().nullable(),
  bookingRequiresAuthentication: z.z.boolean()
});
exports.EventTypeSchema = EventTypeSchema;
