export declare type Apply = { (list: ArrayLike, f: () => A): A; (list: [A], f: (a: A) => B): B; (list: [A, B], f: (a: A, b: B) => C): C; (list: [A, B, C], f: (a: A, b: B, c: C) => D): D; (list: [A, B, C, D], f: (a: A, b: B, c: C, d: D) => E): E; (list: [A, B, C, D, E], f: (a: A, b: B, c: C, d: D, e: E) => F): F; (list: [A]): (f: (a: A) => B) => B; (list: [A]): (f: (a: A) => B) => B; (list: [A, B]): (f: (a: A, b: B) => C) => C; (list: [A, B]): (f: (a: A, b: B) => C) => C; (list: [A, B, C]): (f: (a: A, b: B, c: C) => D) => D; (list: [A, B, C]): (f: (a: A, b: B, c: C) => D) => D; (list: [A, B, C, D]): (f: (a: A, b: B, c: C, d: D) => E) => E; (list: [A, B, C, D]): (f: (a: A, b: B, c: C, d: D) => E) => E; (list: [A, B, C, D, E]): (f: (a: A, b: B, c: C, d: D, e: E) => F) => F; (list: ArrayLike): (f: () => A) => A; (list: ArrayLike): (f: (...args: Array) => A) => A; (list: ArrayLike, f: (...args: Array) => A): A; (list: ArrayLike): (f: (...args: Array) => A) => A; };