import { MapCollection } from './mapCollection'; /** * Collection of maps. This collection aggregate maps with the same type of values. Values from the registered maps * can be used to calculate a single result for particular index. */ export declare class AggregatedCollection extends MapCollection { /** * Registers a callback function for the given local hook name on this aggregated collection. */ addLocalHook: (key: string, callback: Function) => this; /** * List of merged values. Value for each index is calculated using values inside registered maps. * * @type {Array} */ mergedValuesCache: unknown[]; /** * Function which do aggregation on the values for particular index. */ aggregationFunction: (valuesForIndex: unknown[]) => unknown; /** * Fallback value when there is no calculated value for particular index. */ fallbackValue: unknown; /** * Initializes the aggregated collection with a function that combines per-index values and a fallback value for indexes with no data. */ constructor(aggregationFunction: (valuesForIndex: unknown[]) => unknown, fallbackValue: unknown); /** * Get merged values for all indexes. * * @param {boolean} [readFromCache=true] Determine if read results from the cache. * @returns {Array} */ getMergedValues(readFromCache?: boolean): unknown[]; /** * Get merged value for particular index. * * @param {number} index Index for which we calculate single result. * @param {boolean} [readFromCache=true] Determine if read results from the cache. * @returns {*} */ getMergedValueAtIndex(index: number, readFromCache?: boolean): unknown; /** * Rebuild cache for the collection. */ updateCache(): void; }