export default class Queue { push: (item: T) => void; name: string; private queue; private log; private subscription?; constructor(name?: string); first(): Promise; drain(fn: (item: T) => void): void; once(subscriber: (item: T) => void): void; subscribe(subscriber: (item: T) => void): void; unsubscribe(): void; get length(): number; private enqueue; }