import { ChangeDetectorRef, ElementRef, EventEmitter, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef } from '@angular/core'; import { ControlContainer } from '@angular/forms'; import { NgtControlValueAccessor } from '../../../../base/ngt-control-value-accessor'; import { NgtStylizableDirective } from '../../../../directives/ngt-stylizable/ngt-stylizable.directive'; import { NgtHttpService } from '../../../../services/http/ngt-http.service'; import { NgtTranslateService } from '../../../../services/http/ngt-translate.service'; import { NgtStylizableService } from '../../../../services/ngt-stylizable/ngt-stylizable.service'; import { NgtFormComponent } from '../ngt-form/ngt-form.component'; import { NgtInputComponent } from '../ngt-input/ngt-input.component'; import { NgtSectionComponent } from '../../../ngt-section/ngt-section.component'; import { NgtModalComponent } from '../../../ngt-modal/ngt-modal.component'; import * as i0 from "@angular/core"; export declare class NgtMultiSelectComponent extends NgtControlValueAccessor implements OnInit, OnDestroy, OnChanges { private ngtHttpService; private changeDetector; private ngtForm; private ngtSection; private ngtModal; private ngtStylizableDirective; protected injector: Injector; formContainer: ControlContainer; ngtTranslateService: NgtTranslateService; containerRef: ElementRef; inputSearch: NgtInputComponent; elementCheckboxTemplate: TemplateRef; /** Visual */ customOptionTemplate: TemplateRef; customHeaderTemplate: TemplateRef; label: string; helpTitle: string; helpText: string; helpTextColor: string; helperReverseYPosition: boolean; helperAutoXReverse: boolean; shining: boolean; loading: boolean; /** Behavior */ bindLabel: string | Function; bindSearch: string; itemsPerPage: number; name: string; remoteResource: any; items: Array; searchable: boolean; allowOriginalItemsUnselect: boolean; allowSelectAll: boolean; allowDisplayOnlySelected: boolean; autoSelectUniqueOption: boolean; /** Validation */ isRequired: boolean; isDisabled: boolean; onDataChange: EventEmitter>; searchTerm: string; searchInputName: string; selectAllCheckboxName: string; displayOnlySelectedName: string; selectedElements: Array; itemsTotal: number; selectAllCheckbox: boolean; displayOnlySelected: boolean; nativeName: string; nativeValue: any; ngtStyle: NgtStylizableService; selectableElements: Array; selectableElementsOnSearch: Array; componentReady: boolean; private pagination; private subscriptions; private inSearch; private searchTimeout; private previousSearchTerm; private becameVisible; private selectableResourcesCount; private originalItems; constructor(ngtHttpService: NgtHttpService, changeDetector: ChangeDetectorRef, ngtForm: NgtFormComponent, ngtSection: NgtSectionComponent, ngtModal: NgtModalComponent, ngtStylizableDirective: NgtStylizableDirective, injector: Injector, formContainer: ControlContainer, ngtTranslateService: NgtTranslateService); onScroll(event: any): void; ngOnInit(): void; ngDoCheck(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; setFocus(): void; refresh(itemsPerPage?: number, searchTerm?: string): Promise; reset(): void; selectAll(): void; selectElements(elements: Array): void; toggleItem(selectableElement: NgtSelectContainerSelectableElementInterface, event?: Event): void; onNativeChange(selectableElement: NgtSelectContainerSelectableElementInterface): void; change(selectedElements: Array): void; search(term: string): void; getSelectableElements(): Array; getSelectableElementValue(selectableItem: any): string; hasValidationErrors(): boolean; canSelectItem(item: NgtSelectContainerSelectableElementInterface): boolean; disabled(): boolean; private handleElementSelection; private loadData; private bindSelectableElements; private bindSelectedElements; private initComponentValidation; private updateValidations; private isRequiredValidator; private findSelectedElement; private compareWith; private hasChangesBetweenBindings; private isSelectedElement; private canAutoSelectUniqueOption; private isHidden; private isColoquentResources; private isDisabledByParent; private destroySubscriptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export interface NgtSelectContainerSelectableElementInterface { uuid: string; isSelected: boolean; value: any; }