today I want to add another post, about interfaces in TypeScript.
So, if to put simply, interface is something like declaration of purpose or even some kind of promise. Consider it like your class gives promise that he will implement members of that interface.
For exampl interface may look like this:
takeBook(book : string): void;
It gives us assurance, that class inheritor will implement for us needed properties and methods as well.