Mahela Jayawardene has been rested for the limited-overs leg of Sri Lanka's series against Pakistan in the United Arab Emirates starting next month.
Jayawardene, 36, who has played 407 ODIs and scored over 11,000 runs, has requested leave on personal grounds.
Left-handed batsman Kithuruwan Vithanage, who has played two Tests but has yet to represent Sri Lanka in limited overs cricket, was named as his replacement.
Ajantha Mendis will play in the Twenty20 series but will be rested in the ODI series where the spin options will be Rangana Herath and the recalled leg-spinner Seekkuge Prasanna who has not played for Sri Lanka in over ayear.
Left-arm spinner Herath was named in the one-day squad but was not considered for the Twenty20 series as "he was being rested considering the excessive amount of cricket he played and the available cricket for him up to the 2015 World Cup."
Sri Lanka play Pakistan in two T20 internationals in Dubai on December 11 and 13 before moving to Sharjah for the start of the five-match one-day international series on December 18.
ODI squad: Tillakaratne Dilshan, Kusal Perera, Dimuth Karunaratne, Kumar Sangakkara, Angelo Mathews (capt), Dinesh Chandimal, Lahiru Thirimanne, Ashan Priyanjan, Kithuruwan Vithanage, Thisara Perera, Nuwan Kulasekara, Lasith Malinga, Suranga Lakmal, Sachithra Senanayake, Rangana Herath, Seekkuge Prasanna
Twenty20 squad: Dinesh Chandimal (capt), Lasith Malinga, Tillakaratne Dilshan, Kusal Perera, Kumar Sangakkara, Angelo Mathews, Lahiru Thirimanne, Kithuruwan Vithanage, Thisara Perera, Nuwan Kulasekara, Seekkuge Prasanna, Suranga Lakmal, Sachithra Senanayake, Ajantha Mendis, Ramith Rambukwella