export declare class StringKeyList { items: { [key: string]: T; }; private len; constructor(); add(key: string, value: T): void; addRange(obj: any): void; remove(key: string): boolean; clear(): void; has(key: string): boolean; get(key: string): T; get count(): number; forEach(callback: (key: string, value: T) => any): void; } export declare class NumberKeyList { typeName: string; items: { [key: number]: T; }; private len; constructor(); add(key: number, value: T): void; addRange(obj: any): void; remove(key: number): boolean; clear(): void; has(key: number): boolean; get(key: number): T; get first(): T; get count(): number; forEach(callback: (key: number, value: T) => any): void; } export declare class NumberSortedList { typeName: string; items: Array<[number, T]>; inOrder: boolean; constructor(); get count(): number; indexOf(value: T): number; indexOfKey(key: number): number; add(key: number, value: T): void; removeAt(index: number): boolean; remove(key: number): void; keyByIndex(index: number): number; valueByIndex(index: number): T; clear(): void; forEach(callback: (value: T) => any): void; } export declare class List { typeName: string; items: Array; constructor(len?: number); get count(): number; indexOf(value: T): number; lastIndexOf(value: T): number; add(...value: T[]): void; insert(index: number, value: T): void; addRange(list: List): void; remove(value: T): boolean; removeAt(index: number): boolean; removeRange(index: number, count: number): boolean; clear(): void; get(index: number): T; contains(item: T): boolean; forEach(callback: (value: T, index?: number) => any): void; reverseForEach(callback: (value: T, index?: number) => any): void; } export declare class Stack { typeName: string; items: Array; index: number; constructor(len?: number); get count(): number; push(elem: T): void; add(elem: T): void; pop(): T | null; peek(): T | null; peekDirect(): T; peekPrev(): T | null; get(index: number): T; forEach(callback: (value: T) => any): void; }