<prompt> Kuandika programu ya TypeScript ambayo inachukua safu ya nambari kama pembejeo na inatoa safu mpya ambayo hupanga safu ya pembejeo kwa utaratibu wa kushuka. programu inapaswa kutumia algorithm ya kupanga ya uchaguzi wako na kushughulikia kesi za makali kama vile safu ya pembejeo tupu au safu na duplicates. programu inapaswa pia kuandikwa vizuri na nambari rahisi kuelewa, na kufuata mazoea bora ya TypeScript kama vile kutumia annotations aina na interfaces.  <response>: Mfano: Mfano: 