import { getEventTypesFromDB } from '../../bookings/lib/handleNewBooking/getEventTypesFromDB';
import type { PlatformClientParams } from '../../../prisma/zod-utils';
import type { CalendarEvent } from "@calcom/types/Calendar";
import type { BookingSelectResult } from "./utils/bookingSelect";
export declare const roundRobinManualReassignment: ({ bookingId, newUserId, orgId, reassignReason, reassignedById, emailsEnabled, platformClientParams, }: {
    bookingId: number;
    newUserId: number;
    orgId: number | null;
    reassignReason?: string;
    reassignedById: number;
    emailsEnabled?: boolean;
    platformClientParams?: PlatformClientParams;
}) => Promise<{
    user: {
        name: string | null;
        id: number;
        username: string | null;
        email: string;
        locale: string | null;
        credentials: {
            key: import("@prisma/client/runtime/client").JsonValue;
            user: {
                email: string;
            } | null;
            id: number;
            type: string;
            userId: number | null;
            teamId: number | null;
            appId: string | null;
            invalid: boolean | null;
            delegationCredentialId: string | null;
        }[];
        timeZone: string;
        timeFormat: number | null;
        destinationCalendar: {
            id: number;
            userId: number | null;
            eventTypeId: number | null;
            createdAt: Date | null;
            updatedAt: Date | null;
            delegationCredentialId: string | null;
            integration: string;
            externalId: string;
            primaryEmail: string | null;
            credentialId: number | null;
            domainWideDelegationCredentialId: string | null;
        } | null;
    } | null;
    title: string;
    metadata: import("@prisma/client/runtime/client").JsonValue;
    description: string | null;
    location: string | null;
    attendees: {
        name: string;
        id: number;
        email: string;
        locale: string | null;
        timeZone: string;
        phoneNumber: string | null;
        bookingId: number | null;
        noShow: boolean | null;
    }[];
    uid: string;
    userId: number | null;
    eventTypeId: number | null;
    startTime: Date;
    endTime: Date;
    customInputs: import("@prisma/client/runtime/client").JsonValue;
    responses: import("@prisma/client/runtime/client").JsonValue;
    iCalUID: string | null;
    destinationCalendar: {
        id: number;
        userId: number | null;
        eventTypeId: number | null;
        createdAt: Date | null;
        updatedAt: Date | null;
        delegationCredentialId: string | null;
        integration: string;
        externalId: string;
        primaryEmail: string | null;
        credentialId: number | null;
        domainWideDelegationCredentialId: string | null;
    } | null;
    references: {
        id: number;
        type: string;
        uid: string;
        delegationCredentialId: string | null;
        credentialId: number | null;
        domainWideDelegationCredentialId: string | null;
        bookingId: number | null;
        meetingId: string | null;
        thirdPartyRecurringEventId: string | null;
        meetingPassword: string | null;
        meetingUrl: string | null;
        externalCalendarId: string | null;
        deleted: boolean | null;
    }[];
}>;
export declare function handleWorkflowsUpdate({ booking, newUser, evt, eventType, orgId, }: {
    booking: BookingSelectResult;
    newUser: {
        id: number;
        email: string;
        locale?: string | null;
    };
    evt: CalendarEvent;
    eventType: Awaited<ReturnType<typeof getEventTypesFromDB>>;
    orgId: number | null;
}): Promise<void>;
export default roundRobinManualReassignment;
//# sourceMappingURL=roundRobinManualReassignment.d.ts.map