What is the flow type for a zipAll function, such as in lodash/fp?

Even in normal lodash, zip's type is declared using overloads, like:

zip<A, B>(a1: A[], a2: B[]): Array<[A, B]>;
zip<A, B, C>(a1: A[], a2: B[], a3: C[]): Array<[A, B, C]>;
zip<A, B, C, D>(a1: A[], a2: B[], a3: C[], a4: D[]): Array<[A, B, C, D]>;
zip<A, B, C, D, E>(a1: A[], a2: B[], a3: C[], a4: D[], a5: E[]): Array<[A, B, C, D, E]>;

The first line of this satisfies zip from lodash/fp, but what about zipAll? This function is supposed to take a second order array and basically transpose it.

It would look like this for the above limited cases:

zipAll<A, B>([A[], B[]]): Array<[A, B]>;
zipAll<A, B, C>([A[], B[], C[]]): Array<[A, B, C]>;
zipAll<A, B, C, D>([A[], B[], C[], D[]]): Array<[A, B, C, D]>;
zipAll<A, B, C, D, E>([A[], B[], C[], D[], E[]]): Array<[A, B, C, D, E]>;

Is there no way to define it generally?