Typescript Multiple Return Types In Typescript