import { Subscription } from '../Subscription'; import { Subject } from '../Subject'; import { Subscriber } from '../Subscriber'; import { Observable } from '../Observable'; export declare class RefCountSubscription extends Subscription { primary: Subscription; attemptedToUnsubscribePrimary: boolean; count: number; constructor(); setPrimary(subscription: Subscription): void; unsubscribe(): void; } export declare class GroupedObservable extends Observable { key: string; private groupSubject; private refCountSubscription; constructor(key: string, groupSubject: Subject, refCountSubscription?: RefCountSubscription); _subscribe(subscriber: Subscriber): Subscription<{}>; } export declare class InnerRefCountSubscription extends Subscription { private parent; constructor(parent: RefCountSubscription); unsubscribe(): void; }