import { ElementRef } from '@angular/core';
import { Feature } from '../feature';
import * as i0 from "@angular/core";
export declare class IgGridGroupByFeature extends Feature<IgGridGroupBy> {
    constructor(el: ElementRef);
    /**
     * Open groupby modal dialog
     */
    openGroupByDialog(): void;
    /**
     * Close groupby modal dialog
     */
    closeGroupByDialog(): void;
    /**
     * Render groupby modal dialog and its content
     */
    renderGroupByModalDialog(): void;
    /**
     * Open layouts dropdown
     */
    openDropDown(): void;
    /**
     * Close layouts dropdown
     */
    closeDropDown(): void;
    /**
     * Check whether column with specified key and layout is grouped
     *
     * @param key    key of the column
     * @param layout    layout name
     */
    checkColumnIsGrouped(key: string, layout: string): void;
    /**
     * Get grouped data by value for the specific column.
     * NOTE: Before calling this function the data(that is passed as an argument) should be sorted by colKey.
     *
     * @param data    data (sorted by colKey) that is used to get the records from.
     * @param colKey    key of the column for which grouping will be applied.
     * @param idval    value of the column by which grouping will be applied.
     */
    getGroupedData(data: any[], colKey: string, idval?: string): any[];
    /**
     * Adds a column to the group by columns list, executes the group by operation and updates the view.
     */
    groupByColumns(): object;
    /**
     * Groups by a column
     *
     * @param key    Column Key - group by the column with the specified key
     * @param layout    layout is an optional parameter.
     * If set it means the grouped column is not in the root level but is a child layout column
     * @param sortingDirection    if not set it is taken from option defaultSortingDirection
     */
    groupByColumn(key: string, layout?: string, sortingDirection?: object): void;
    /**
     * Removes the specified column from the group by columns list, executes the group by operation and updates the view.
     *
     * @param key    Column Key - ungroup by the column with the specified key
     * @param layout    Layout is an optional parameter.
     * If set it means the grouped column is not in the root level but is a child layout column.
     */
    ungroupByColumn(key: string, layout?: string): void;
    /**
     * Expand group row with specified id
     *
     * @param rowId    data-id attribute of the group row in the DOM
     */
    expand(rowId: string): void;
    /**
     * Expand group row with specified id
     *
     * @param rowId    data-id attribute of the group row in the DOM
     */
    collapse(rowId: string): void;
    /**
     * Clears the group by columns list and updates the view.
     */
    ungroupAll(): void;
    /**
     * Destroys the group by feature object.
     */
    destroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgGridGroupByFeature, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<IgGridGroupByFeature, "group-by", never, { "disabled": { "alias": "disabled"; "required": false; }; "create": { "alias": "create"; "required": false; }; "groupByAreaVisibility": { "alias": "groupByAreaVisibility"; "required": false; }; "initialExpand": { "alias": "initialExpand"; "required": false; }; "emptyGroupByAreaContent": { "alias": "emptyGroupByAreaContent"; "required": false; }; "emptyGroupByAreaContentSelectColumns": { "alias": "emptyGroupByAreaContentSelectColumns"; "required": false; }; "expansionIndicatorVisibility": { "alias": "expansionIndicatorVisibility"; "required": false; }; "groupByLabelWidth": { "alias": "groupByLabelWidth"; "required": false; }; "labelDragHelperOpacity": { "alias": "labelDragHelperOpacity"; "required": false; }; "indentation": { "alias": "indentation"; "required": false; }; "defaultSortingDirection": { "alias": "defaultSortingDirection"; "required": false; }; "groupedColumns": { "alias": "groupedColumns"; "required": false; }; "resultResponseKey": { "alias": "resultResponseKey"; "required": false; }; "groupedRowTextTemplate": { "alias": "groupedRowTextTemplate"; "required": false; }; "type": { "alias": "type"; "required": false; }; "groupByUrlKey": { "alias": "groupByUrlKey"; "required": false; }; "groupByUrlKeyAscValue": { "alias": "groupByUrlKeyAscValue"; "required": false; }; "groupByUrlKeyDescValue": { "alias": "groupByUrlKeyDescValue"; "required": false; }; "summarySettings": { "alias": "summarySettings"; "required": false; }; "columnSettings": { "alias": "columnSettings"; "required": false; }; "expandTooltip": { "alias": "expandTooltip"; "required": false; }; "collapseTooltip": { "alias": "collapseTooltip"; "required": false; }; "removeButtonTooltip": { "alias": "removeButtonTooltip"; "required": false; }; "modalDialogGroupByOnClick": { "alias": "modalDialogGroupByOnClick"; "required": false; }; "modalDialogGroupByButtonText": { "alias": "modalDialogGroupByButtonText"; "required": false; }; "modalDialogCaptionButtonDesc": { "alias": "modalDialogCaptionButtonDesc"; "required": false; }; "modalDialogCaptionButtonAsc": { "alias": "modalDialogCaptionButtonAsc"; "required": false; }; "modalDialogCaptionButtonUngroup": { "alias": "modalDialogCaptionButtonUngroup"; "required": false; }; "modalDialogCaptionText": { "alias": "modalDialogCaptionText"; "required": false; }; "modalDialogDropDownLabel": { "alias": "modalDialogDropDownLabel"; "required": false; }; "modalDialogRootLevelHierarchicalGrid": { "alias": "modalDialogRootLevelHierarchicalGrid"; "required": false; }; "modalDialogDropDownButtonCaption": { "alias": "modalDialogDropDownButtonCaption"; "required": false; }; "modalDialogClearAllButtonLabel": { "alias": "modalDialogClearAllButtonLabel"; "required": false; }; "emptyGroupByAreaContentSelectColumnsCaption": { "alias": "emptyGroupByAreaContentSelectColumnsCaption"; "required": false; }; "modalDialogDropDownWidth": { "alias": "modalDialogDropDownWidth"; "required": false; }; "modalDialogDropDownAreaWidth": { "alias": "modalDialogDropDownAreaWidth"; "required": false; }; "modalDialogAnimationDuration": { "alias": "modalDialogAnimationDuration"; "required": false; }; "modalDialogWidth": { "alias": "modalDialogWidth"; "required": false; }; "modalDialogHeight": { "alias": "modalDialogHeight"; "required": false; }; "modalDialogButtonApplyText": { "alias": "modalDialogButtonApplyText"; "required": false; }; "modalDialogButtonCancelText": { "alias": "modalDialogButtonCancelText"; "required": false; }; "useGridColumnFormatter": { "alias": "useGridColumnFormatter"; "required": false; }; "persist": { "alias": "persist"; "required": false; }; "groupByDialogContainment": { "alias": "groupByDialogContainment"; "required": false; }; "dialogWidget": { "alias": "dialogWidget"; "required": false; }; "inherit": { "alias": "inherit"; "required": false; }; }, { "groupedColumnsChanging": "groupedColumnsChanging"; "groupedColumnsChanged": "groupedColumnsChanged"; "modalDialogMoving": "modalDialogMoving"; "modalDialogClosing": "modalDialogClosing"; "modalDialogClosed": "modalDialogClosed"; "modalDialogOpening": "modalDialogOpening"; "modalDialogOpened": "modalDialogOpened"; "modalDialogContentsRendering": "modalDialogContentsRendering"; "modalDialogContentsRendered": "modalDialogContentsRendered"; "modalDialogButtonApplyClick": "modalDialogButtonApplyClick"; "modalDialogButtonResetClick": "modalDialogButtonResetClick"; "modalDialogGroupingColumn": "modalDialogGroupingColumn"; "modalDialogGroupColumn": "modalDialogGroupColumn"; "modalDialogUngroupingColumn": "modalDialogUngroupingColumn"; "modalDialogUngroupColumn": "modalDialogUngroupColumn"; "modalDialogSortGroupedColumn": "modalDialogSortGroupedColumn"; }, never, never, false, never>;
}
