import { AutoEncoder, AutoEncoderPatchType } from '@simonbackx/simple-encoding'; import { LoadedPermissions } from './LoadedPermissions.js'; import { MemberResponsibility } from './MemberResponsibility.js'; import { PermissionRoleDetailed, PermissionRoleForResponsibility } from './PermissionRole.js'; import { Permissions } from './Permissions.js'; import { Platform } from './Platform.js'; export type OrganizationForPermissionCalculation = { id: string; meta: { tags: string[]; }; privateMeta?: { roles: PermissionRoleDetailed[]; responsibilities: MemberResponsibility[]; inheritedResponsibilityRoles: PermissionRoleForResponsibility[]; } | null; }; export declare class UserPermissions extends AutoEncoder { globalPermissions: Permissions | null; organizationPermissions: Map; get platform(): LoadedPermissions | null; forPlatform(platform: Platform): LoadedPermissions | null; forOrganization(organization: OrganizationForPermissionCalculation, platform?: Platform | null): LoadedPermissions | null; forWithoutInherit(organization: OrganizationForPermissionCalculation): LoadedPermissions | null; convertPlatformPatch(patch: AutoEncoderPatchType | null): AutoEncoderPatchType; convertPatch(patch: AutoEncoderPatchType | null, organizationId: string): AutoEncoderPatchType; clearEmptyPermissions(): void; get isEmpty(): boolean; static limitedPatch(old: UserPermissions | null, patch: UserPermissions | AutoEncoderPatchType | null, organizationId: string): UserPermissions | null; static limitedAdd(old: UserPermissions | null, add: UserPermissions, organizationId: string): UserPermissions | null; static add(old: UserPermissions | null, add: UserPermissions): UserPermissions | null; } //# sourceMappingURL=UserPermissions.d.ts.map