/** * @license * Copyright Google Inc. All Rights Reserved. * * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ import { NgModuleFactory } from '@angular/core'; import { Observable } from 'rxjs/Observable'; export declare function shallowEqualArrays(a: any[], b: any[]): boolean; export declare function shallowEqual(a: { [x: string]: any; }, b: { [x: string]: any; }): boolean; export declare function flatten(a: T[][]): T[]; export declare function first(a: T[]): T; export declare function last(a: T[]): T; export declare function and(bools: boolean[]): boolean; export declare function merge(m1: { [key: string]: V; }, m2: { [key: string]: V; }): { [key: string]: V; }; export declare function forEach(map: { [key: string]: V; }, callback: (v: V, k: string) => void): void; export declare function waitForMap(obj: { [k: string]: A; }, fn: (k: string, a: A) => Observable): Observable<{ [k: string]: B; }>; export declare function andObservables(observables: Observable>): Observable; export declare function wrapIntoObservable(value: T | NgModuleFactory | Promise | Observable): Observable;