import { Observable } from 'rxjs'; import { DelayedEventQueue } from './delayed-event-queue'; import { SourceObservable } from './source-observable'; /** * Used by the {@link Store} * * rx-signals internal helper type */ export type ResetHandle = { removeSources(): void; readdSources(): void; }; /** * rx-signals internal helper type used by the {@link Store} * * @class ControlledSubject */ export declare class ControlledSubject { private readonly id; private readonly isBehavior; private readonly onSourceError; private readonly onSourceCompleted; private readonly delayedEventQueue; private subject; private pipe; private readonly lazySources; private readonly statefulSources; private observable; private isSubscribed; private readonly isSubscribedSubject; private selfSubscriptionOrPendingSubscription; private nTargetSubscriptions; private readonly contextHandle; constructor(id: symbol, isBehavior: boolean, onSourceError: (sourceId: symbol, error: any) => void, onSourceCompleted: (sourceId: symbol) => void, delayedEventQueue: DelayedEventQueue); getObservable(): Observable; getIsSubscribedObservable(): Observable; addSource(source: SourceObservable): void; removeSource(sourceId: symbol): void; removeAllSources(): void; next(next: T): void; error(error: any): void; complete(): void; isObservableSubscribed(): boolean; getResetHandle(): ResetHandle; hasSource(sourceId: symbol): boolean; getNumberOfSources(): number; private getNewTargetPipe; private unsubscribeSelf; private setIsSubscribed; private subscribeSource; }