import { ComponentFactory, ComponentRef, EventEmitter, Injector, OnDestroy, OnInit, ViewContainerRef } from '@angular/core';
import { NgxFiltersService } from "../ngx-filters.service";
import { ConditionOperator, Filter, FilterTypes, LogicalOperator } from "../ngx-types";
export declare abstract class NgxFilterBase implements OnInit, OnDestroy {
    containerRefDev1: ViewContainerRef;
    containerRefDev2: ViewContainerRef;
    filterService: NgxFiltersService;
    private ref;
    abstract changeValue: EventEmitter<any>;
    private _injector;
    protected constructor(injector: Injector);
    componentRef1: ComponentRef<any>;
    componentRef2: ComponentRef<any>;
    abstract Label1: string;
    abstract Label2: string;
    conditionSource: {
        key: ConditionOperator;
        label: string;
        types: FilterTypes[];
    }[];
    abstract filter: Filter;
    private _isFirst;
    get filterTypes(): typeof FilterTypes;
    get conditionOperators(): typeof ConditionOperator;
    get logicalOperators(): typeof LogicalOperator;
    ngOnInit(): void;
    generateComponents(factory: ComponentFactory<any>, options: any, conditions?: any): void;
    refreshLabels(): void;
    ngOnDestroy(): void;
}
