Financial terms were not released by the Angels, but sources told ESPN.com the deal with the two-time All-Star outfielder is worth $144.5 million.
The Angels said Trout and his family will be at a news conference Saturday in Anaheim along with owner Arte Moreno, manager Mike Scioscia and general manager Jerry Dipoto.
Last month, the Angels signed Trout to a one-year contract worth $1 million, widely seen at the time as a prelude to a much bigger deal in the future.
It was the largest pre-arbitration contract for a player, surpassing a record shared by Ryan Howard, who got $900,000 from the Philadelphia Phillies in 2007, and Albert Pujols, who got the same amount from the St. Louis Cardinals in '03.
The Angels renewed Trout's contract last year for $510,000 -- just $20,000 above the major league minimum at the time.
The outfielder would have been eligible for arbitration for the first time after this season, and for free agency following the 2017 World Series. Now, he won't be eligible for free agency until at least age 29.
Trout is one of only four players to bat .320 with 50 homers and 200 runs scored in his first two full seasons. The others: Ted Williams, Joe DiMaggio and Pujols, now a teammate of Trout's with the Angels.
Called up a month into the 2012 season, Trout won the AL Rookie of the Year Award after hitting .326 with 30 homers and 83 RBIs. He followed that with 27 homers, 97 RBIs and a .323 batting average in 2013.
The Associated Press contributed to this report.