can interface extend class typescript