Erling Haaland has signed a new deal at Manchester City that ties him to the Premier League champions until 2034.