import * as z from "zod";
import { CompleteBooking, CompleteAttendee } from "./index";
type Literal = boolean | number | string;
type Json = Literal | {
    [key: string]: Json;
} | Json[];
export declare const _BookingSeatModel: z.ZodObject<{
    id: z.ZodNumber;
    referenceUid: z.ZodString;
    bookingId: z.ZodNumber;
    attendeeId: z.ZodNumber;
    data: z.ZodObject<{
        description: z.ZodOptional<z.ZodString>;
        responses: z.ZodNullable<z.ZodObject<{
            email: z.ZodString;
            attendeePhoneNumber: z.ZodOptional<z.ZodString>;
            name: z.ZodUnion<[z.ZodString, z.ZodObject<{
                firstName: z.ZodString;
                lastName: z.ZodOptional<z.ZodString>;
            }, "strip", z.ZodTypeAny, {
                firstName: string;
                lastName?: string | undefined;
            }, {
                firstName: string;
                lastName?: string | undefined;
            }>]>;
            guests: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            notes: z.ZodOptional<z.ZodString>;
            location: z.ZodOptional<z.ZodObject<{
                optionValue: z.ZodString;
                value: z.ZodString;
            }, "strip", z.ZodTypeAny, {
                value: string;
                optionValue: string;
            }, {
                value: string;
                optionValue: string;
            }>>;
            smsReminderNumber: z.ZodOptional<z.ZodString>;
            rescheduleReason: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        }, {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        responses: {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        } | null;
        description?: string | undefined;
    }, {
        responses: {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        } | null;
        description?: string | undefined;
    }>;
    metadata: z.ZodType<Json, z.ZodTypeDef, Json>;
}, "strip", z.ZodTypeAny, {
    data: {
        responses: {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        } | null;
        description?: string | undefined;
    };
    id: number;
    metadata: Json & (Json | undefined);
    bookingId: number;
    referenceUid: string;
    attendeeId: number;
}, {
    data: {
        responses: {
            name: (string | {
                firstName: string;
                lastName?: string | undefined;
            }) & (string | {
                firstName: string;
                lastName?: string | undefined;
            } | undefined);
            email: string;
            attendeePhoneNumber?: string | undefined;
            guests?: string[] | undefined;
            notes?: string | undefined;
            location?: {
                value: string;
                optionValue: string;
            } | undefined;
            smsReminderNumber?: string | undefined;
            rescheduleReason?: string | undefined;
        } | null;
        description?: string | undefined;
    };
    id: number;
    metadata: Json & (Json | undefined);
    bookingId: number;
    referenceUid: string;
    attendeeId: number;
}>;
export interface CompleteBookingSeat extends z.infer<typeof _BookingSeatModel> {
    booking: CompleteBooking;
    attendee: CompleteAttendee;
}
/**
 * BookingSeatModel contains all relations on your model in addition to the scalars
 *
 * NOTE: Lazy required in case of potential circular dependencies within schema
 */
export declare const BookingSeatModel: z.ZodSchema<CompleteBookingSeat>;
export {};
//# sourceMappingURL=bookingseat.d.ts.map