import { EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { Observable, ReplaySubject } from 'rxjs'; import { UserListItem, UserListService } from '../../../../user/services/user-list.service'; import { UserValue } from '../../../../data-fields/user-field/models/user-value'; import { AbstractBaseUserAssignListComponent } from "../base-user-assign-list/abstract-base-user-assign-list.component"; import * as i0 from "@angular/core"; /** * Is responsible for displaying, filtering, loading and selecting users. */ export declare abstract class AbstractUserAssignListComponent extends AbstractBaseUserAssignListComponent implements OnInit, OnDestroy { /** * The user that is initially selected, or `undefined` if none is */ initiallySelectedUser: UserValue | undefined; /** * Emit selected user to parent component. */ userSelected: EventEmitter; /** * UserValue array stream, that represents users loading from backend. */ users$: Observable>; /** * Stream of selected user with his value that we can subscribe to like the observable. */ protected _selectedUser$: ReplaySubject; /** * Inject and initialize attributes. * @param _userListService Service to get paginated loading users from backend. */ constructor(_userListService: UserListService); /** * On initialize component set value to stream selectedUser with preselected user. * Observes search user control stream on value change. */ ngOnInit(): void; ngOnDestroy(): void; /** * ID of the currently selected user */ get selectedUser$(): Observable; /** * Sets current user to the selected user. * * Emit selected user to parent component. * * Marks selected user in users list. * @param selectedUser [UserValue]{@link UserValue} */ select(selectedUser: UserListItem): void; /** * Marks user as selected in users list. * @param selectedUser Current select user value. */ protected _markSelectedUser(selectedUser: UserListItem): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }