what is the difference between interface vs type statements?
Interface declarations can exclusively represent the shape of an object-like data structures. Type alias declarations can create a name for all kind of types including primitives ( undefined , null , boolean , string and number ), union, and intersection types. In a way, this difference makes the type more flexible.