Hashim Amla, South Africa's second highest Test run-scorer of all time, has retired at the age of 39.
Amla scored 9,282 runs - second only to Jacques Kallis' 13,206 - at an average of 46.64 in 124 Tests.
He amassed 18,672 in all formats for the Proteas from 2004 to 2019, and no-one has scored more than his 27 one-day centuries for South Africa.
Amla's 311 not out against England at The Oval in 2012 remains the highest Test score by a South African.
He was part of the Surrey team that won the County Championship in 2022, having retired from international cricket three years earlier.
Amla averaged 49.46 in 181 one-day internationals and 33.60 in 44 T20 internationals, and ends his first-class career with 19,521 runs at an average of 48.55.
Former England captain Alec Stewart, who worked with Amla at Surrey, described him as "a great of the game".
He said: "Everyone at Surrey County Cricket Club will be sad to see Hashim retire, but we all applaud what has been a phenomenal career. "Hashim is a fantastic cricketer and a wonderful person. He has been an incredible resource for the team to learn from on and off the field."