import { EcmUserModel } from '../../common/models/ecm-user.model'; import { Group, GroupMemberPaging, GroupsApi, Node, PermissionElement } from '@alfresco/js-api'; import { Observable } from 'rxjs'; import { PermissionDisplayModel } from '../models/permission.model'; import { RoleModel } from '../models/role.model'; import * as i0 from "@angular/core"; export declare class NodePermissionService { private readonly apiService; private readonly searchApiService; private readonly nodeService; private readonly translation; private _groupsApi; get groupsApi(): GroupsApi; /** * Gets a list of roles for the current node. * * @param node The target node * @returns Array of strings representing the roles */ getNodeRoles(node: Node): Observable; /** * Get permissions for a given node * * @param node Node to check permissions for * @returns list of permission models */ getNodePermissions(node: Node): PermissionDisplayModel[]; /** * Updates the permission role for a node. * * @param node Target node * @param updatedPermissionRole Permission role to update or add * @returns Node with updated permission */ updatePermissionRole(node: Node, updatedPermissionRole: PermissionElement): Observable; /** * Update permissions for a node. * * @param nodeId ID of the target node * @param permissionList New permission settings * @returns Node with updated permissions */ updateNodePermissions(nodeId: string, permissionList: PermissionElement[]): Observable; /** * Updates the locally set permissions for a node. * * @param node ID of the target node * @param permissions Permission settings * @returns Node with updated permissions */ updateLocallySetPermissions(node: Node, permissions: PermissionElement[]): Observable; private getDuplicatedPermissions; private isEqualPermission; /** * Removes a permission setting from a node. * * @param node ID of the target node * @param permissionToRemove Permission setting to remove * @returns Node with modified permissions */ removePermission(node: Node, permissionToRemove: PermissionElement): Observable; private getGroupMembersBySiteName; /** * Gets all members related to a group name. * * @param groupName Name of group to look for members * @param opts Extra options supported by JS-API * @returns List of members */ getGroupMemberByGroupName(groupName: string, opts?: any): Observable; private formattedRoleName; private buildRetrieveSiteQueryBody; getLocalPermissions(node: Node): PermissionDisplayModel[]; getInheritedPermission(node: Node): PermissionDisplayModel[]; /** * Removes permissions setting from a node. * * @param node target node with permission * @param permissions Permissions to remove * @returns Node with modified permissions */ removePermissions(node: Node, permissions: PermissionElement[]): Observable; /** * updates permissions setting from a node. * * @param node target node with permission * @param permissions Permissions to update * @returns Node with modified permissions */ updatePermissions(node: Node, permissions: PermissionElement[]): Observable; /** * Gets all node detail for nodeId along with settable permissions. * * @param nodeId Id of the node * @returns node and it's associated roles { node: Node; roles: RoleModel[] } */ getNodeWithRoles(nodeId: string): Observable<{ node: Node; roles: RoleModel[]; }>; transformNodeToUserPerson(node: Node): { person: EcmUserModel; group: Group; }; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }