import { Connection } from 'mongoose'; import { IRole, IPermission, ICreateRoleOptions, IUpdateRoleOptions, IQueryOptions, IPaginatedResult } from '@prodforcode/rbac-core'; export declare class RoleRepository { private readonly roleModel; private readonly rolePermissionModel; constructor(connection?: Connection); findById(id: string): Promise; findByName(name: string, organizationId?: string | null): Promise; findByIds(ids: string[]): Promise; findAll(options?: IQueryOptions): Promise>; create(options: ICreateRoleOptions): Promise; update(id: string, options: IUpdateRoleOptions): Promise; delete(id: string): Promise; findChildRoles(parentRoleId: string): Promise; getPermissionsForRole(roleId: string): Promise; getPermissionsForRoles(roleIds: string[]): Promise>; assignPermissions(roleId: string, permissionIds: string[]): Promise; removePermissions(roleId: string, permissionIds: string[]): Promise; getAncestorRoles(roleId: string, maxDepth?: number): Promise; getDescendantRoles(roleId: string, maxDepth?: number): Promise; private toRole; } //# sourceMappingURL=role.repository.d.ts.map