import { IAggGroup, IRow, IStorageMode } from "../commonTypes"; import { StatFuncName } from "../statistics"; import { VIStorage } from '@kanaries/adapters'; export interface ComplexRecord { [key: string]: { [key: string]: number; } | string | null | undefined | number | boolean; } export declare type ICuboidStorageMode = 'io' | 'cache' | 'mix'; interface CuboidProps { dimensions: string[]; measures: string[]; ranges: Map; storage: VIStorage; ops?: StatFuncName[]; storageMode?: IStorageMode; } export declare class Cuboid { dimensions: string[]; measures: string[]; ops: StatFuncName[]; private _state; private cached; private sto; statSize: number; ranges: Map; storageMode: IStorageMode; constructor(props: CuboidProps); cacheState(state: IAggGroup[]): void; clearState(): void; getState(): Promise; loadStateInCache(): Promise; setState(state: IAggGroup[]): Promise; setData(dataSource: IRow[]): Promise; computeFromCuboid(cuboid: Cuboid): Promise; get size(): number; getAggregatedRows(measures: string[], operatorOfMeasures: StatFuncName[]): Promise; getRawState(): Promise; } export {};