import { PrismaService } from "../../../core/database/prisma/prisma.service";
import { GroupService } from './group.service';
export declare class AssignService {
    private readonly prisma;
    private readonly groupService;
    private readonly logger;
    private roundRobinIndex;
    constructor(prisma: PrismaService, groupService: GroupService);
    autoAssign(ticketId: string, groupId: string): Promise<string | null>;
    private roundRobinAssign;
    private loadBalanceAssign;
    reassign(ticketId: string, newAssigneeId: string, operatorId: string, comment?: string): Promise<{
        oldAssigneeId: string | null;
        newAssigneeId: string;
    } | null>;
    unassign(ticketId: string, operatorId: string): Promise<{
        oldAssigneeId: string | null;
    } | null>;
    batchAutoAssign(groupId: string, limit?: number): Promise<number>;
}
