type LastArrayElement = ValueType extends readonly [] ? undefined : ValueType extends readonly [infer ElementType] ? ElementType : ValueType extends readonly [infer _, ...infer Tail] ? LastArrayElement : ValueType extends ReadonlyArray ? ElementType : never; /** * returns the last element of the provided array or undefined when array is empty * @example * last([1, 2, 3]) * // returns 3 */ export default function last(arr: T): LastArrayElement; export {}; //# sourceMappingURL=last.d.ts.map