// Type definitions for ndarray 1.0 // Project: https://github.com/scijs/ndarray, https://github.com/mikolalysenko/ndarray // Definitions by: Giff Song , taoqf // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 declare function ndarray( data: ndarray.Data, shape?: number[], stride?: number[], offset?: number ): ndarray; interface ndarray { data: ndarray.Data; shape: number[]; stride: number[]; offset: number; dtype: ndarray.DataType; size: number; order: number[]; dimension: number; get(...args: number[]): T; set(...args: number[]): T; index(...args: number[]): T; lo(...args: number[]): ndarray; hi(...args: number[]): ndarray; step(...args: number[]): ndarray; transpose(...args: number[]): ndarray; pick(...args: Array): ndarray; reshape(...shapes: number[]): ndarray; T: ndarray; } declare namespace ndarray { type DataType = 'int8' | 'int16' | 'int32' | 'uint8' | 'uint16' | 'uint32' | 'float32' | 'float64' | 'array' | 'uint8_clamped' | 'buffer' | 'generic'; type Data = T[] | Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Float32Array | Float64Array | Uint8ClampedArray; } export = ndarray;