/** * Wraps Javascript Objects */ export declare class StringMapWrapper { static merge(m1: { [key: string]: V; }, m2: { [key: string]: V; }): { [key: string]: V; }; static equals(m1: { [key: string]: V; }, m2: { [key: string]: V; }): boolean; } /** * A boolean-valued function over a value, possibly including context information * regarding that value's position in an array. */ export interface Predicate { (value: T, index?: number, array?: T[]): boolean; } export declare class ListWrapper { static findLast(arr: T[], condition: (value: T) => boolean): T; static removeAll(list: T[], items: T[]): void; static remove(list: T[], el: T): boolean; static equals(a: any[], b: any[]): boolean; static flatten(list: Array): T[]; } export declare function isListLikeIterable(obj: any): boolean; export declare function areIterablesEqual(a: any, b: any, comparator: (a: any, b: any) => boolean): boolean; export declare function iterateListLike(obj: any, fn: (p: any) => any): void;