import { SubscriberRef, SubscriptionRef } from "../subscription-ref"; import { BasePlugin } from "./plugin"; export interface GraphRef { depth: number; flattened: boolean; flattenings: SubscriptionRef[]; flatteningsFlushed: number; link: GraphRef; rootSink: SubscriptionRef | undefined; sentinel: GraphRef; sink: SubscriptionRef | undefined; sources: SubscriptionRef[]; sourcesFlushed: number; } export declare function getGraphRef(ref: SubscriberRef): GraphRef; export declare class GraphPlugin extends BasePlugin { private flushIntervalId_; private flushQueue_; private keptDuration_; private notifications_; private sentinel_; constructor({ keptDuration }?: { keptDuration?: number; }); afterNext(ref: SubscriptionRef, value: any): void; afterSubscribe(ref: SubscriptionRef): void; afterUnsubscribe(ref: SubscriptionRef): void; beforeNext(ref: SubscriptionRef, value: any): void; beforeSubscribe(ref: SubscriberRef): void; beforeUnsubscribe(ref: SubscriptionRef): void; teardown(): void; private flush_; }