Typehint the repository interface, not the implementation.
Use Authenticator contract instead of AuthManager class.