import { EventEmitter, OnChanges, OnDestroy, OnInit, Renderer2, ViewContainerRef, ComponentFactoryResolver, Injector } from '@angular/core'; import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms'; import { PepValidatorService, IPepOption, PepUtilitiesService } from '@pepperi-addons/ngx-lib'; import { IPepSmartFilterOperator, IPepSmartFilterOperatorUnit } from './operator'; import { IPepSmartFilterData, IPepSmartFilterDataValue } from './filter'; import { PepSmartFilterBaseField } from './field'; import { TranslateService } from '@ngx-translate/core'; import * as i0 from "@angular/core"; export declare abstract class BaseFilterComponent implements OnInit, OnChanges, OnDestroy { private viewContainerRef; private injector; private resolver; private builder; protected translate: TranslateService; protected validator: PepValidatorService; protected utilitiesService: PepUtilitiesService; protected renderer: Renderer2; private readonly _destroyed; private actionsContainerRef; private _fieldIdWithNoDots; private _field; set field(value: PepSmartFilterBaseField); get field(): PepSmartFilterBaseField; variableFieldOptions: Array; set variableField(list: any[]); private _filter; set filter(value: IPepSmartFilterData); get filter(): IPepSmartFilterData; protected _parentForm: FormGroup; set parentForm(form: FormGroup); emitOnChange: boolean; inline: boolean; showActionButtons: boolean; renderTitle: boolean; showAdditionalOperators: boolean; filterClear: EventEmitter; filterChange: EventEmitter; private _operator; set operator(operator: IPepSmartFilterOperator); get operator(): IPepSmartFilterOperator; private _operatorUnit; set operatorUnit(operatorUnit: IPepSmartFilterOperatorUnit); get operatorUnit(): IPepSmartFilterOperatorUnit; get firstControlKey(): string; get firstControl(): AbstractControl; get secondControlKey(): string; get secondControl(): AbstractControl; protected operators: IPepSmartFilterOperator[]; protected operatorUnits: IPepSmartFilterOperatorUnit[]; protected readonly OPERATORS_TRANSLATION_PREFIX = "SMART_FILTERS.OPERATORS"; protected readonly OPERATOR_UNITS_TRANSLATION_PREFIX = "SMART_FILTERS.OPERATOR_UNITS"; form: FormGroup; constructor(viewContainerRef: ViewContainerRef, injector: Injector, resolver: ComponentFactoryResolver, builder: FormBuilder, translate: TranslateService, validator: PepValidatorService, utilitiesService: PepUtilitiesService, renderer: Renderer2); private createActionsComponent; private setupForm; private setupOperators; private setupFilter; protected updateParentForm(): void; protected getDestroyer(): import("rxjs").MonoTypeOperatorFunction; private updateValidity; protected loadOperatorsOptions(): void; protected setFieldsStateAndValidators(): void; protected getDefaultOperatorUnit(): IPepSmartFilterOperatorUnit; protected initFilter(): void; abstract getDefaultOperator(): IPepSmartFilterOperator; abstract getFilterValue(): IPepSmartFilterDataValue; clearFilter(emitEvent?: boolean): void; applyFilter(): void; ngOnInit(): void; ngOnChanges(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }