import * as _angular_core from '@angular/core'; import { TemplateRef, EventEmitter, OnInit, ElementRef, SimpleChanges } from '@angular/core'; import * as i5 from '@obliczeniowo/elementary/dropdown-select'; import { DragBarComponent } from '@obliczeniowo/elementary/dropdown-select'; import * as i10 from '@angular/forms'; import { ControlValueAccessor, Validator, ValidationErrors, FormControl, AbstractControl, ValidatorFn } from '@angular/forms'; import { AbstractSearchDomain, ClickDataEvent } from '@obliczeniowo/elementary/classes'; import { Subscription } from 'rxjs'; import * as i9 from '@obliczeniowo/elementary/input'; import { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input'; import * as i3 from '@angular/common'; import * as i4 from '@angular/cdk/overlay'; import * as i6 from '@obliczeniowo/elementary/checkbox'; import * as i7 from '@angular/cdk/drag-drop'; import * as i8 from '@obliczeniowo/elementary/buttons'; import * as i11 from '@obliczeniowo/elementary/numeric-pipes'; import * as i12 from '@obliczeniowo/elementary/array-pipes'; import * as i13 from '@obliczeniowo/elementary/async-pipes'; import * as i14 from '@obliczeniowo/elementary/animations'; interface DropdownMultiSelectItem { id: string | number; text: string; selected?: boolean; templateData?: T; } declare class SingleSelectItemComponent { item: _angular_core.InputSignal>; templateSuffix: _angular_core.InputSignal | undefined>; remove: EventEmitter; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class DropdownMultiSelectComponent implements OnInit, ControlValueAccessor, Validator { private readonly elementRef; private readonly settings; touchedDragBar: boolean; value: (number | string)[]; label: _angular_core.InputSignal; items: DropdownMultiSelectItem[]; placeholder: _angular_core.InputSignal; templateSuffix: _angular_core.InputSignal | undefined>; /** Define if search control should shows up */ search: boolean; /** * Enable type text animation for label */ labelAnimation: boolean; disabled: boolean; wrap: _angular_core.InputSignal; regExp: _angular_core.InputSignal<{ on?: boolean; } | undefined>; /** * Control the select items data flow. * * If you want to override this one for getting data from BE source for example just create * own class that extends AbstractSearchModel and do what you need to do to filter out items * list */ model: AbstractSearchDomain>; get error(): ValidationErrors | null; changed: EventEmitter[]>; itemClicked: EventEmitter>>; regChanged: EventEmitter; /** search control */ searchControl: FormControl; protected abstractControl: AbstractControl | undefined; protected subscription: Subscription; selected: DropdownMultiSelectItem[]; isOpen: boolean; onChange: (value: (string | number)[]) => void; onTouched: () => void; constructor(elementRef: ElementRef, settings: InputWrappersDefaultSettingsService); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; getWidth(): number; validate(control: AbstractControl): ValidationErrors | null; registerOnValidatorChange(fn: () => void): void; toggleReg(): void; writeValue(ids: (number | string)[] | { value: (number | string)[]; }): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; ngOnInit(): void; close(touched?: boolean): void; open(): void; toggle(event: any, touched?: boolean): void; onSelect(item: DropdownMultiSelectItem, dragBar: DragBarComponent): void; onTouchedDragBar(touched: boolean, element: any): void; onItemClicked(event: MouseEvent, item: DropdownMultiSelectItem): void; setDisabledState(disabled: boolean): void; remove(item: DropdownMultiSelectItem): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class DropdownMultiSelectModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } declare class MultiSelectValidators { static min(min: number): ValidatorFn; static max(max: number): ValidatorFn; } export { DropdownMultiSelectComponent, DropdownMultiSelectModule, MultiSelectValidators, SingleSelectItemComponent }; export type { DropdownMultiSelectItem };