import { View, ViewSlot } from "aurelia-templating";
import { SideFilter } from "./SideFilter";
import { IFilterParams, IFloatingFilterParams } from "ag-grid-community";
import { BindingEngine, Disposable } from "aurelia-binding";
export declare abstract class BaseFilterBase extends SideFilter {
    protected bindingEngine: BindingEngine;
    protected disposables: Array<Disposable>;
    protected DROPDOWN_NAME: string;
    protected DROPDOWN_ICON: string;
    protected eGui: HTMLElement;
    protected firstTime: boolean;
    protected floatingFilterHeaderTitle: string;
    protected params: IFilterParams | IFloatingFilterParams;
    protected showInputField: boolean;
    protected showDropdown: boolean;
    protected showEmptyFieldsCheckbox: boolean;
    protected view: View;
    protected viewSlot: ViewSlot;
    init(params: IFilterParams | IFloatingFilterParams): void;
    setupGui(compileView?: boolean, showFilterButton?: boolean): Promise<void>;
    getGui(): HTMLElement;
    protected dispose(): void;
    setBaseView(content: string, showInputField: boolean, setupInputField: Function, showDropdown: boolean, floatingFilterHeaderTitle: string, showFilterButton?: boolean): string;
    abstract setupContentGui(): string | Promise<string>;
    setupInputField?(): string;
    abstract resetFilter(): void;
    protected applyObservers?(): void;
}
