import { Role, Permission } from "./types"; /** * Manages roles and their permissions */ export declare class RoleManager { private roles; /** * Adds a new role */ addRole(role: Role): void; /** * Gets a role by ID */ getRole(roleId: string): Role | undefined; /** * Gets all roles */ getAllRoles(): Role[]; /** * Removes a role */ removeRole(roleId: string): boolean; /** * Updates a role */ updateRole(roleId: string, updates: Partial): boolean; /** * Gets all permissions for a role, including inherited permissions */ getRolePermissions(roleId: string, visited?: Set): Permission[]; /** * Adds a permission to a role */ addPermissionToRole(roleId: string, permission: Permission): boolean; /** * Removes a permission from a role */ removePermissionFromRole(roleId: string, resource: string, action: string): boolean; /** * Checks if a role exists */ hasRole(roleId: string): boolean; /** * Clears all roles */ clear(): void; } //# sourceMappingURL=RoleManager.d.ts.map