import { DisableNever, DisableNeverArray } from "../never"; import { ExactlyNumber } from "./exactlyNumber"; type NumberArray = [T] extends [Array] ? ExactlyNumber : never; type DisableNumberTuple = [T] extends [[number, ...unknown[]]] ? never : unknown; export type ExactlyNumberArray = DisableNever & DisableNeverArray & NumberArray & DisableNumberTuple;