/** * In-process cache of roleName -> permission keys, avoiding a disk read on every * single request. Hydrated once at server bootstrap (AuthSeeder) and kept in sync * whenever a new role is created (AuthService.createRole). */ declare class PermissionChecker { private static instance; private readonly rolePermissions; static getInstance(): PermissionChecker; setRolePermissions(roleName: string, permissions: string[]): void; deleteRole(roleName: string): void; hydrate(roles: { roleName: string; permissions: string[]; }[]): void; getPermissionsForRole(roleName: string): string[]; roleHasPermission(roleName: string, permissionKey: string): boolean; roleExists(roleName: string): boolean; listRoleNames(): string[]; } declare const _default: PermissionChecker; export default _default;