import {expectType} from 'tsd'; import type {ArraySplice} from '../index'; // Test fixed array type TestTuple = ['a', 'b', 'c', 'd']; declare const tuple0: ArraySplice; expectType<['a', 'b', 'd']>(tuple0); declare const tuple1: ArraySplice; expectType<['a', 'b', 'e', 'f', 'd']>(tuple1); declare const tuple2: ArraySplice; expectType<['a', 'b', 'e', 'f', 'c', 'd']>(tuple2); declare const tuple3: ArraySplice; expectType<['b', 'c', 'd']>(tuple3); declare const tuple4: ArraySplice; expectType<['e', 'f', 'b', 'c', 'd']>(tuple4); // Test variable array type TestArray = ['a', 'b', 'c', 'd', ...number[]]; declare const array0: ArraySplice; expectType<['a', 'b', 'd', ...number[]]>(array0); declare const array1: ArraySplice; expectType<['a', 'b', 'e', 'f', 'd', ...number[]]>(array1); declare const array2: ArraySplice; expectType<['a', 'b', 'c', 'd', number, number, 'e', 'f', ...number[]]>(array2);