import { TeamMember } from "src/modules/team-member/entities/team_member.entity";
import { Repository } from "typeorm";
import { BaseAbstractRepository } from "../../../common/repository/base.repository";
import { FindAllRolesDto } from "../dto/find-all-roles.dto";
import { Role } from "../entities/role.entity";
export declare class RoleRepository extends BaseAbstractRepository<Role> {
    private readonly roleRepository;
    private readonly teamMemberRepository;
    constructor(roleRepository: Repository<Role>, teamMemberRepository: Repository<TeamMember>);
    findAllWithFilters(params: FindAllRolesDto): Promise<{
        count: number;
        data: {
            member_count: number;
            id: number;
            name: string;
            status: number;
            description: string;
            parent_role_id: number;
            is_web_login: boolean;
            deleted_at: Date;
            created_at: Date;
            updated_at: Date;
            users: import("../../auth/entities/auth.entity").Auth[];
            role_permissions: import("../../role-permission/entities/role-permission.entity").RolePermission[];
            team_member: TeamMember[];
            departments: import("../../department/entities/department.entity").Department[];
            business_verticals: import("../../business-verticals/entities/business-verticals.entity").BusinessVertical[];
            parent_role: Role;
            child_roles: Role[];
        }[];
    }>;
    findRolesWithDepartmentAndBv(roleId: number, departmentIds: number[], businessVerticalIds: number[]): Promise<boolean>;
}
