blob: 5fb9e3c10b7b6f8826a4ba46c168485abf208305 [file] [log] [blame]
declare function flatten <T> (array: flatten.NestedArray<T>): T[];
declare namespace flatten {
export interface NestedArray <T> extends ReadonlyArray<T | NestedArray<T>> {}
export interface NestedList <T> {
[index: number]: T | NestedList<T>;
length: number;
}
export function from <T> (array: NestedList<T>): T[];
export function depth <T> (array: NestedArray<T>, depth: number): NestedArray<T>;
export function depthFrom <T> (array: NestedList<T>, depth: number): NestedArray<T>;
}
export = flatten;