export interface NextObserver<T> {
    closed?: boolean;
    next: (value: T) => void;
    error?: (err: any) => void;
    complete?: () => void;
    onNext?: this['next'];
    onError?: this['error'];
    onCompleted?: this['complete'];
}
export interface ErrorObserver<T> {
    closed?: boolean;
    next?: (value: T) => void;
    error: (err: any) => void;
    complete?: () => void;
    onNext?: this['next'];
    onError?: this['error'];
    onCompleted?: this['complete'];
}
export interface CompletionObserver<T> {
    closed?: boolean;
    next?: (value: T) => void;
    error?: (err: any) => void;
    complete: () => void;
    onNext?: this['next'];
    onError?: this['error'];
    onCompleted?: this['complete'];
}
export interface RxJs4NextObserver<T> {
    closed?: boolean;
    next?: (value: T) => void;
    error?: (err: any) => void;
    complete?: () => void;
    onNext: (value: T) => void;
    onError?: (err: any) => void;
    onCompleted?: () => void;
}
export interface RxJs4ErrorObserver<T> {
    closed?: boolean;
    next?: (value: T) => void;
    error?: (err: any) => void;
    complete?: () => void;
    onNext?: (value: T) => void;
    onError: (err: any) => void;
    onCompleted?: () => void;
}
export interface RxJs4CompleteObserver<T> {
    closed?: boolean;
    next?: (value: T) => void;
    error?: (err: any) => void;
    complete?: () => void;
    onNext?: (value: T) => void;
    onError?: (err: any) => void;
    onCompleted: () => void;
}
export declare type PartialRxJs4Observer<T> = RxJs4NextObserver<T> | RxJs4ErrorObserver<T> | RxJs4CompleteObserver<T>;
export declare type PartialObserver<T> = NextObserver<T> | ErrorObserver<T> | CompletionObserver<T> | PartialRxJs4Observer<T>;
export declare class Observer<T> {
    closed?: boolean;
    private constructor();
    next: (value: T) => void;
    error: (err: any) => void;
    complete: () => void;
    static create<T>(maybeNext?: Observer<T>['next'], maybeError?: Observer<T>['error'], maybeComplete?: Observer<T>['complete']): Observer<T>;
    onNext?: this['next'];
    onError?: this['error'];
    onCompleted?: this['complete'];
}
export declare const empty: Observer<any>;
