import type { Prisma } from '../../../../prisma-client';
import type { IncomingMessage } from "http";
import type { Logger } from "tslog";
import type { RoutingFormResponse } from '../../../../lib/server/getLuckyUser';
import { loadUsers } from "./loadUsers";
import type { NewBookingEventType } from "./types";
type Users = (Awaited<ReturnType<typeof loadUsers>>[number] & {
    isFixed?: boolean;
    metadata?: Prisma.JsonValue;
    createdAt?: Date;
})[];
type EventType = Pick<NewBookingEventType, "hosts" | "users" | "id" | "userId" | "schedulingType" | "maxLeadThreshold" | "team" | "assignAllTeamMembers" | "assignRRMembersUsingSegment" | "rrSegmentQueryValue" | "isRRWeightsEnabled" | "rescheduleWithSameRoundRobinHost">;
type InputProps = {
    req: IncomingMessage;
    eventType: EventType;
    eventTypeId: number;
    dynamicUserList: string[];
    logger: Logger<unknown>;
    routedTeamMemberIds: number[] | null;
    contactOwnerEmail: string | null;
    rescheduleUid: string | null;
    routingFormResponse: RoutingFormResponse | null;
};
export declare function loadAndValidateUsers({ req, eventType, eventTypeId, dynamicUserList, logger, routedTeamMemberIds, contactOwnerEmail, rescheduleUid, routingFormResponse, }: InputProps): Promise<{
    qualifiedRRUsers: Users;
    additionalFallbackRRUsers: Users;
    fixedUsers: Users;
}>;
export {};
//# sourceMappingURL=loadAndValidateUsers.d.ts.map