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 { _subscriptions: Subscription[]; _unsubscribe: () => void; static create(source: Observable, destination: Observer): Subject; protected destination: Observer; observers: Observer[]; isUnsubscribed: boolean; dispatching: boolean; errorSignal: boolean; errorInstance: any; completeSignal: boolean; lift(operator: Operator): Observable; _subscribe(subscriber: Subscriber): Subscription; add(subscription?: any): void; remove(subscription?: any): void; unsubscribe(): void; next(value: T): void; error(err?: any): void; complete(): void; _next(value: T): void; _error(err: any): void; _complete(): void; }