import { h as IsArray } from './chunks/DZEfmVOc.js'; import './BooleanAnd.js'; import './BooleanOr.js'; import './MaybeReadonly.js'; /** * Shifts a tuple to the left by one. If the tuple is empty or has one element, * an empty tuple is returned. * * @template T The tuple to shift. * @returns The tuple without the first element and the first element. * @example TupleShift<[1, 2, 3]> // [[2, 3], 1] */ type TupleShift = IsArray extends true ? T extends Array ? [T, U] : never : T extends [infer U, ...infer V] ? [V, U] : [[], undefined]; export type { TupleShift };