import { EventEmitter, OnDestroy, OnInit } from '@angular/core'; import { UntypedFormControl, UntypedFormGroup } from '@angular/forms'; import { ActivatedRoute } from '@angular/router'; import { ListItem } from '../../../models'; import { BaseDropdown } from '../../../services'; import * as i0 from "@angular/core"; export declare enum FieldType { DROPDOWN = 0, TEXT = 1, DATE = 2, NUMBER = 3, CURRENCY = 4, DYNAMIC_DROPDOWN = 5, SELECT_BUTTON = 6, DATE_RANGE = 7, MULTISELECT = 8 } export type FilterField = { name: string; type: FieldType; minLength?: number; maxLength?: number; min?: number; max?: number; required?: boolean; readonly?: boolean; disabled?: boolean; label?: string; mask?: string; options?: ListItem[]; filterTypes?: ListItem[]; service?: BaseDropdown; defaultValue?: any; placeholder?: string; hidden?: boolean; dependencies?: string[]; size?: 'small' | 'medium' | 'large' | 'largest' | 'full'; minLengthToService?: number; initiateValue?: boolean; tooltip?: string; controler?: UntypedFormControl; dateMin?: Date; dateMax?: Date; class?: string; limitScrollPage?: number; }; export declare class FiltersComponent implements OnInit, OnDestroy { private activatedRoute; set fields(_fields: FilterField[]); onSearch: EventEmitter; formBuilded: EventEmitter; get fields(): FilterField[]; fieldTypes: typeof FieldType; formGroup: UntypedFormGroup; private _fields; private fieldsSubscription; get hideFilters(): boolean; constructor(activatedRoute: ActivatedRoute); ngOnInit(): void; ngOnDestroy(): void; search(): void; isTextFieldType(field: FilterField): boolean; getFieldDependencies(field: FilterField): {} | undefined; getGridClass(field: FilterField): "md:col-1" | "md:col-3" | "md:col-4" | "md:col-8" | "md:col-12"; private patchFormFromQueryParams; private buildValidators; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }