import * as _ from "./iterator"; export declare const enum EntryIndex { Key = 0, Value = 1 } export declare type MapEntry = readonly [string, T]; export declare const entryKey: (e: MapEntry) => string; export declare const entryValue: (e: MapEntry) => T; export declare type PartialStringMap = { readonly [k in K]?: V; }; export interface StringMap { readonly [k: string]: T | undefined; } export declare const toStringMap: (v: PartialStringMap) => StringMap; export interface MutableStringMap { [key: string]: T | undefined; } export declare type StringMapItem = T extends StringMap ? I : never; export declare const allKeys: (input: StringMap | null | undefined) => _.IterableEx; export declare const objectAllKeys: (input: PartialStringMap | null | undefined) => _.IterableEx; export declare const mapEntries: (input: StringMap | null | undefined) => _.IterableEx>; export declare const objectEntries: (input: PartialStringMap | null | undefined) => _.IterableEx; export declare const keys: (input: StringMap | null | undefined) => _.IterableEx; export declare const values: (input: StringMap | null | undefined) => _.IterableEx; export declare const groupBy: (input: Iterable>, reduceFunc: (a: T, b: T) => T) => StringMap; export declare const stringMap: (input: Iterable>) => StringMap; export declare const buildMap: (source: StringMap, f: (v: S, k: string) => R) => StringMap; export declare const merge: (...a: readonly (StringMap | undefined)[]) => StringMap; export declare const isMatch: (object: StringMap, source: StringMap) => boolean; export declare const isMapEqual: (a: StringMap, b: StringMap) => boolean; export declare const isMapEmpty: (a: StringMap) => boolean; //# sourceMappingURL=string-map.d.ts.map