import { ElementRef, EventEmitter, Injector, OnDestroy, OnInit, Renderer2, TemplateRef } from '@angular/core'; import { InputSize } from '@ironsource/fusion-ui/components/input/common/base'; import { ControlValueAccessor, FormControl } from '@angular/forms'; import { DynamicComponentConfiguration } from '@ironsource/fusion-ui/components/dynamic-components/common/entities'; import { DropdownOption } from '@ironsource/fusion-ui/components/dropdown-option/entities'; import { BehaviorSubject, Observable, Subject } from 'rxjs'; import { ApiBase } from '@ironsource/fusion-ui/components/api-base'; import { UniqueIdService } from '@ironsource/fusion-ui/services/unique-id'; import { BackendPagination, SelectedItemName } from '@ironsource/fusion-ui/components/dropdown'; import { IncludeExcludeTestIdModifiers } from '@ironsource/fusion-ui/entities'; import { TestIdsService } from '@ironsource/fusion-ui/services/test-ids'; import * as i0 from "@angular/core"; export declare abstract class DropdownDualMultiSelectBaseComponent extends ApiBase implements OnInit, ControlValueAccessor, OnDestroy { protected element: ElementRef; protected renderer: Renderer2; protected uidService: UniqueIdService; private injector; isDisabled: boolean; /** @internal */ dynamicPlaceholder: DynamicComponentConfiguration; /** @internal */ totalItems: number; /** @internal */ suppressClickButton: boolean; /** @internal */ autoComplete: boolean; title: string; /** @internal */ testId: string; /** @internal */ pendingItems: boolean; /** @internal */ set hasSelectAll(value: boolean); get hasSelectAll(): boolean; /** @internal */ testIdIncludeExcludeModifiers: typeof IncludeExcludeTestIdModifiers; /** @internal */ testIdsService: TestIdsService; set placeholder(data: string); /** @internal */ set searchByProperties(value: string[]); get searchByProperties(): string[]; /** @internal */ set opened(data: boolean); set items(data: DropdownOption[]); get items(): DropdownOption[]; /** * item name for selected placeholder * like "2 Applications selected" (singular) * or "1 Application selected" (plural) * @param value */ selectedItemName: SelectedItemName; /** @internal */ set backendPagination(value: BackendPagination); get hasBackendPagination(): boolean; get testAttribute(): string; scrollDown: EventEmitter; searchChange: EventEmitter; viewChange: EventEmitter; /** @internal */ chipContent: TemplateRef; /** @internal */ trigger: ElementRef; /** @internal */ preSelectedItems: FormControl; /** @internal */ searchControlTerm: FormControl; /** @internal */ items$: BehaviorSubject; /** @internal */ opened$: BehaviorSubject; /** @internal */ placeholder$: BehaviorSubject; /** @internal */ confirm: boolean; /** @internal */ defaultPlaceHolder: string; /** @internal */ isPositionLeft: boolean; /** @internal */ inputSize: typeof InputSize; /** @internal */ dropdownDualMultiSelectionButtonOptions: { rounded: boolean; size: InputSize; }; /** @internal */ selected$: BehaviorSubject; /** @internal */ chipDefaultContent: string; /** @internal */ uid: string; /** @internal */ backendPaginationChanged$: Subject; private selectedChange; private parentWithOverflow; private onDestroy$; private _searchByProperties; private backendPaginationState; private backendPaginationTotalResult; private backendPaginationPageNumber; private _hasSelectAll; /** @internal */ loadingLeft$: BehaviorSubject; constructor(element: ElementRef, renderer: Renderer2, uidService: UniqueIdService, injector: Injector); ngOnInit(): void; ngOnDestroy(): void; /** @internal */ onScrollDown(): void; /** @internal */ changeConfig(val: string): void; /** @internal */ valueSelected(): Observable<{ value: string; isSelected: boolean; selectedCount?: number; partialSelect?: { firstSelected?: DropdownOption; totalAmount?: number; }; }>; /** @internal */ open(): void; /** @internal */ applySelect(apply?: boolean): void; /** @internal */ closeDropdownDualSelect(): void; /** @internal */ onClickDualMultiSelectButton(): void; /** @internal */ propagateChange: (_: DropdownOption[]) => void; /** @internal */ propagateTouched: () => void; /** @internal */ writeValue(value: DropdownOption[]): void; /** @internal */ registerOnChange(fn: any): void; /** @internal */ registerOnTouched(fn: any): void; /** @internal */ setDisabledState?(isDisabled: boolean): void; /** @internal */ onOutsideClick($event: any): void; protected calcDualMultiSelectHolderPosition(): boolean; private getParentWithOverflow; private changeTerm; private initializeListeners; private checkSelectItemsChanged; private setLabel; private onBackendPaginationChanged; private sortOptions; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }