type Pipe = (( ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, fg: (_: F) => G, ) => (_: A) => G) & (( ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ef: (_: E) => F, ) => (_: A) => F) & (( ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D, de: (_: D) => E, ) => (_: A) => E) & ((ab: (_: A) => B, bc: (_: B) => C, cd: (_: C) => D) => (_: A) => D) & ((ab: (_: A) => B, bc: (_: B) => C) => (_: A) => C) & ((ab: (_: A) => B) => (_: A) => B) declare function pipe(...fns: ((_: any) => any)[]): Pipe export default pipe