/** * This module provides functions for operating on Records based on their * keys. */ /** imports */ import { Record } from './'; /** * MapFunc used by mapKeys */ export type MapFunc = (key: string, value: A, rec: Record) => string; /** * map maps over the property names of a Record producing a new Record * with its keys produced by the MapFunc provided. */ export declare const map: (rec: Record, f: MapFunc) => Record; /** * intersect set operation. * * Produces a new Record containing only the properties of the keys * that intersect the two records. The value of the properties are sourced * from the left Record. */ export declare const intersect: (left: Record, right: Record) => Record; /** * difference set operation. * * Produces a new Record containing the propertiesof the left Record less * any keys appearing in the right one. */ export declare const difference: (left: Record, right: Record) => Record; /** * project a Record according to the field specification given. * * This does not treat the keys of the spec object as paths. * For that, use the project function from the path submodule. */ export declare const project: (spec: Record, rec: Record) => Record;