import {expectAssignable, expectNotAssignable, expectType} from 'tsd'; import type {UnknownArray} from '../index'; declare const foo: readonly []; declare const bar: { readonly array: unknown[]; }; expectAssignable(foo); expectAssignable(bar.array); expectAssignable([]); expectAssignable(['foo']); expectNotAssignable(null); expectNotAssignable(undefined); expectNotAssignable({}); expectNotAssignable({0: 1}); expectNotAssignable(1); expectNotAssignable(Date); type IsArray = T extends UnknownArray ? true : false; declare const string: IsArray; expectType(string); declare const array: IsArray<[]>; expectType(array); declare const tuple: IsArray<['foo']>; expectType(tuple); declare const readonlyArray: IsArray; expectType(readonlyArray); declare const leadingSpread: IsArray; expectType(leadingSpread); declare const trailingSpread: IsArray; expectType(trailingSpread);