Kevin Garnett has agreed to waive his no-trade clause, clinching an agreement on a trade that will land Paul Pierce, Garnett and Jason Terry with the Brooklyn Nets, sources close to the process told ESPN The Magazine's Chris Broussard on Thursday night.

Garnett waiving the no-trade clause was the last step to sealing the deal, sources said.

No trade between the teams can officially be consummated until July 10 -- when a leaguewide moratorium on signings and trades is lifted after free agency begins Monday -- but the teams made fast progress on finalizing the trade parameters.

Brooklyn has agreed to send three first-round picks (2014, '16 and '18) along with Kris Humphries' expiring contract, Gerald Wallace, Kris Joseph, MarShon Brooks and a sign-and-traded Keith Bogans to the Celtics for Pierce, Garnett and Terry, a source told Broussard.

It was initially reported that Brooklyn had included Tornike Shengelia and Reggie Evans, but the source said that the Joseph and Brooks were in the final tally.

By agreeing to add Terry to the trade, sources said, Brooklyn alleviated some of Boston's concerns about absorbing the remaining three years and $30 million on Wallace's contract.

Because Pierce is making nearly $17 million this season, Brooklyn needs the deal to wait until after the start of free agency and the lifting of the moratorium on July 10, because the $15.3 million team option the Celtics had on their longtime captain is used in the trade.

In 2014, Boston gets either Brooklyn's pick or Atlanta's pick, whichever is worse. And in 2017, Boston has the right to swap picks with Brooklyn, a source said.

Nets general manager Billy King laughed when asked about the agreement in principle, but when asked whether he could say anything about it, King replied, "Nothing."