import { z } from "zod"; import type { Calendar as ProtoCalendar, CalendarAttendee as ProtoAttendee, CalendarBooking as ProtoBooking, CalendarEventType as ProtoEventType, CalendarTimeSlot as ProtoTimeSlot } from "../gen/channel/app/sdk/v1/extension.js"; type ProtoBacked = T & Proto; /** * Calendar schema */ export declare const CalendarSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; description: z.ZodOptional; timezone: z.ZodOptional; isPrimary: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; id: string; description?: string | undefined; timezone?: string | undefined; isPrimary?: boolean | undefined; }, { name: string; id: string; description?: string | undefined; timezone?: string | undefined; isPrimary?: boolean | undefined; }>; export type Calendar = ProtoBacked, ProtoCalendar>; /** * Event type schema */ export declare const EventTypeSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; duration: z.ZodNumber; description: z.ZodOptional; color: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; id: string; duration: number; description?: string | undefined; color?: string | undefined; }, { name: string; id: string; duration: number; description?: string | undefined; color?: string | undefined; }>; export type EventType = ProtoBacked, ProtoEventType>; /** * Time slot schema */ export declare const TimeSlotSchema: z.ZodObject<{ startTime: z.ZodString; endTime: z.ZodString; }, "strip", z.ZodTypeAny, { startTime: string; endTime: string; }, { startTime: string; endTime: string; }>; export type TimeSlot = ProtoBacked, ProtoTimeSlot>; /** * Attendee schema */ export declare const AttendeeSchema: z.ZodObject<{ name: z.ZodString; email: z.ZodString; phone: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; email: string; phone?: string | undefined; }, { name: string; email: string; phone?: string | undefined; }>; export type Attendee = ProtoBacked, ProtoAttendee>; /** * Booking status */ export declare const BookingStatus: z.ZodEnum<["confirmed", "cancelled", "pending"]>; export type BookingStatus = z.infer; /** * Booking schema */ export declare const BookingSchema: z.ZodObject<{ id: z.ZodString; eventTypeId: z.ZodString; startTime: z.ZodString; endTime: z.ZodString; attendee: z.ZodObject<{ name: z.ZodString; email: z.ZodString; phone: z.ZodOptional; }, "strip", z.ZodTypeAny, { name: string; email: string; phone?: string | undefined; }, { name: string; email: string; phone?: string | undefined; }>; status: z.ZodEnum<["confirmed", "cancelled", "pending"]>; notes: z.ZodOptional; meetingUrl: z.ZodOptional; calendarEventId: z.ZodOptional; }, "strip", z.ZodTypeAny, { status: "pending" | "confirmed" | "cancelled"; id: string; startTime: string; endTime: string; eventTypeId: string; attendee: { name: string; email: string; phone?: string | undefined; }; notes?: string | undefined; meetingUrl?: string | undefined; calendarEventId?: string | undefined; }, { status: "pending" | "confirmed" | "cancelled"; id: string; startTime: string; endTime: string; eventTypeId: string; attendee: { name: string; email: string; phone?: string | undefined; }; notes?: string | undefined; meetingUrl?: string | undefined; calendarEventId?: string | undefined; }>; export type Booking = ProtoBacked, ProtoBooking>; export {}; //# sourceMappingURL=calendar.d.ts.map