Former Pakistan captain Shahid Afridi has announced he will retire from one-day internationals after the 2015 World Cup in Australia and New Zealand.
The 34-year-old all-rounder, who has played 389 ODIs, said he wanted to choose his own time to step down.
Afridi said: "I want to go out of ODIs with self-respect and with my fans wanting more from me."
He will continue as Pakistan Twenty20 captain and wants to focus on winning the T20 World Cup in India in 2016.
Afridi has an average of 23.49 and a strike-rate of 116.29 in ODIs, and has also taken 391 wickets at 33.89 and an economy-rate of 4.62.
"I am the first Pakistan player to be able to announce his retirement properly," added Afridi, who led his team to the 2011 World Cup semi-finals.
"I always wanted to do this having seen the problems faced by other bigger players in the past. It was not an easy decision to take and I think many of my seniors also found it difficult to go out at the right time."
He made his ODI debut as a 16-year-old in October 1996 against Sri Lanka in Nairobi and set a record for the fastest 100 off 37 balls. The record stood for 17 years until New Zealand's Corey Anderson took 36 balls to reach a hundred against West Indies in January.
Afridi had retired once before from Pakistan's ODI side in May 2011 in protest at the Pakistan Cricket Board, following a public row with coach Waqar Younis, but made himself available again just five months later.