import { RbacService } from './services/rbac.service'; import { CreateRoleDto, UpdateRoleDto, AssignRoleDto } from './dto'; import { RequestUser } from '../auth/strategies/jwt.strategy'; export declare class RbacController { private readonly rbacService; constructor(rbacService: RbacService); findAllRoles(user: RequestUser): Promise; findRoleById(id: string, user: RequestUser): Promise<{ role: import("./entities").Role; permissions: import("./entities").Permission[]; }>; createRole(dto: CreateRoleDto, user: RequestUser): Promise; updateRole(id: string, dto: UpdateRoleDto, user: RequestUser): Promise; deleteRole(id: string, user: RequestUser): Promise<{ message: string; }>; findAllPermissions(): Promise; findPermissionsByCategory(category: string): Promise; getUserRoles(userId: string, user: RequestUser): Promise; getUserPermissions(userId: string, user: RequestUser): Promise; assignRoleToUser(dto: AssignRoleDto, user: RequestUser): Promise; removeRoleFromUser(userId: string, roleId: string, user: RequestUser): Promise<{ message: string; }>; checkPermission(permission: string, user: RequestUser): Promise<{ hasPermission: boolean; }>; getMyRoles(user: RequestUser): Promise; getMyPermissions(user: RequestUser): Promise; }