LeBron James will re-sign with the Cleveland Cavaliers, reports ESPN's Brian Windhorst.

According to Windhorst, James's contract is worth $23 million for the first year and includes a player option for the 2016-17 season. ESPN's Chris Broussardreported the player option is worth $24 million. In all, the two-year deal is worth $47 million and gives James the option to become a free agent again next summer when the cap is expected to spike.

James, 30, averaged 25.3 points, 7.3 assists and six rebounds in his first year back in Cleveland. He led the Cavaliers to the 2015 NBA Finals, where they fell to the Warriors.

Grade the deal: LeBron James keeps upper hand, re-signs with Cavaliers

​Cleveland has reportedly agreed to terms to keep power forward Kevin Love and shooting guard Iman Shumpert. The team is also expected to re-sign power forward Tristan Thompson.

ESPN's Dave McMenamin reports that Thompson signing a new contract is not imminent. Thompson and James share an agent, Rich Paul, which caused some speculation that James, who was notably quiet during the NBA's free agent moratorium period, might have been leveraging his own contract as a means of assisting Thompson's negotiation process.

• NBA Rumors: Latest on free agency, signings and trades

- Jeremy Woo