Liverpool announced on Thursday that they have agreed to sign England midfielder James Milner from Premier League rivals Manchester City on a free transfer, subject to a medical examination.

The 29-year-old, capped 53 times by his country, will join Liverpool on July 1 after his City contract expires. Liverpool have not disclosed the length of his contract.

"Liverpool Football Club are delighted to announce they have agreed a deal to sign Manchester City's James Milner, subject to a medical," Liverpool announced on their website.

A graduate from Leeds United's youth academy, Milner played for Leeds, Newcastle United and Aston Villa before joining City in 2010 in a deal reported to be worth £26 million ($40 million, 35.3 million euros).

The versatile, hard-working player, who can operate right across midfield, has won two Premier League titles with City, in 2011-12 and 2013-14, as well as the 2010-11 FA Cup and the 2013-14 League Cup.