declare const COMPANY_ADMINISTRATOR_ROLE_ID = "2e1eee00-6cba-4506-9059-ccd24e4ea5b0"; type PermissionValue = boolean | string; type ActionType = "read" | "create" | "update" | "delete"; declare const ACTION_TYPES: ActionType[]; /** The permissions object shape used by both Module and PermissionMapping entities */ type PermissionsMap = { create?: PermissionValue; read?: PermissionValue; update?: PermissionValue; delete?: PermissionValue; }; /** * Declarative-RBAC matrix types. * * Mirror of the library types defined in * `packages/nestjs-neo4jsonapi/src/foundations/rbac/dsl/types.ts`. * Frontend does not import from backend, so the shape is redefined here. * * A `PermToken` represents a single permission entry: * - `scope: true` → unconditional (e.g. full read of the module) * - `scope: false` → nothing (rarely used, mostly a placeholder) * - `scope: "path"` → scoped by relationship path (e.g. "orders.account") */ type PermToken = { action: string; scope: boolean | string; }; /** * A per-module block of the matrix. Always has a `default` row (permissions * granted to every role). Additional keys are role IDs → role-specific * permission tokens that are unioned with `default` to produce the effective * permissions for that role in that module. */ type RbacModuleBlock = { default: PermToken[]; } & Record; /** * The full RBAC matrix as served by the dev endpoint `GET /_dev/rbac/matrix`. * Keys are module IDs; values are module blocks. */ type RbacMatrix = Record; export { type ActionType as A, COMPANY_ADMINISTRATOR_ROLE_ID as C, type PermissionValue as P, type RbacMatrix as R, ACTION_TYPES as a, type PermissionsMap as b, type PermToken as c, type RbacModuleBlock as d };