import { Base, Type, INotifyPropertyChanged, PropertyChangedEventArgs } from "igniteui-webcomponents-core";
import { DomWrapper, DomRenderer } from "igniteui-webcomponents-core";
import { Path } from "igniteui-webcomponents-core";
import { AnimationKeyFrameEffect } from "igniteui-webcomponents-core";
import { AnimationKeyFrameEffectTiming } from "igniteui-webcomponents-core";
import { Column } from "./Column";
import { CellContentHorizontalAlignment } from "./CellContentHorizontalAlignment";
import { Brush } from "igniteui-webcomponents-core";
import { GridFilterDialogOpeningEventArgs } from "./GridFilterDialogOpeningEventArgs";
import { GridFilterDialogFilterChangeEventArgs } from "./GridFilterDialogFilterChangeEventArgs";
import { GridFilterDialogViewModelRow } from "./GridFilterDialogViewModelRow";
import { GridFilterDialogViewModelGroupingLevel } from "./GridFilterDialogViewModelGroupingLevel";
import { GridFilterDialogViewModelGrouping } from "./GridFilterDialogViewModelGrouping";
import { ColumnComparisonFilterCondition } from "./ColumnComparisonFilterCondition";
import { ColumnComparisonConditionOperatorType } from "./ColumnComparisonConditionOperatorType";
import { FilterDialogRenderCompletedEventArgs } from "./FilterDialogRenderCompletedEventArgs";
import { DataSourceSchemaPropertyType } from "igniteui-webcomponents-core";
import { GridFilterDialogViewModelGroupingLevelCollection } from "./GridFilterDialogViewModelGroupingLevelCollection";
import { ObservableCollection$1 } from "igniteui-webcomponents-core";
/**
 * @hidden
 */
export declare class GridFilterDialogView extends Base {
    static $t: Type;
    constructor(a: GridFilterDialog);
    b: GridFilterDialog;
    q: any;
    private ad;
    private j;
    private i;
    aa(): void;
    private v;
    u(): void;
    a(a: AnimationKeyFrameEffectTiming): AnimationKeyFrameEffect;
    o: DomWrapper;
    private d;
    private m;
    private n;
    private p;
    private g;
    private f;
    private h;
    x(a: any, b: any, c: any): void;
    private z;
    private r;
    private s;
    ab(): void;
    private l;
    private k;
    y(a: number, b: number): void;
    w(): void;
    e: boolean;
    ac(a: Column): void;
    private c;
    t(): void;
}
/**
 * @hidden
 */
export declare class GridFilterDialogPanel extends Base {
    static $t: Type;
    private b;
    private j;
    private d;
    private i;
    a: GridFilterDialog;
    h: DomWrapper;
    f: DomRenderer;
    e: DomRenderer;
    g: DomWrapper;
    constructor(a: GridFilterDialog, b: DomWrapper, c: DomRenderer, d: DomRenderer);
    private n;
    private onDocumentKeyDown;
    private onDocumentMouseClick;
    private onFilterApplyClick;
    private onFilterCancelClick;
    s(a: Column): void;
    m(): void;
    k(): void;
    l(): void;
    private static c;
}
/**
 * @hidden
 */
export declare class GridFilterDialog extends Base implements INotifyPropertyChanged {
    static $t: Type;
    private am;
    an: any;
    private w;
    x: boolean;
    propertyChanged: (sender: any, e: PropertyChangedEventArgs) => void;
    private ab;
    ae: number;
    private aa;
    ad: number;
    private j;
    l: CellContentHorizontalAlignment;
    private i;
    k: CellContentHorizontalAlignment;
    private ag;
    ai: number;
    private ah;
    aj: number;
    private bl;
    bp: Brush;
    private ac;
    af: number;
    bo: Brush;
    bn: Brush;
    bm: Brush;
    private m;
    private u;
    private v;
    readonly y: boolean;
    protected ba(a: string, b: any, c: any): void;
    protected be(a: string, b: any, c: any): void;
    constructor();
    bf(a: any, b: any, c: any): void;
    bd(): void;
    private a3;
    private bj;
    a9(): void;
    private a4;
    private bi;
    private bh;
    private f;
    private bg;
    private e;
    private z;
    private g;
    private al;
    private h;
    private d;
    private c;
    private bc;
    private s;
    private a1;
    private t;
    static ak(a: ColumnComparisonConditionOperatorType): number;
    static ao(a: number, b: ColumnComparisonConditionOperatorType, c: ColumnComparisonFilterCondition): any;
    static ap(a: number, b: ColumnComparisonConditionOperatorType, c: ColumnComparisonFilterCondition): any;
    static b(a: ColumnComparisonConditionOperatorType[]): number[];
    static a(a: ColumnComparisonConditionOperatorType[]): string[];
    static au(a: ColumnComparisonConditionOperatorType): string;
    dialogOpening: (sender: any, args: GridFilterDialogOpeningEventArgs) => void;
    filterChanging: (sender: any, args: GridFilterDialogFilterChangeEventArgs) => void;
    filterChanged: (sender: any, args: GridFilterDialogFilterChangeEventArgs) => void;
    a8(a: number, b: number): void;
    a7(): void;
    a6(a: number, b: number, c: Path): void;
    bk(): void;
    a5(): void;
    a2(): void;
    protected r: GridFilterDialogView;
    aq(): any;
    renderCompleted: (sender: any, args: FilterDialogRenderCompletedEventArgs) => void;
    bb(): void;
}
/**
 * @hidden
 */
export declare class GridFilterDialogViewModel extends Base {
    static $t: Type;
    a: DataSourceSchemaPropertyType;
    e: GridFilterDialogViewModelGroupingLevelCollection;
    k: boolean;
    n(): void;
    constructor();
    private u;
    private t;
    private r;
    private w;
    private s;
    private q;
    private v;
    private p;
    b(a: number): GridFilterDialogViewModelGrouping;
    c(a: number): GridFilterDialogViewModelGroupingLevel;
    m: number;
    h(a: number, b: number): boolean;
    private i;
    private j;
    private d;
    aa(a: number, b: number): void;
    private x;
    private y;
    l(a: number, b: number): boolean;
    z(a: number, b: number): void;
    o(a: number, b: number, c: boolean): void;
    f: GridFilterDialogViewModelRowCollection;
    onModified: (vm: GridFilterDialogViewModel) => void;
}
/**
 * @hidden
 */
export declare class GridFilterDialogViewModelRowCollection extends ObservableCollection$1<GridFilterDialogViewModelRow> {
    static $t: Type;
    constructor();
    private ah;
    ae: GridFilterDialogViewModel;
    private ai;
    private af;
    ag: (arg1: GridFilterDialogViewModel) => void;
}
