import { Source, Subscriber, Subscription } from "../_core"; import { AnyEvent } from "../_interfaces"; import { Task } from "../scheduler/index"; export declare abstract class Root implements Source { readonly sync: boolean; readonly weight: number; constructor(sync: boolean); subscribe(subscriber: Subscriber, order: number): Subscription; protected abstract create(subscriber: Subscriber): Activation; } export declare abstract class Activation> implements Task, Subscription { protected readonly owner: R; protected active: boolean; protected subscriber: Subscriber; constructor(owner: R, subscriber: Subscriber); run(): void; activate(initialNeeded: boolean): void; dispose(): void; reorder(order: number): void; send(event: T | AnyEvent): void; protected abstract start(): void; protected abstract stop(): void; protected sendNext(val: T): void; protected sendError(err: Error): void; protected sendEnd(): void; }