declare module 'cartesian-product' { namespace cartesianProduct {} function cartesianProduct(arr: [T1[], T2[]]): Array<[T1, T2]>; function cartesianProduct(arr: [T1[], T2[], T3[]]): Array<[T1, T2, T3]>; function cartesianProduct(arr: [T1[], T2[], T3[], T4[]]): Array<[T1, T2, T3, T4]>; function cartesianProduct(arr: [T1[], T2[], T3[], T4[], T5[]]): Array<[T1, T2, T3, T4, T5]>; export = cartesianProduct; }