import powerbi from "powerbi-visuals-api"; import DataViewMatrix = powerbi.DataViewMatrix; import DataViewMetadataColumn = powerbi.DataViewMetadataColumn; import DataViewMatrixNode = powerbi.DataViewMatrixNode; import DataViewObjects = powerbi.DataViewObjects; export interface ResourceTableMetadata { name: string; schemaName?: string; } export interface ResourceColumnMetadata { name: string; displayName: string; type: powerbi.ValueTypeDescriptor; format?: string; } interface DataViewBuilderBaseColumnOptions { metadata: ResourceColumnMetadata; metadataObjects?: DataViewObjects; role: string; index?: number; queryName?: string; aggregates?: powerbi.DataViewColumnAggregates; } interface DataViewBuilderCompositeColumnOptions { columns: DataViewBuilderBaseColumnOptions[]; dataObjects?: DataViewObjects[]; } export declare class DataTable { table: any[][]; columnNames: string[]; rowCount: number; constructor(table: any[][]); getColumnIndex(name: string): number; forEachRow(iterator: (row: any[]) => void): void; } export declare class ColumnMetadataBuilder { constructor(tableMetadata?: ResourceTableMetadata); buildCategoryColumnMetadata(columnOptions: DataViewBuilderBaseColumnOptions): DataViewMetadataColumn; buildValueColumnMetadata(columnOptions: DataViewBuilderBaseColumnOptions): DataViewMetadataColumn; private buildBasicColumnMetadata; } export declare class MatrixDataViewBuilder { private readonly table; private highlights; private level; private levelColumn; private levelIdentities; private levelObjects; private values; private valueColumns; private objects; private readonly columnMetadataBuilder; private rowGroupingOptions; private columnGroupingOptions; private valuesOptions; constructor(table: DataTable, tableMetadata?: ResourceTableMetadata); withRowGroups(options: DataViewBuilderCompositeColumnOptions[]): this; withRowGroup(options: DataViewBuilderCompositeColumnOptions): this; withColumnGroups(options: DataViewBuilderCompositeColumnOptions[]): this; withColumnGroup(options: DataViewBuilderCompositeColumnOptions): this; withValues(options: DataViewBuilderBaseColumnOptions[]): this; createRootMatrixNode(rows: string[][], rowNames: string[], columns?: [][], columnNames?: string[]): DataViewMatrixNode; private buildLevelMetadata; private buildHierarchyMetadata; private sequenceEqual; private findMatchingNodeInList; private compareValue; private insertInSortedOrder; private ensureValueInHierarchy; private findValueInHierarchy; private forEachLeaf; private readData; build(): powerbi.DataView; buildMatrix(): DataViewMatrix; } export {};