import { Operator } from './Operator'; import { Observer } from './Observer'; import { Observable } from './Observable'; import { Subscriber } from './Subscriber'; import { Subscription } from './Subscription'; export declare class Subject extends Observable implements Observer, Subscription { 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: Subscription | Function | void): void; remove(subscription: Subscription): void; unsubscribe(): void; protected _subscribe(subscriber: Subscriber): Subscription | Function | void; 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(); }