import { AfterViewInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { IgxColumnComponent } from '../../columns/column.component';
import { ExpressionUI } from '../grid-filtering.service';
import { IgxButtonGroupComponent } from '../../../buttonGroup/buttonGroup.component';
import { IFilteringOperation } from '../../../data-operations/filtering-condition';
import { OverlaySettings } from '../../../services/index';
import { IBaseEventArgs } from '../../../core/utils';
import { FilteringLogic } from '../../../data-operations/filtering-expression.interface';
import { DisplayDensity } from '../../../core/density';
import { IgxSelectComponent } from '../../../select/select.component';
import { IgxOverlayOutletDirective } from '../../../directives/toggle/toggle.directive';
import { IgxInputDirective } from '../../../input-group';
/**
 * @hidden
 */
export interface ILogicOperatorChangedArgs extends IBaseEventArgs {
    target: ExpressionUI;
    newValue: FilteringLogic;
}
/**
 * @hidden
 */
export declare class IgxExcelStyleDefaultExpressionComponent implements AfterViewInit {
    cdr: ChangeDetectorRef;
    dropDownOverlaySettings: OverlaySettings;
    column: IgxColumnComponent;
    expressionUI: ExpressionUI;
    expressionsList: Array<ExpressionUI>;
    grid: any;
    displayDensity: DisplayDensity;
    onExpressionRemoved: EventEmitter<ExpressionUI>;
    onLogicOperatorChanged: EventEmitter<ILogicOperatorChangedArgs>;
    overlayOutlet: IgxOverlayOutletDirective;
    protected dropdownConditions: IgxSelectComponent;
    protected logicOperatorButtonGroup: IgxButtonGroupComponent;
    protected inputValuesDirective: IgxInputDirective;
    get isLast(): boolean;
    get isSingle(): boolean;
    get conditionsPlaceholder(): string;
    get inputValuePlaceholder(): string;
    get type(): "text" | "number";
    constructor(cdr: ChangeDetectorRef);
    get conditions(): string[];
    protected get inputValuesElement(): IgxInputDirective;
    ngAfterViewInit(): void;
    focus(): void;
    translateCondition(value: string): string;
    getIconName(): string;
    isConditionSelected(conditionName: string): boolean;
    onConditionsChanged(eventArgs: any): void;
    getCondition(value: string): IFilteringOperation;
    onValuesInput(eventArgs: any): void;
    onLogicOperatorButtonClicked(eventArgs: any, buttonIndex: number): void;
    onLogicOperatorKeyDown(eventArgs: any, buttonIndex: number): void;
    onRemoveButtonClick(): void;
    onOutletPointerDown(event: any): void;
}
