import { OnDestroy, OnInit, Type } from '@angular/core'; import { AbstractHeaderService } from '../../abstract-header-service'; import { FormControl } from '@angular/forms'; import { SideMenuService } from '../../../side-menu/services/side-menu.service'; import { Subscription } from 'rxjs'; import { AbstractHeaderModeComponent } from '../abstract-header-mode.component'; import * as i0 from "@angular/core"; export declare abstract class AbstractSearchModeComponent extends AbstractHeaderModeComponent implements OnInit, OnDestroy { protected _sideMenuService: SideMenuService; /** * The time that must elapse since last keypress in search input before a search request is sent */ protected SEARCH_DEBOUNCE_TIME: number; protected subHeaderColumn: Subscription; protected subClearHeader: Subscription; formControls: Array; headerService: AbstractHeaderService; constructor(_sideMenuService: SideMenuService); ngOnInit(): void; ngOnDestroy(): void; /** * Updates the underlying objects to match the new desired number of columns. * * If the new number of columns is greater than the current one, the columns will be filled with default/blank values. * * If the new number of columns is smaller than the current one, the superfluous columns will be removed. * * @param newCount the new number of columns */ protected updateHeaderCount(newCount: number): void; /** * Adds a new column to the headers search and binds it's FormControl to the service */ protected addNewColumn(): void; /** * Opens a user assign side menu component and sets the selected user as value of the form control object * that corresponds to the given column. * * If no user is selected the value of the corresponding form control si cleared. * @param column the index of the columns that should have it's form control value set to the selected user * @param component is the component that we want to open */ selectAbstractUser(column: number, component: Type): void; /** * Clears the value of the form control object in the given column * @param column the index of the column that should have it's value cleared */ protected clearInput(column: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }