pipe<A, B>(f1: (input: A) => B): (input: A) => B
pipe<A, B, C>(f1: (input: A) => B, f2: (input: B) => C): (input: A) => C
pipe<A, B, C, D>(f1: (input: A) => B, f2: (input: B) => C, f3: (input: C) => D): (input: A) => D
pipe<A, B, C, D, E>(f1: (input: A) => B, f2: (input: B) => C, f3: (input: C) => D, f4: (input: D) => E): (input: A) => E
pipe<A, B, C, D, E, F>(f1: (input: A) => B, f2: (input: B) => C, f3: (input: C) => D, f4: (input: D) => E, f5: (input: E) => F): (input: A) => F
pipe<A, B, C, D, E, F, G>(f1: (input: A) => B, f2: (input: B) => C, f3: (input: C) => D, f4: (input: D) => E, f5: (input: E) => F, f6: (input: F) => G): (input: A) => G
pipe<A, B, C, D, E, F, G, H>(f1: (input: A) => B, f2: (input: B) => C, f3: (input: C) => D, f4: (input: D) => E, f5: (input: E) => F, f6: (input: F) => G, f7: (input: G) => H): (input: A) => H
pipe<F extends readonly [(...args: any[]) => any, ...Array<(arg: any) => any>]>(...fns: F): (input: PipeInput<F>) => PipeReturn<F>