import { AutoEncoder } from '@simonbackx/simple-encoding'; import { AccessRight } from './AccessRight.js'; import { PermissionLevel } from './PermissionLevel.js'; import { PermissionsResourceType } from './PermissionsResourceType.js'; import { ResourcePermissions } from './ResourcePermissions.js'; export declare class PermissionRole extends AutoEncoder { id: string; name: string; } export declare class PermissionRoleDetailed extends PermissionRole { /** * Generic access to all resources */ level: PermissionLevel; accessRights: AccessRight[]; resources: Map>; /** * @deprecated * Required for migration */ legacyManagePayments: boolean; /** * @deprecated * Required for migration */ legacyFinanceDirector: boolean; /** * @deprecated * Required for migration */ legacyCreateWebshops: boolean; compress(): void; getDiffValue(): string; getDescription(): string; hasAccess(level: PermissionLevel): boolean; hasAccessRight(right: AccessRight): boolean; getResourcePermissions(type: PermissionsResourceType, id: string): ResourcePermissions | null; getMergedResourcePermissions(type: PermissionsResourceType, id: string): ResourcePermissions | null; hasResourceAccess(type: PermissionsResourceType, id: string, level: PermissionLevel): boolean; hasResourceAccessRight(type: PermissionsResourceType, id: string, right: AccessRight): boolean; hasAccessRightForSomeResourceOfType(type: PermissionsResourceType, right: AccessRight): boolean; add(other: PermissionRoleDetailed): void; get isEmpty(): boolean; removeAccessRights(rights: AccessRight[]): void; } export declare class PermissionRoleForResponsibility extends PermissionRoleDetailed { responsibilityId: string; responsibilityGroupId: string | null; } //# sourceMappingURL=PermissionRole.d.ts.map