import { ForcedSubject, MongoAbility } from '@casl/ability'; import { RBModelMap } from '../modelTypes'; export type AclAction = "manage" | "create" | "read" | "update" | "delete"; export interface AclSubjectMap extends RBModelMap { } export type AclSubjectType = keyof AclSubjectMap | "all"; type AclSubjectObject = { [K in keyof AclSubjectMap]: ForcedSubject & Partial; }[keyof AclSubjectMap]; export type AclSubject = AclSubjectType | AclSubjectObject; export type AppAbility = MongoAbility<[AclAction, AclSubject]>; export type TenantRolesByTenantId = Record; export type AclContext = { tenantId: string; userId: string | null; roles: string[]; claims?: Record; }; export {}; //# sourceMappingURL=types.d.ts.map