import { B2BUser, EntitiesModel, SearchConfig } from '@spartacus/core'; import { Observable } from 'rxjs'; import { Permission } from '../../model/permission.model'; import { UserGroup } from '../../model/user-group.model'; export declare abstract class UserGroupAdapter { /** * Abstract method used to load userGroupManagement's details data. * userGroup's data can be loaded from alternative sources, as long as the structure * converts to the `OrgUnitUserGroup`. * * @param userId The `userId` for given userGroupManagement * @param userGroupId The `userGroupId` for given userGroupManagement */ abstract load(userId: string, userGroupId: string): Observable; abstract loadList(userId: string, params?: SearchConfig): Observable>; abstract loadAvailableOrderApprovalPermissions(userId: string, userGroupId: string, params?: SearchConfig): Observable>; abstract loadAvailableOrgCustomers(userId: string, userGroupId: string, params?: SearchConfig): Observable>; abstract create(userId: string, userGroup: UserGroup): Observable; abstract update(userId: string, userGroupId: string, userGroup: UserGroup): Observable; abstract delete(userId: string, userGroupId: string): Observable; abstract assignMember(userId: string, userGroupId: string, orgCustomerId: string): Observable; abstract assignOrderApprovalPermission(userId: string, userGroupId: string, orderApprovalPermissionCode: string): Observable; abstract unassignMember(userId: string, userGroupId: string, orgCustomerId: string): Observable; abstract unassignAllMembers(userId: string, userGroupId: string): Observable; abstract unassignOrderApprovalPermission(userId: string, userGroupId: string, orderApprovalPermissionCode: string): Observable; }