import type { MapCultureTo } from "../../base-types"; import { IMemberCondition } from "./member-condition"; import { IMemberDefinition } from "./member-definition"; /** * Member groups combine multiple members for the purpose of logical grouping, representation (API, UI) and/or access level. */ export interface IMemberGroup { /** * Language agnostic case insensitive name of the group. * Must be unique per group and {@link IEntityDefinition}. */ name: string; /** * Language agnostic case insensitive name of the content group. * Used for grouping member groups for visual representation. */ contentGroup: string; /** * Indicates if this member group is owned by the system and cannot be modified or deleted by the regular users. */ isSystemOwned: boolean; /** * Indicates if this member group has conditions. */ readonly isConditional: boolean; /** * The conditions that are evaluated to decide if this group should be exposed in the external API/UI. * These conditions have no impact on data validity. */ conditions: Array; /** * Indicates if the read-write access to this member is restricted. */ isSecured: boolean; /** * Collection the member definitions in this group. */ memberDefinitions: Array; /** * Collection of the culture specific member labels. */ labels: MapCultureTo; } export declare class MemberGroup implements IMemberGroup { name: string; contentGroup: string; isSystemOwned: boolean; get isConditional(): boolean; conditions: Array; isSecured: boolean; memberDefinitions: Array; labels: MapCultureTo; constructor(init?: Partial); }