export declare var Map: MapConstructor; export declare var Set: SetConstructor; export declare class MapWrapper { static clone(m: Map): Map; static createFromStringMap(stringMap: { [key: string]: T; }): Map; static toStringMap(m: Map): { [key: string]: T; }; static createFromPairs(pairs: any[]): Map; static clearValues(m: Map): void; static iterable(m: T): T; static keys(m: Map): K[]; static values(m: Map): V[]; } /** * Wraps Javascript Objects */ export declare class StringMapWrapper { static create(): { [k: string]: any; }; static contains(map: { [key: string]: any; }, key: string): boolean; static get(map: { [key: string]: V; }, key: string): V; static set(map: { [key: string]: V; }, key: string, value: V): void; static keys(map: { [key: string]: any; }): string[]; static values(map: { [key: string]: T; }): T[]; static isEmpty(map: { [key: string]: any; }): boolean; static delete(map: { [key: string]: any; }, key: string): void; static forEach(map: { [key: string]: V; }, callback: Function): void; 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 createFixedSize(size: number): any[]; static createGrowableSize(size: number): any[]; static clone(array: T[]): T[]; static forEachWithIndex(array: T[], fn: (t: T, n: number) => void): void; static first(array: T[]): T; static last(array: T[]): T; static indexOf(array: T[], value: T, startIndex?: number): number; static contains(list: T[], el: T): boolean; static reversed(array: T[]): T[]; static concat(a: any[], b: any[]): any[]; static insert(list: T[], index: number, value: T): void; static removeAt(list: T[], index: number): T; static removeAll(list: T[], items: T[]): void; static remove(list: T[], el: T): boolean; static clear(list: any[]): void; static isEmpty(list: any[]): boolean; static fill(list: any[], value: any, start?: number, end?: number): void; static equals(a: any[], b: any[]): boolean; static slice(l: T[], from?: number, to?: number): T[]; static splice(l: T[], from: number, length: number): T[]; static sort(l: T[], compareFn?: (a: T, b: T) => number): void; static toString(l: T[]): string; static toJSON(l: T[]): string; static maximum(list: T[], predicate: (t: T) => number): T; static flatten(list: Array): T[]; static addAll(list: Array, source: Array): void; } export declare function isListLikeIterable(obj: any): boolean; export declare function areIterablesEqual(a: any, b: any, comparator: Function): boolean; export declare function iterateListLike(obj: any, fn: Function): void; export declare class SetWrapper { static createFromList(lst: T[]): Set; static has(s: Set, key: T): boolean; static delete(m: Set, k: K): void; }