import { Organization } from '../Organizations/Organization'; import { PermissionsService } from '../Permissions/PermissionsService'; import { User } from '../Users/User'; import { UsersService } from '../Users/UsersService'; import { Role } from './Role'; import { RoleCreate } from './RoleCreate'; import { RoleRepository } from './RoleRepository'; export declare class RolesService { private readonly rolesRepository; private readonly permissionsService; private readonly usersService; constructor(rolesRepository: RoleRepository, permissionsService: PermissionsService, usersService: UsersService); search(organization: Organization): Promise>; getById(id: string): Promise; getByName(name: string): Promise; getByIdAndOrganization(id: string, organization: Organization): Promise; getByOrganizationAndName(organization: Organization, name: string): Promise; getUsersById(id: string): Promise>; deleteByIdAndOrganization(id: string, organization: Organization): Promise; deleteByOrganizationAndName(organization: Organization, name: string): Promise; create(principal: User, roleCreate: RoleCreate): Promise; addPermission(principal: User, roleId: string, permissionId: string): Promise; permissionRemove(organization: Organization, roleId: string, permissionId: string): Promise; assignToUser(principal: User, roleId: string, userId: string): Promise; assignToEmailByName(email: string, roleName: string): Promise; unassignFromUser(principal: User, roleId: string, userId: string): Promise; }