export declare const createMapFromMap: { (m: Map): Map; }; export declare const _clearValues: { (m: Map): void; }; export declare class MapWrapper { static createEmpty(): Map; static clone(m: Map): Map; static createFromStringMap(stringMap: { [key: string]: T; }): Map; static createFromAnyMap(stringMap: { [key: string]: T; }): Map; static createFromStringMapWithResolve(stringMap: { [key: string]: T; }, resolve: (key: string, value: any) => any): Map; static toStringMap(m: Map): { [key: string]: T; }; static toAnyMap(m: Map): any; static toString(m: Map, inner?: boolean): string; static clearValues(m: Map): void; static iterable(m: T): T; static mergeMapIntoMapWithObject(dest: Map, source: Map, overwriteMismatched: boolean): Map; static convertListToMap(keys: string[]): Map; static groupBy(items: any, groupByKey: (item: K) => string): Map; } /** * 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 isEmpty(map: { [key: string]: any; }): boolean; static delete(map: { [key: string]: any; }, key: string): void; static forEach(map: { [key: string]: V; }, callback: (v: V, K: string) => void): 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 containsAll(list: T[], els: T[]): boolean; static containsComplex(list: Array, item: any): boolean; static findIndexComplex(list: Array, item: any): number; static removeIfExist(list: Array, item: any): void; 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 removeLast(array: T[]): void; 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 sortByExample(toSort: string[], pattern: string[]): 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 allElementsAreStrings(list: Array): boolean; static addAll(list: Array, source: Array): void; static addElementIfAbsent(list: Array, element: T): void; static addElementsIfAbsent(list: Array, elements: T[]): void; static copyValue(value: any): any; } 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 function findLast(arr: T[], condition: (value: T) => boolean): T | null;