in my canvas web game written in ts, i want to make pool objects object, using generics. to store particles, bullets, enemies etc.

export class Pool {                                                                                                                                       │                                                                               
                                                                               │  7 │                                                                                                                                                         │                                                                               
                                                                               │  6 │ public POOL_SIZE: number;                                                                                                                               │                                                                               
                                                                               │  5 │ private pool: <T>[];                                                                                                                                    │                                                                               
                                                                               │  4 │                                                                                                                                                         │                                                                               
                                                                               │  3 │                                                                                                                                                         │                                                                               
                                                                               │  2 │ constructor(poolSize: number) {                                                                                                                         │                                                                               
                                                                               │  1 │ │ this.POOL_SIZE = poolSize;                                                                                                                            │                                                                               
                                                                               │9   │ │ │                                                                                                                                                     │                                                                               
                                                                               │  1 │ }                                                                                                                                                       │                                                                               
                                                                               │  2 │                                                                                                                                                         │                                                                               
                                                                               │  3 │                                                                                                                                                         │                                                                               
                                                                               │  4 │ update(deltaTime: DOMHighResTimeStamp) {                                                                                                                │                                                                               
                                                                               │  5 │ │ this.pool.forEach(el => {                                                                                                                             │                                                                               
                                                                               │  6 │ │ │ el.update(deltaTime);                                                                                                                               │                                                                               
                                                                               │  7 │ │ });                                                                                                                                                   │                                                                               
                                                                               │  8 │ }                                                                                                                                                       │                                                                               
                                                                               │  9 │                                                                                                                                                         │                                                                               
                                                                               │ 10 │ draw(context: CanvasRenderingContext2D) {                                                                                                               │                                                                               
                                                                               │ 11 │ │ this.pool.forEach(el => {                                                                                                                             │                                                                               
                                                                               │ 12 │ │ │ el.draw(context);                                                                                                                                   │                                                                               
                                                                               │ 13 │ │ });                                                                                                                                                   │                                                                               
                                                                               │ 14 │ }                                                                                                                                                       │                                                                               
                                                                               │ 15 │                                                                                                                                                         │                                                                               
                                                                               │ 16 }                                                                                                                                                         │                                                                               
                                                                               │~         


how to do it properly, how to make constructor, and use it in game object, like

let enemies: <Enemy>[] = new Pool(100) ....
let particles: <Particle>[] = new Poll(250) etc