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 B2BUserAdapter { /** * Abstract method used to load orgUnitCustomerManagement's details data. * orgUnitCustomer's data can be loaded from alternative sources, as long as the structure * converts to the `B2BUser`. * * @param userId The `userId` for given orgUnitCustomerManagement * @param orgCustomerId The `orgUnitCustomerId` for given orgUnitCustomerManagement */ abstract load(userId: string, orgCustomerId: string): Observable; abstract loadList(userId: string, params?: SearchConfig): Observable>; abstract create(userId: string, orgCustomer: B2BUser): Observable; abstract update(userId: string, orgCustomerId: string, orgCustomer: B2BUser): Observable; abstract loadApprovers(userId: string, orgCustomerId: string, params?: SearchConfig): Observable>; abstract assignApprover(userId: string, orgCustomerId: string, approverId: string): Observable; abstract unassignApprover(userId: string, orgCustomerId: string, approverId: string): Observable; abstract loadPermissions(userId: string, orgCustomerId: string, params?: SearchConfig): Observable>; abstract assignPermission(userId: string, orgCustomerId: string, permissionId: string): Observable; abstract unassignPermission(userId: string, orgCustomerId: string, permissionId: string): Observable; abstract loadUserGroups(userId: string, orgCustomerId: string, params?: SearchConfig): Observable>; abstract assignUserGroup(userId: string, orgCustomerId: string, userGroupId: string): Observable; abstract unassignUserGroup(userId: string, orgCustomerId: string, userGroupId: string): Observable; }