import { ObservableInput } from "rxjs";
/**
 * Reduces the source observable into a `Map<string, TMapItem[]>`, where all input items are grouped based on their key
 * and placed into arrays.
 *
 * @param key A function to calculate map key for the item.
 * @param value A function to calculate entry value for the item.
 *
 * @internal
 */
export declare function reduceToMergeMapList<TSourceItem, TMapItem>(key: (item: TSourceItem) => string, value: (item: TSourceItem) => TMapItem): (source: ObservableInput<TSourceItem>) => import("rxjs").Observable<Map<string, TMapItem[]>>;
/**
 * Reduces the source observable into a `Map<string, TMapItem>`, where all input items are grouped based on their key
 * and merged into a single value using provided merge function.
 *
 * @param key A function to calculate map key for the item.
 * @param value A function to create map value using the _current_ item and an item already _existing_ in the map with the same key.
 *
 * @internal
 */
export declare function reduceToMergeMapItem<TSourceItem, TMapItem>(key: (item: TSourceItem) => string, mergeFunc: (sourceItem: TSourceItem, mapItem: TMapItem | undefined) => TMapItem): (source: ObservableInput<TSourceItem>) => import("rxjs").Observable<Map<string, TMapItem>>;
//# sourceMappingURL=ReduceToMergeMap.d.ts.map