import type { Booking, EventType, Prisma, Webhook, BookingReference } from '../../prisma-client';
import type { CalendarEvent, Person, VideoCallData } from "@calcom/types/Calendar";
export declare const buildVideoCallData: (callData?: Partial<VideoCallData>) => VideoCallData;
export declare const buildPerson: (person?: Partial<Person>) => Person;
export declare const buildBooking: (booking?: Partial<Booking> & {
    references?: Partial<BookingReference>[];
}) => Booking & {
    references?: Partial<BookingReference>[];
    attendees?: [];
};
export declare const buildEventType: (eventType?: Partial<EventType>) => EventType;
export declare const buildWebhook: (webhook?: Partial<Webhook>) => Webhook;
export declare const buildSubscriberEvent: (booking?: Partial<Booking>) => {
    type: string;
    title: string | undefined;
    description: string;
    additionalNotes: string;
    customInputs: {};
    startTime: Date | undefined;
    endTime: Date | undefined;
    organizer: {
        name: string;
        email: string;
        timeZone: string;
        language: {
            locale: string;
        };
    };
    attendees: never[];
    location: string;
    destinationCalendar: null;
    hideCalendar: boolean;
    uid: string | undefined;
    metadata: {};
};
export declare const buildCalendarEvent: (event?: Partial<CalendarEvent>, omitVideoCallData?: boolean) => CalendarEvent;
type UserPayload = Prisma.UserGetPayload<{
    select: {
        locked: true;
        name: true;
        email: true;
        timeZone: true;
        username: true;
        id: true;
        allowDynamicBooking: true;
        credentials: true;
        destinationCalendar: true;
        availability: true;
        selectedCalendars: true;
        schedules: true;
        avatarUrl: true;
        backupCodes: true;
        bio: true;
        brandColor: true;
        completedOnboarding: true;
        createdDate: true;
        bufferTime: true;
        darkBrandColor: true;
        defaultScheduleId: true;
        disableImpersonation: true;
        emailVerified: true;
        endTime: true;
        hideBranding: true;
        identityProvider: true;
        identityProviderId: true;
        invitedTo: true;
        locale: true;
        metadata: true;
        role: true;
        startTime: true;
        theme: true;
        appTheme: true;
        timeFormat: true;
        trialEndsAt: true;
        twoFactorEnabled: true;
        twoFactorSecret: true;
        verified: true;
        weekStart: true;
        organizationId: true;
        allowSEOIndexing: true;
        receiveMonthlyDigestEmail: true;
        movedToProfileId: true;
        isPlatformManaged: true;
        smsLockState: true;
    };
}>;
export declare const buildUser: <T extends Partial<UserPayload>>(user?: T & {
    priority?: number;
    weight?: number;
    weightAdjustment?: number;
}) => UserPayload & {
    priority: number;
    weight: number;
    weightAdjustment: number;
};
export {};
//# sourceMappingURL=builder.d.ts.map