import { MultiColumnFilterPanel } from './../index';
import { Animation, MultiColumnFilterPanelCloseButtonPosition, MultiColumnFilterPanelOperator } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
export { Animation, MultiColumnFilterPanelCloseButtonPosition, MultiColumnFilterPanelOperator, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { MultiColumnFilterPanel } from './../index';
export declare class MultiColumnFilterPanelComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<MultiColumnFilterPanel>);
    private eventHandlers;
    nativeElement: MultiColumnFilterPanel;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
    get animation(): Animation;
    set animation(value: Animation);
    /** @description Sets or gets the position of the close button of multi column filter panel items. */
    get closeButtonPosition(): MultiColumnFilterPanelCloseButtonPosition;
    set closeButtonPosition(value: MultiColumnFilterPanelCloseButtonPosition);
    /** @description Determines the data source that will be loaded to the multi column filter panel.Each member of the dataSource array is an object with the following fields:dataField - the dataField of the column to be grouped.dataType - the data type of the column to be grouped.groupIndex - the group order of columns. If this value is -1, the grouping will not be applied by this column initially.label - the column label to be displayed in the column selection input.icon - a specific class to be applied to the respective item in the column selection input.sortDirection - the sort direction to be applied when grouping. Possible values: 'ascending' and 'descending'. */
    get dataSource(): {
        label: string;
        dataField: string;
        dataType: string;
        sortDirection: string;
        groupIndex: number;
    }[];
    set dataSource(value: {
        label: string;
        dataField: string;
        dataType: string;
        sortDirection: string;
        groupIndex: number;
    }[]);
    /** @description Enables or disables the multi column filter panel. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description A callback function that can be used to modify the settings of value editors. */
    get editorCallback(): any;
    set editorCallback(value: any);
    /** @description Sets or gets the placeholder for the filter value editors. */
    get editorPlaceholder(): string;
    set editorPlaceholder(value: string);
    /** @description Sets or gets the language. Used in conjunction with the property messages. */
    get locale(): string;
    set locale(value: string);
    /** @description Callback used to customize the format of the messages that are returned from the Localization Module. */
    get localizeFormatFunction(): any;
    set localizeFormatFunction(value: any);
    /** @description Sets or gets the maximum number of columns to group by. If set to null, there is no limit. */
    get maxLevel(): number;
    set maxLevel(value: number);
    /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.  */
    get messages(): any;
    set messages(value: any);
    /** @description Determines the logical operator between the items. */
    get operator(): MultiColumnFilterPanelOperator;
    set operator(value: MultiColumnFilterPanelOperator);
    /** @description If the element is readonly, users cannot interact with it. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description If is set to true, the element cannot be focused. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description Sets of gets the initial value of the element. */
    get value(): any;
    set value(value: any);
    /** @description This event is triggered when the "Apply" button is clicked.
    *  @param event. The custom event. 	*/
    onApply: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the "Cancel" button is clicked.
    *  @param event. The custom event. 	*/
    onCancel: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the "Collapse all" button is clicked.
    *  @param event. The custom event. 	*/
    onCollapseAll: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the "Expand all" button is clicked.
    *  @param event. The custom event. 	*/
    onExpandAll: EventEmitter<CustomEvent>;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
}
