import { ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';
import { IgxOverlayService } from '../../../services/overlay/overlay';
import { IDragStartEventArgs } from '../../../directives/drag-drop/drag-drop.directive';
import { IActiveNode } from '../../grid-navigation.service';
import { PlatformUtil } from '../../../core/utils';
import { EntityType, FieldType, GridType } from '../../common/grid.interface';
import { IgxQueryBuilderComponent } from '../../../query-builder/query-builder.component';
import * as i0 from "@angular/core";
/**
 * A component used for presenting advanced filtering UI for a Grid.
 * It is used internally in the Grid, but could also be hosted in a container outside of it.
 *
 * Example:
 * ```html
 * <igx-advanced-filtering-dialog
 *     [grid]="grid1">
 * </igx-advanced-filtering-dialog>
 * ```
 */
export declare class IgxAdvancedFilteringDialogComponent implements AfterViewInit, OnDestroy {
    cdr: ChangeDetectorRef;
    protected platform: PlatformUtil;
    /**
     * @hidden @internal
     */
    queryBuilder: IgxQueryBuilderComponent;
    /**
     * @hidden @internal
     */
    display: string;
    /**
     * @hidden @internal
     */
    inline: boolean;
    /**
     * @hidden @internal
     */
    lastActiveNode: IActiveNode;
    private destroy$;
    private _overlayComponentId;
    private _overlayService;
    private _grid;
    constructor(cdr: ChangeDetectorRef, platform: PlatformUtil);
    /**
     * @hidden @internal
     */
    ngAfterViewInit(): void;
    /**
     * @hidden @internal
     */
    ngOnDestroy(): void;
    /**
     * Assigns the grid instance corresponding to the advanced filtering dialog instance.
     */
    set grid(grid: GridType);
    /**
     * Returns the grid.
     */
    get grid(): GridType;
    /**
     * @hidden @internal
     */
    get filterableFields(): FieldType[];
    /**
     * @hidden @internal
     */
    dragStart(dragArgs: IDragStartEventArgs): void;
    /**
     * @hidden @internal
     */
    onDragMove(e: any): void;
    /**
     * @hidden @internal
     */
    onKeyDown(eventArgs: KeyboardEvent): void;
    /**
     * @hidden @internal
     */
    initialize(grid: GridType, overlayService: IgxOverlayService, overlayComponentId: string): void;
    /**
     * @hidden @internal
     */
    onClearButtonClick(event?: Event): void;
    /**
     * @hidden @internal
     */
    closeDialog(): void;
    /**
     * @hidden @internal
     */
    applyChanges(event?: Event): void;
    /**
     * @hidden @internal
     */
    cancelChanges(): void;
    /**
     * @hidden @internal
     */
    onApplyButtonClick(event?: Event): void;
    /**
     * @hidden @internal
     */
    generateEntity(): EntityType[];
    private assignResourceStrings;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxAdvancedFilteringDialogComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxAdvancedFilteringDialogComponent, "igx-advanced-filtering-dialog", never, { "grid": { "alias": "grid"; "required": false; }; }, {}, never, never, true, never>;
}
