<prompt> Tengeneza daraja la darasa la TypeScript kwa maumbo ya kijiometri kama Mduara, Mstatili na Pembetatu. Kila sura inapaswa kuwa na njia ya kuhesabu eneo lake na mzunguko. Pia, unda chaguo za kukokotoa zinazokubali safu ya maumbo na kukokotoa jumla ya eneo na mzunguko wa maumbo yote kwa pamoja.PLINFORMAT  <response>: Muundo wa darasa dhahania abstract area: nambari; abstract mzunguko : idadi;Mduara wa darasa unapanua Umbo mjenzi radius ya kibinafsi: nambari super; eneo : nambari rudisha Math.PI this.radius 2; mzunguko: nambari kurudi 2 Math.PI hii.radius; Mstatili wa darasa unapanua Umbo mjenzi upana wa kibinafsi: nambari, urefu wa kibinafsi: nambari super; eneo : nambari rudisha huu.upana huu.urefu; mzunguko: nambari kurudi 2 huu.upana huu.urefu; Pembetatu ya darasa inapanua Umbo mjenzi upande wa kibinafsiA: nambari, upande wa kibinafsiB: nambari, upande wa kibinafsiC: nambari super; eneo : nambari const s this.perimeter 2; kurudi Math.sqrts s - this.sideA s - this.sideB s - this.sideC; mzunguko: nambari rudisha hii.sideA this.sideB this.sideC; chaguo za kukokotoaTotalAreaAndPerimetermaumbo: Shape: totalArea: number; jumlaMzunguko: nambari hebu jumlaArea 0; let totalPerimeter 0; kwa umbo la mara kwa mara la maumbo totalArea shape.eneo; totalPerimeter shape.perimeter; rudisha totalArea, totalPerimeter ; Mfano wa matumizi:const circle Mduara mpya5;const mstatili Mstatili mpya4, 6;const triangle Pembetatu mpya 3, 4, 5;const maumbo: Shape mduara, mstatili, pembetatu;const result mahesabuTotalAreaAndPerimetermaumbo;console.logJumla ya eneo: result.totalArea;console.logJumla ya mzunguko: result.totalPerimeter; 