///
///
/**
* ngTable: Table + Angular JS
*
* @author Vitalii Savchuk
* @url https://github.com/esvit/ng-table/
* @license New BSD License
*/
import { IAttributes, IAugmentedJQuery, ICompileService, IDocumentService, IParseService, IScope, ITimeoutService } from 'angular';
import { DataResults, GroupedDataResults, NgTableParams, NgTableEventsChannel, IPageButton } from '../core';
import { IColumnDef, IDynamicTableColDef, ITableInputAttributes } from './public-interfaces';
import { NgTableColumn } from './ngTableColumn';
/**
* @private
*/
export interface ITableScope extends IScope {
$columns: IColumnDef[];
$loading: boolean;
$filterRow: {
disabled: boolean;
};
$data?: DataResults;
$groups?: GroupedDataResults;
$groupRow: {
show: boolean;
};
show_filter: boolean;
pages: IPageButton[];
templates: {
header: string;
pagination: string;
};
params: NgTableParams;
}
/**
* The controller for the {@link ngTable ngTable} and {@link ngTableDynamic ngTableDynamic} directives
*/
export declare class NgTableController {
private $scope;
private $parse;
private $compile;
private $attrs;
private $element;
private $document;
private ngTableColumn;
private ngTableEventsChannel;
static $inject: string[];
private delayFilter;
private readonly hasVisibleFilterColumn;
constructor($scope: ITableScope, $timeout: ITimeoutService, $parse: IParseService, $compile: ICompileService, $attrs: IAttributes & ITableInputAttributes, $element: IAugmentedJQuery, $document: IDocumentService, ngTableColumn: NgTableColumn, ngTableEventsChannel: NgTableEventsChannel);
private onDataReloadStatusChange(newStatus);
compileDirectiveTemplates(): void;
loadFilterData($columns: IColumnDef[]): void;
buildColumns(columns: TCol[]): IColumnDef[];
parseNgTableDynamicExpr(attr: string): {
tableParams: string;
columns: string;
};
setupBindingsToInternalScope(tableParamsExpr: string): void;
private setupFilterRowBindingsToInternalScope();
private setupGroupRowBindingsToInternalScope();
private getVisibleColumns();
private subscribeToTableEvents();
private some(array, predicate);
}