import { ChangeDetectorRef, ElementRef, EventEmitter } from '@angular/core';
import { DisplayDensity } from '../../../core/displayDensity';
import { PlatformUtil } from '../../../core/utils';
import { IgxOverlayService } from '../../../services/overlay/overlay';
import { ExpressionUI, FilterListItem } from './common';
import * as i0 from "@angular/core";
export declare abstract class BaseFilteringComponent {
    protected cdr: ChangeDetectorRef;
    element: ElementRef<HTMLElement>;
    protected platform: PlatformUtil;
    abstract column: any;
    abstract get grid(): any;
    abstract get displayDensity(): DisplayDensity;
    abstract overlayComponentId: string;
    abstract mainDropdown: ElementRef<HTMLElement>;
    abstract expressionsList: ExpressionUI[];
    abstract listData: FilterListItem[];
    abstract loadingStart: EventEmitter<undefined>;
    abstract loadingEnd: EventEmitter<undefined>;
    abstract initialized: EventEmitter<undefined>;
    abstract columnChange: EventEmitter<any>;
    abstract sortingChanged: EventEmitter<undefined>;
    abstract listDataLoaded: EventEmitter<undefined>;
    constructor(cdr: ChangeDetectorRef, element: ElementRef<HTMLElement>, platform: PlatformUtil);
    abstract initialize(column: any, overlayService: IgxOverlayService): void;
    abstract detectChanges(): void;
    abstract hide(): void;
    abstract closeDropdown(): void;
    abstract onSelect(): void;
    abstract onPin(): void;
    abstract onHideToggle(): void;
    abstract cancel(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseFilteringComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseFilteringComponent, never, never, {}, {}, never>;
}
