export interface IQueueArray { length: number; remove(id: string): void | Promise; get(id: string): T | Promise; set(id: T): T | Promise; shift(): T | Promise; pop(): T | Promise; push(x: T): void; map(fn: (x: any) => any): any[] | Promise; filter(fn: (x: any) => any): any[] | Promise; }