import { Operator } from './Operator'; import { Observer } from './Observer'; import { Observable } from './Observable'; import { Subscriber } from './Subscriber'; import { Subscription, ISubscription, TeardownLogic } from './Subscription'; /** * @class Subject */ export declare class Subject extends Observable implements Observer, ISubscription { protected destination: Observer; protected source: Observable; static create: Function; constructor(destination?: Observer, source?: Observable); observers: Observer[]; isUnsubscribed: boolean; protected isStopped: boolean; protected hasErrored: boolean; protected errorValue: any; protected dispatching: boolean; protected hasCompleted: boolean; lift(operator: Operator): Observable; add(subscription: TeardownLogic): Subscription; remove(subscription: Subscription): void; unsubscribe(): void; protected _subscribe(subscriber: Subscriber): TeardownLogic; protected _unsubscribe(): void; next(value: T): void; error(err?: any): void; complete(): void; asObservable(): Observable; protected _next(value: T): void; protected _finalNext(value: T): void; protected _error(err: any): void; protected _finalError(err: any): void; protected _complete(): void; protected _finalComplete(): void; private throwIfUnsubscribed(); }