type Reverse, R extends ReadonlyArray = []> = ReturnType ? () => [...T, ...R] : T extends readonly [infer F, ...infer L] ? () => Reverse : () => R>; type IsNoTuple = T extends readonly [unknown, ...Array] ? never : T; /** * Reverses array. * * @param array - The array. * @signature * R.reverse(arr); * @example * R.reverse([1, 2, 3]) // [3, 2, 1] * @dataFirst * @category Array */ declare function reverse>(array: T): Reverse; /** * Reverses array. * * @signature * R.reverse()(array); * @example * R.reverse()([1, 2, 3]) // [3, 2, 1] * @dataLast * @category Array */ declare function reverse>(): (array: T) => Reverse; export { reverse };