type DataType = 'int32' | 'uint32' | 'float32' | 'float64'; type AggregationMethod = 'sum' | 'average' | 'highest' | 'lowest' | 'first' | 'last'; interface Dimension { readonly numItems: number; readonly rootAttribute: string; getItems(): string[]; getItemsToIdx(): Record; getGroupIndexFromRootIndexMap(attribute: string): number[]; } export declare const STATUS_EMPTY = 1; export declare const STATUS_SET = 2; export declare const STATUS_INTERPOLATED = 4; /** * The data array can be millions of items. * => Avoid allocations in the loops to keep things acceptably fast. */ declare class InMemoryStore { private _size; private _type; private _data; private _status; get byteLength(): number; get data(): number[]; get status(): number[]; set data(values: number[]); constructor(size: number, type?: DataType, defaultValue?: number); serialize(): Buffer; static deserialize(buffer: Buffer): InMemoryStore; getValue(index: number): number; getStatus(index: number): number; setValue(index: number, value: number, status?: number): void; load(otherStore: InMemoryStore, myDimensions: Dimension[], hisDimensions: Dimension[]): void; reorder(oldDimensions: Dimension[], newDimensions: Dimension[]): InMemoryStore; dice(oldDimensions: Dimension[], newDimensions: Dimension[]): InMemoryStore; drillUp(oldDimensions: Dimension[], newDimensions: Dimension[], method?: AggregationMethod): InMemoryStore; /** fixme: This could be more memory efficient by doing like the other, instead of mapping all indexes */ drillDown(oldDimensions: Dimension[], newDimensions: Dimension[], method?: AggregationMethod): InMemoryStore; } export default InMemoryStore; //# sourceMappingURL=in-memory.d.ts.map