For that we need to ignore funciton declarations.
function pickCard(x: {suit: string; card: number; }[]): number; // ignore
function pickCard(x: number): {suit: string; card: number; }; // ignore
function pickCard(x): any { // transpire only functions with body
// Body....
}
https://www.typescriptlang.org/docs/handbook/functions.html#overloads
TS overloads are basically syntax sugar for
function(x : TypeOne | TypeTwo). So there should be no problem when allowing them.For that we need to ignore funciton declarations.