typescript definitions