import { BehaviorSubject } from 'rxjs'; declare type ID = string | number; declare type QueueItem = T & { id: ID; }; declare type QueueDef = Record>; export declare class Queue extends BehaviorSubject> { readonly sortFn?: ((a: T, b: T) => number) | undefined; value$: import("rxjs").Observable[]>; current$: import("rxjs").Observable; constructor(sortFn?: ((a: T, b: T) => number) | undefined); add(value: Omit, 'id'> & { id?: ID; }, override?: boolean): QueueItem; remove(value: QueueItem): QueueItem; private sort; } export {}; //# sourceMappingURL=queue.d.ts.map