import type * as p from "../../../core/properties"; import type { Column, RowMetadata } from "@bokeh/slickgrid"; import type { Item } from "./definitions"; import { TableDataProvider, DataTableView, DataTable } from "./data_table"; import { ColumnDataSource } from "../../sources/column_data_source"; import type { CDSView } from "../../sources/cds_view"; import { RowAggregator } from "./row_aggregators"; import { Model } from "../../../model"; export declare namespace GroupingInfo { type Attrs = p.AttrsOf; type Props = Model.Props & { getter: p.Property; aggregators: p.Property; collapsed: p.Property; }; } export interface GroupingInfo extends GroupingInfo.Attrs { } export declare class GroupingInfo extends Model { properties: GroupingInfo.Props; constructor(attrs?: Partial); get comparer(): (a: { value: number; }, b: { value: number; }) => number; } export declare class DataCubeProvider extends TableDataProvider { readonly columns: Column[]; groupingInfos: GroupingInfo[]; readonly groupingDelimiter: string; toggledGroupsByLevel: { [key: string]: boolean; }[]; private rows; target: ColumnDataSource; constructor(source: ColumnDataSource, view: CDSView, columns: Column[], target: ColumnDataSource); setGrouping(groupingInfos: GroupingInfo[]): void; private extractGroups; private calculateTotals; private addTotals; private flattenedGroupedRows; refresh(): void; getLength(): number; getItem(i: number): Item; getItemMetadata(i: number): RowMetadata; collapseGroup(grouping_key: string): void; expandGroup(grouping_key: string): void; } export declare class DataCubeView extends DataTableView { model: DataCube; protected data: DataCubeProvider; _render_table(): void; } export declare namespace DataCube { type Attrs = p.AttrsOf; type Props = DataTable.Props & { grouping: p.Property; target: p.Property; }; } export interface DataCube extends DataCube.Attrs { } export declare class DataCube extends DataTable { properties: DataCube.Props; constructor(attrs?: Partial); } //# sourceMappingURL=data_cube.d.ts.map