import * as i0 from '@angular/core'; import { EventEmitter, OnInit, OnDestroy, TemplateRef, SimpleChanges } from '@angular/core'; import { Subscription } from 'rxjs'; import * as i6 from '@angular/forms'; import { ControlValueAccessor, FormControl } from '@angular/forms'; import { AbstractSearchDomain } from '@obliczeniowo/elementary/classes'; import * as i8 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 i5 from '@angular/cdk/drag-drop'; import * as i7 from '@obliczeniowo/elementary/buttons'; declare class DragBarComponent { touchedDragBar: boolean; onTouched: EventEmitter; onClose: EventEmitter; click(event: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } interface DropdownSelectItem { id: string | number; text: string; templateData?: T; } declare class DropdownSelectComponent implements OnInit, OnDestroy, ControlValueAccessor { private readonly settings; protected touchedDragBar: boolean; /** * 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: i0.InputSignal>>; items: DropdownSelectItem[]; /** Label to display over the field (default undefined so it will have no label at all) */ label: i0.InputSignal; /** * Enable type text animation for label */ labelAnimation: boolean; /** Template for suffix, if exist display after select item */ templateSuffix: i0.InputSignal | undefined>; /** Template for prefix, if exist display before select item */ templatePrefix: i0.InputSignal | undefined>; /** Define if search control should shows up */ search: boolean; regExp?: { on?: boolean; }; /** */ select: string | number; /** disable choosing element, search (if added) is available and dropdown list too */ disabled: boolean; /** emit when selected item is changed by user */ changed: EventEmitter>; /** search control */ searchControl: FormControl; /** selected item */ selected: DropdownSelectItem | undefined; /** define if list is opened */ isOpen: boolean; /** define if element is touched */ touched: boolean; protected subscription: Subscription; constructor(settings: InputWrappersDefaultSettingsService); onChange: (value: string | number) => void; onTouched: () => void; registerOnValidatorChange(fn: () => void): void; toggleReg(): void; writeValue(id: number | string): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; markAsTouched(): void; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; close(touched?: boolean): void; open(): void; toggle(event: any, touched?: boolean): void; onSelect(item: DropdownSelectItem, dragBar: DragBarComponent): void; onTouchedDragBar(touched: boolean, element: any): void; setDisabledState(disabled: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class DropdownSelectModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { DragBarComponent, DropdownSelectComponent, DropdownSelectModule }; export type { DropdownSelectItem };