export interface ISubject extends AsyncIterable { /** * push an item into the subject to yield to iterators * @param {T} item the item to buffer and yield to the consumer. */ next(item: T): void; /** * rethrow an error to the consumer iterators * @param err the error object to rethrow */ error(err: any): void; /** * signal the pushed sequence is complete * disposes of the subject and cannot be used again */ done(): void; } /** * Subject (Sync) * * items are pushed into a buffers to allow iterators to pull them. */ export declare class Subject implements ISubject { private _subs; next(item: T): void; error(err: any): void; done(): void; [Symbol.asyncIterator](): AsyncIterator; private _addSubscription(); }