import {expectType} from 'tsd'; import type {MultidimensionalArray} from '../index'; function createArray(dimensions: T): MultidimensionalArray { const root: unknown[] = []; let array = root; for (let dimension = 1; dimension < dimensions; ++dimension) { array[0] = []; array = array[0] as unknown[]; } return root as MultidimensionalArray; } const a: MultidimensionalArray = []; const b: MultidimensionalArray = []; const c = createArray(2); const d = createArray(7); a[0][0][0] = 42; type RecursiveArray = Array>; expectType(a); expectType>(b); expectType(c); expectType(d);