import { List } from '../util/List'; import { Length } from './Length'; import { Subtract } from '../number/Subtract'; import { Inc } from '../number/Inc'; import { NumberToString } from '../cast/NumberToString'; import { TupleHasIndex } from './TupleHasIndex'; /** * From a tuple-like type, get the subset starting from a certain index */ export type ListFrom< R extends List, N extends number, I extends number = N, Acc extends List = { length: Subtract, I> } > = { 0: Acc, 1: ListFrom]]: R[I] }> }[TupleHasIndex];