///
/**
* ngTable: Table + Angular JS
*
* @author Vitalii Savchuk
* @url https://github.com/esvit/ng-table/
* @license New BSD License
*/
import { IPromise } from 'angular';
import { DataResult, IGroupingFunc } from '../core';
import { IColumnDef } from './public-interfaces';
import { ITableScope } from './ngTableController';
/**
* @private
*/
export interface IScopeExtensions {
$selGroup: IGroupingFunc | string;
$selGroupTitle: string;
}
/**
* Controller for the {@link ngTableGroupRow ngTableGroupRow} directive
*/
export declare class NgTableGroupRowController {
private $scope;
static $inject: string[];
private groupFns;
constructor($scope: ITableScope & IScopeExtensions);
getGroupables(): (IGroupingFunc | IColumnDef)[];
getGroupTitle(group: IGroupingFunc | IColumnDef): string;
getVisibleColumns(): IColumnDef[];
groupBy(group: IGroupingFunc | IColumnDef): void;
isSelectedGroup(group: IGroupingFunc | IColumnDef): boolean;
toggleDetail(): IPromise;
private changeSortDirection();
private findGroupColumn(groupKey);
private isGroupingFunc(val);
private setGroup(grouping);
}