import type { DataRecord } from '@overture-stack/lectern-dictionary'; /** * The key in this Map is a unique hash made of select fields from a record. This is generated using `hashDataRecord()` * The value in this Map is an array of numbers, where each number represents the position of a record in a data set (data sets will be `DataRecord[]` with all records from the same schema). * * This is a named alias over a Map; */ export type DataSetHashMap = Map; /** * Provides a DataSetHashMap for a provided data set. For every record in the data set this will generate a string * based on the values of specific fields, then an entry will added to the Map using this string as the key, with the * value an array of numbers representing the array index position of all records that share the same values for the * specified fields. * * This means that for a data set where each record generates a unique hash, every entry in the Map will be an array * with a single number (the index of the record with that hash). When two or more records have the same hash, the * Map's value for that hash will be an array with the index of all records with that hash. * @param records * @param fieldsToHash * @returns */ export declare const generateDataSetHashMap: (records: DataRecord[], fieldsToHash: string[]) => DataSetHashMap;