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