import type { RRResetInterval, SelectedCalendar } from '../../prisma/client';
import type { CredentialForCalendarService } from "@calcom/types/Credential";
import type { RoutingFormResponse } from "../server/getLuckyUser";
export declare const errorCodes: {
    readonly MAX_LEAD_THRESHOLD_FALSY: "Max lead threshold should be null or > 1, not 0.";
};
type BaseUser = {
    id: number;
    email: string;
    credentials: CredentialForCalendarService[];
    userLevelSelectedCalendars: SelectedCalendar[];
} & Record<string, unknown>;
type BaseHost<User extends BaseUser> = {
    isFixed: boolean;
    createdAt: Date;
    priority?: number | null;
    weight?: number | null;
    weightAdjustment?: number | null;
    user: User;
};
export declare const filterHostsByLeadThreshold: <T extends BaseHost<BaseUser>>({ hosts, maxLeadThreshold, eventType, routingFormResponse, }: {
    hosts: T[];
    maxLeadThreshold: number | null;
    eventType: {
        id: number;
        isRRWeightsEnabled: boolean;
        team: {
            parentId?: number | null;
            rrResetInterval: RRResetInterval | null;
        } | null;
    };
    routingFormResponse: RoutingFormResponse | null;
}) => Promise<T[]>;
export {};
//# sourceMappingURL=filterHostsByLeadThreshold.d.ts.map