Report errors for usage of private types when generating declaration file

Currently this change reports errors only for heritage clause and constraints of type parameters if the name is not public
i still have todo on that,  i will add a todo comment here specifically.