import { Repository } from 'typeorm';
import { StatusPermission } from '../permissions/entities/status-permission.entity';
import { Role } from './entities/role.entity';
import { CreateRoleDto } from './dto/create-role.dto';
import { LoggerService } from "../services/logger/logger.service";
import { PaginationDto } from "../common/dto/pagination.dto";
import { UpdateRoleDto } from './dto/update-role.dto';
export declare class RolesService {
    private readonly statusPermissionRepo;
    private readonly roleRepository;
    private readonly logger;
    constructor(statusPermissionRepo: Repository<StatusPermission>, roleRepository: Repository<Role>, logger: LoggerService);
    getPermissionsByRoles(roles: Role[]): Promise<Record<string, Record<string, string[]>>>;
    create(createRoleDto: CreateRoleDto): Promise<Role>;
    findAll(paginationDto: PaginationDto): Promise<{
        total: number;
        roles: Role[];
    }>;
    findOne(id: number): Promise<Role>;
    update(id: number, updateRoleDto: UpdateRoleDto): Promise<Role>;
    private handleDBExceptions;
}
