export var OrganizationMemberRole;
(function (OrganizationMemberRole) {
    OrganizationMemberRole["MEMBER"] = "member";
    OrganizationMemberRole["VIEWER"] = "viewer";
    OrganizationMemberRole["INTERACTIVE_VIEWER"] = "interactive_viewer";
    OrganizationMemberRole["EDITOR"] = "editor";
    OrganizationMemberRole["DEVELOPER"] = "developer";
    OrganizationMemberRole["ADMIN"] = "admin";
})(OrganizationMemberRole || (OrganizationMemberRole = {}));
export const OrganizationMemberRoleLabels = {
    [OrganizationMemberRole.MEMBER]: 'Member',
    [OrganizationMemberRole.VIEWER]: 'Viewer',
    [OrganizationMemberRole.INTERACTIVE_VIEWER]: 'Interactive Viewer',
    [OrganizationMemberRole.EDITOR]: 'Editor',
    [OrganizationMemberRole.DEVELOPER]: 'Developer',
    [OrganizationMemberRole.ADMIN]: 'Admin',
};
export const isOrganizationMemberRole = (x) => Object.values(OrganizationMemberRole).includes(x);
export const isOrganizationMemberProfileWithGroups = (obj) => 'groups' in obj;
export const getRoleDescription = (role) => {
    switch (role) {
        case OrganizationMemberRole.MEMBER:
            return 'No access to projects by default. Project level permissions to be set separately';
        case OrganizationMemberRole.VIEWER:
            return 'Has view only access to all projects';
        case OrganizationMemberRole.INTERACTIVE_VIEWER:
            return 'Has view access to all projects and can create new projects but cannot edit existing projects';
        case OrganizationMemberRole.EDITOR:
            return 'Can create, edit and delete projects';
        case OrganizationMemberRole.DEVELOPER:
            return 'Can create, edit and delete projects';
        case OrganizationMemberRole.ADMIN:
            return 'Full access to entire project, manage all projects and user access';
        default:
            return null;
    }
};
//# sourceMappingURL=organizationMemberProfile.js.map