import { Spy } from "../spy-interface"; import { SubscriberRef, SubscriptionRef } from "../subscription-ref"; import { BasePlugin } from "./plugin"; export interface Stats { completes: number; errors: number; flattenedSubscribes: number; leafSubscribes: number; maxDepth: number; nexts: number; rootSubscribes: number; subscribes: number; tick: number; timespan: number; totalDepth: number; unsubscribes: number; } export declare class StatsPlugin extends BasePlugin { private spy_; private stats_; private time_; constructor(spy: Spy); afterSubscribe(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; get stats(): Stats; private all_; }