export declare class SafeObserver<DataMessageType> {
    destination: any;
    unsub: any;
    isUnsubscribed: boolean;
    constructor(destination: any);
    next(value: DataMessageType): void;
    error(err: Error): void;
    complete(): void;
    unsubscribe(): void;
}
export type ObservableNext<DataMessageType> = (data: DataMessageType) => void;
export type ObservableError = (e: Error) => void;
export type ObservableComplete = () => void;
export type Observer<DataMessageType> = {
    next: ObservableNext<DataMessageType>;
    error: ObservableError;
    complete: ObservableComplete;
};
export declare class Observable<DataMessageType> {
    private _subscribe;
    constructor(_subscribe: any);
    subscribe(observerOrNext: Observer<DataMessageType> | ObservableNext<DataMessageType>, error?: ObservableError, complete?: ObservableComplete): any;
}
