import {Config} from './config' export type CreateArrayWithLengthX = ACC['length'] extends LENGTH ? ACC : CreateArrayWithLengthX export type NumericRange< START_ARR extends number[], END extends number, ACC extends number = never, > = START_ARR['length'] extends END ? ACC | END : NumericRange<[...START_ARR, 1], END, ACC | START_ARR['length']> export type ResizeableSpan = NumericRange, typeof Config.MAX_QUBIT_COUNT> export const isResizeableSpan = (arg: unknown): arg is ResizeableSpan => typeof arg == 'number' && 1 <= arg && arg <= Config.MAX_QUBIT_COUNT