import { Organization } from '@tco.ai/models/dist/RBAC/Organization'; import { Role } from '@tco.ai/models/dist/RBAC/Role'; import { RoleCreate } from '@tco.ai/models/dist/RBAC/RoleCreate'; import { User } from '@tco.ai/models/dist/RBAC/User'; import { PermissionsService } from '../Permissions/PermissionsService'; import { UsersService } from '../Users/UsersService'; import { Connection } from 'typeorm'; export declare class RolesService { private readonly connection; private readonly rolesRepository; private readonly permissionsService; private readonly usersService; constructor(connection: Connection, 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; generate(principal: User): Promise; }