import { AfterViewInit, ChangeDetectorRef, TemplateRef, OnDestroy } from '@angular/core';
import { IgxInputDirective } from '../../../directives/input/input.directive';
import { IgxForOfDirective } from '../../../directives/for-of/for_of.directive';
import { IgxGridExcelStyleFilteringComponent, FilterListItem } from './grid.excel-style-filtering.component';
import { IgxListComponent } from '../../../list/public_api';
import { IChangeCheckboxEventArgs } from '../../../checkbox/checkbox.component';
export declare class IgxExcelStyleLoadingValuesTemplateDirective {
    template: TemplateRef<any>;
    constructor(template: TemplateRef<any>);
}
/**
 * A component used for presenting Excel style search UI.
 */
export declare class IgxExcelStyleSearchComponent implements AfterViewInit, OnDestroy {
    cdr: ChangeDetectorRef;
    esf: IgxGridExcelStyleFilteringComponent;
    private static readonly filterOptimizationThreshold;
    private _isLoading;
    private _addToCurrentFilter;
    private destroy$;
    /**
     * @hidden @internal
     */
    get addToCurrentFilter(): FilterListItem;
    /**
     * @hidden @internal
     */
    get isLoading(): boolean;
    /**
     * @hidden @internal
     */
    set isLoading(value: boolean);
    /**
     * @hidden @internal
     */
    searchValue: any;
    /**
     * @hidden @internal
     */
    displayedListData: FilterListItem[];
    /**
     * @hidden @internal
     */
    class: string;
    /**
     * @hidden @internal
     */
    searchInput: IgxInputDirective;
    /**
     * @hidden @internal
     */
    list: IgxListComponent;
    /**
     * @hidden @internal
     */
    protected virtDir: IgxForOfDirective<any>;
    /**
     * @hidden @internal
     */
    protected defaultExcelStyleLoadingValuesTemplate: TemplateRef<any>;
    /**
     * @hidden @internal
     */
    get valuesLoadingTemplate(): TemplateRef<any>;
    constructor(cdr: ChangeDetectorRef, esf: IgxGridExcelStyleFilteringComponent);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden @internal
     */
    refreshSize(): void;
    /**
     * @hidden @internal
     */
    clearInput(): void;
    /**
     * @hidden @internal
     */
    onCheckboxChange(eventArgs: IChangeCheckboxEventArgs): void;
    /**
     * @hidden @internal
     */
    get itemSize(): string;
    /**
     * @hidden @internal
     */
    get containerSize(): any;
    /**
     * @hidden @internal
     */
    get applyButtonDisabled(): boolean;
    /**
     * @hidden @internal
     */
    onInputKeyDown(event: any): void;
    /**
     * @hidden @internal
     */
    filterListData(): void;
    /**
     * @hidden @internal
     */
    applyFilter(): void;
    private createCondition;
    private rejectNonNumericalEntries;
}
