What is the Difference Between "public," "private," and "protected" in TypeScript?