import { DataSourceSchemaPropertyType } from "igniteui-webcomponents-core";
import { IgcGridFilterDialogViewModelGroupingLevelCollection } from "./igc-grid-filter-dialog-view-model-grouping-level-collection";
import { IgcGridFilterDialogViewModelRowCollection } from "./igc-grid-filter-dialog-view-model-row-collection";
import { GridFilterDialogViewModel as GridFilterDialogViewModel_internal } from "./GridFilterDialogViewModel";
export declare class IgcGridFilterDialogViewModel {
    protected createImplementation(): GridFilterDialogViewModel_internal;
    protected _implementation: any;
    /**
     * @hidden
     */
    get i(): GridFilterDialogViewModel_internal;
    private onImplementationCreated;
    constructor();
    protected _provideImplementation(i: any): void;
    get propertyType(): DataSourceSchemaPropertyType;
    set propertyType(v: DataSourceSchemaPropertyType);
    private _groupingLevels;
    get groupingLevels(): IgcGridFilterDialogViewModelGroupingLevelCollection;
    set groupingLevels(v: IgcGridFilterDialogViewModelGroupingLevelCollection);
    get isTopLevelOr(): boolean;
    set isTopLevelOr(v: boolean);
    get maxGroupingLevels(): number;
    set maxGroupingLevels(v: number);
    private _rows;
    get rows(): IgcGridFilterDialogViewModelRowCollection;
    set rows(v: IgcGridFilterDialogViewModelRowCollection);
    findByName(name: string): any;
    addNewRow(): void;
    canGroupRange(startIndex: number, endIndex: number): boolean;
    ungroupRange(startIndex: number, endIndex: number): void;
    targetingRange(startIndex: number, endIndex: number): boolean;
    toggleRange(startIndex: number, endIndex: number): void;
    groupRange(startIndex: number, endIndex: number, isOrGrouping: boolean): void;
}
