import * as _angular_core from '@angular/core'; import { TemplateRef, EventEmitter, ElementRef, SimpleChanges } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { NameItem } from '@obliczeniowo/elementary/sorting'; import * as i4 from '@obliczeniowo/elementary/dropdown-select'; import { DropdownSelectItem, DropdownSelectComponent } from '@obliczeniowo/elementary/dropdown-select'; import * as i5 from '@obliczeniowo/elementary/input'; import { InputWrappersDefaultSettingsService } from '@obliczeniowo/elementary/input'; import * as i3 from '@angular/common'; import * as i6 from '@obliczeniowo/elementary/buttons'; import * as i7 from '@obliczeniowo/elementary/switcher'; import * as i8 from '@angular/cdk/overlay'; import * as i9 from '@angular/cdk/drag-drop'; import * as i10 from '@obliczeniowo/elementary/text-pipes'; import * as i11 from '@obliczeniowo/elementary/badge'; interface Filter { id: number; valueName: string; filterValue: string | number; filterType: 'less' | 'less-eq' | 'eq' | 'not-eq' | 'more-eq' | 'more' | 'like' | 'regex' | 'not-regex' | 'and' | 'or'; filters?: Filter[]; } interface FilterOption { step?: number; min?: number; max?: number; default?: string | number; } interface FilterNameItem extends NameItem { type: 'number' | 'text' | 'group'; options?: FilterOption; } declare class FiltersService { checkItemCondition(item: { [key: string]: any; }, filters: Filter): boolean; operation(filter: Filter, item: { [key: string]: any; }): boolean; filter(input: { [key: string]: any; }, filters: Filter): any; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵprov: _angular_core.ɵɵInjectableDeclaration; } declare class FiltersComponent implements ControlValueAccessor { protected filtersService: FiltersService; protected readonly globalSettings: InputWrappersDefaultSettingsService; protected touchedDragBar: boolean; protected settingsItems: DropdownSelectItem[]; protected errors: { [key: string]: { [key: string]: boolean; } | null; }; /** define if list is opened */ isOpen: boolean; /** define if element is touched */ touched: boolean; filters?: Filter; settings?: { [name: string]: Filter; }; translations: _angular_core.InputSignal<{ [en: string]: string; }>; names: _angular_core.InputSignal; input: _angular_core.InputSignal<{ [key: string]: any; }[] | undefined>; suffix: _angular_core.InputSignal | undefined>; /** * Enable type text animation for label */ labelAnimation: boolean; disabled: boolean; filtersType: _angular_core.InputSignal<"full" | "no-regex">; settingsChanged: EventEmitter<{ [name: string]: Filter; }>; changed: EventEmitter; output: EventEmitter<{ [key: string]: any; }[]>; selected?: DropdownSelectComponent; settingsName?: ElementRef; constructor(filtersService: FiltersService, globalSettings: InputWrappersDefaultSettingsService); ngOnChanges(changes: SimpleChanges): void; toggle(event: any, touched?: boolean): void; close(touched?: boolean): void; open(): void; onChange: (value: Filter) => void; onTouched: () => void; onTouchedDragBar(touched: boolean, element: any): void; checkSettingSelection(): void; writeValue(value: Filter): void; registerOnChange(onChange: any): void; registerOnTouched(onTouched: any): void; setDisabledState(disabled: boolean): void; saveSettings(input: HTMLInputElement): void; check(): void; onChanged(): void; protected setSettings(item: DropdownSelectItem): void; protected removeSettings(name?: string | number): void; protected filterInput(): void; protected updateSettingsItems(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class FilterComponent { filter: _angular_core.InputSignal>; names: _angular_core.InputSignal; haveParent: _angular_core.InputSignal; mode: _angular_core.InputSignal<"adding" | "removing">; translations: _angular_core.InputSignal<{ [en: string]: string; }>; suffix: _angular_core.InputSignal | undefined>; labelAnimation: _angular_core.InputSignal; filtersType: _angular_core.InputSignal<"full" | "no-regex">; /** filters changed */ changed: EventEmitter; /** filter added */ add: EventEmitter; /** filter remove */ remove: EventEmitter; expanded: boolean; protected nameItems: DropdownSelectItem[]; protected filtersItems: DropdownSelectItem[]; protected group: string[]; protected numeric: string[]; protected text: _angular_core.Signal; ngOnChanges(changes: SimpleChanges): void; setName(name: DropdownSelectItem): void; setFilter(filter: DropdownSelectItem): void; setValue: (value: string | number) => void; action(): void; onRemove(filter: Filter): void; onAdd(filter: Filter): void; addGroup(): void; setGroupType(orAnd: boolean): void; removeGroup(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class FiltersModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { FiltersComponent, FiltersModule, FiltersService }; export type { Filter, FilterNameItem, FilterOption };