import { BookingStatus } from '../../../../prisma/enums';
import type { JsonValue } from "@calcom/types/Json";
export type ReschedulePreventionRedirectInput = {
    booking: {
        uid: string;
        status: BookingStatus;
        startTime: Date | null;
        endTime: Date | null;
        responses?: JsonValue;
        userId: number | null;
        eventType: {
            disableRescheduling: boolean;
            allowReschedulingPastBookings: boolean;
            allowBookingFromCancelledBookingReschedule: boolean;
            minimumRescheduleNotice: number | null;
            teamId: number | null;
        };
    };
    eventUrl: string;
    forceRescheduleForCancelledBooking?: boolean;
    currentUserId?: number | null;
    bookingSeat?: {
        data: JsonValue;
        booking: {
            uid: string;
            id: number;
        };
    };
};
export type ReschedulePreventionRedirectResult = string | null;
/**
 * Determines the appropriate redirect URL for a reschedule request based on booking status and event type settings
 * Returns the redirect URL string if a redirect is needed, null if reschedule should proceed normally
 */
export declare function determineReschedulePreventionRedirect(input: ReschedulePreventionRedirectInput): ReschedulePreventionRedirectResult;
//# sourceMappingURL=determineReschedulePreventionRedirect.d.ts.map