import { Ext } from "../../tr-grid-util/es6/Ext.js"; import { GridPlugin } from "../../tr-grid-util/es6/GridPlugin.js"; import { ExpanderIcon } from "../../tr-grid-util/es6/ExpanderIcon.js"; import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js"; import { RowPainter } from "../../tr-grid-util/es6/RowPainter.js"; import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js"; declare namespace RowGroupingPlugin { type GroupSortLogic = (grpValA: any, grpValB: any, grpDataViewA?: any, grpDataViewB?: any) => number; type Options = { autoGroupRemoval?: boolean|null, autoGroupHiding?: boolean|null, predefinedGroups?: (any[]|(any[])[])|null, groupBy?: RowGroupingPlugin.GroupCriteria|null, groupCriteria?: RowGroupingPlugin.GroupCriteria|null, displayColumn?: number|null, fixedDisplayColumn?: boolean|null, noCollapsible?: boolean|null, clickableCell?: boolean|null, hiddenArrow?: (boolean|number|(number)[])|null, contentAsHeader?: boolean|null, headerSpanning?: boolean|null, footerSpanning?: boolean|null, groupSortLogic?: RowGroupingPlugin.GroupSortLogic|null, autoGroupSorting?: boolean|null, indentSize?: (boolean|number|(number)[])|null, colorTag?: boolean|null, predefinedColors?: any, groupColors?: any, defaultCollapse?: boolean|null, clicked?: ((...params: any[]) => any)|null, groupAdded?: ((...params: any[]) => any)|null, beforeGroupAdded?: ((...params: any[]) => any)|null, groupHeaderBinding?: ((...params: any[]) => any)|null, groupFooterBinding?: ((...params: any[]) => any)|null, headerBinding?: ((...params: any[]) => any)|null, footerBinding?: ((...params: any[]) => any)|null, nonGroupBinding?: ((...params: any[]) => any)|null }; type GroupCriteria = string|(string|((...params: any[]) => any))[]|null; type GroupingState = { collapsed: boolean, groupId?: (number|string)|null }; type GroupedRowInfo = { rowId: string, parentRowId: string, header: boolean, groupLevel: number, collapsed: boolean, groupId?: string|null, groupValue?: any, hidden: boolean, rowData: any }; } declare class RowGroupingPlugin extends GridPlugin { constructor(options?: RowGroupingPlugin.Options|null); public beforeProcessOption(optionName: string, optionVal: any): any; public getName(): string; public initialize(host: any, options?: any): void; public unload(host?: any): void; public config(options?: any): void; public getConfigObject(gridOptions?: any): any; public getColumnMenu(colIndex: number, config: any): any; public getGroupingCriteria(): (string)[]; public hasGroupingCriteria(): boolean; public setGroupingCriteria(criteria: RowGroupingPlugin.GroupCriteria|null): void; public groupBy(criteria: RowGroupingPlugin.GroupCriteria|null): void; public getDataView(): any; public setGroupSortingLogic(sortFunction: RowGroupingPlugin.GroupSortLogic|null): void; public getGroupSortingLogic(): ((...params: any[]) => any)|null; public setPredefinedGroups(predefinedGroups: any[]|(any[])[]|null): void; public setPredefinedColors(predefinedColors: any): void; public setDefaultCollapse(collapse: boolean): void; public setGroupColor(groupRef: string, groupColor: string): void; public getDefaultCollapse(): boolean; public sortGroups(): void; public updateHeaders(): void; public expandAll(opt_expanded?: boolean|null): void; public collapseAll(opt_collapsed?: boolean|null): void; public expand(groupRowId: string, opt_expanded?: boolean|null): void; public collapse(groupRowId: string, opt_collapsed?: boolean|null): void; public disableClicking(opt_disabled?: boolean|null): void; public getGroupingStates(): (RowGroupingPlugin.GroupingState)[]|null; public setGroupingStates(states: (RowGroupingPlugin.GroupingState)[]|string|null): void; public enableFixedDisplayColumn(opt_enabled?: boolean|null): void; public enableFooterRow(opt_num?: (boolean|number)|null): void; public getFooterRowCount(): number; public getGroupedRows(): (RowGroupingPlugin.GroupedRowInfo)[]|null; } declare function isNonFunction(obj: any): boolean; export default RowGroupingPlugin; export { RowGroupingPlugin, RowGroupingPlugin as RowGrouping, RowGroupingPlugin as RowGroupingExtension };