import { Observable } from "rxjs"; import { SubscriberRef, SubscriptionRef } from "../subscription-ref"; export declare type Notification = "complete" | "error" | "next" | "subscribe" | "unsubscribe"; export interface Plugin { readonly name: string; afterComplete(ref: SubscriptionRef): void; afterError(ref: SubscriptionRef, error: any): void; afterNext(ref: SubscriptionRef, value: any): void; afterSubscribe(ref: SubscriptionRef): void; afterUnsubscribe(ref: SubscriptionRef): void; beforeComplete(ref: SubscriptionRef): void; beforeError(ref: SubscriptionRef, error: any): void; beforeNext(ref: SubscriptionRef, value: any): void; beforeSubscribe(ref: SubscriberRef): void; beforeUnsubscribe(ref: SubscriptionRef): void; flush(): void; select(ref: SubscriptionRef): ((source: Observable) => Observable) | undefined; teardown(): void; } export declare class BasePlugin implements Plugin { readonly name: string; constructor(name: string); afterComplete(ref: SubscriptionRef): void; afterError(ref: SubscriptionRef, error: any): void; afterNext(ref: SubscriptionRef, value: any): void; afterSubscribe(ref: SubscriptionRef): void; afterUnsubscribe(ref: SubscriptionRef): void; beforeComplete(ref: SubscriptionRef): void; beforeError(ref: SubscriptionRef, error: any): void; beforeNext(ref: SubscriptionRef, value: any): void; beforeSubscribe(ref: SubscriberRef): void; beforeUnsubscribe(ref: SubscriptionRef): void; flush(): void; select(ref: SubscriptionRef): ((source: Observable) => Observable) | undefined; teardown(): void; }