import { EventStream, EventStreamSeed, EventStreamSource, ObservableSeed, Observer, Scope, Subscribe, TypeBitfield, Desc } from "./abstractions"; import { Dispatcher } from "./dispatcher"; import { HKT } from "./hkt"; import { ObservableBase, ObservableSeedImpl } from "./observable"; declare type StreamEvents = { value: V; }; export declare abstract class EventStreamBase extends ObservableBase> implements EventStream { [HKT]: EventStream; observableType(): "EventStream" | "Bus"; _L: TypeBitfield; abstract getScope(): Scope; applyScope(scope: Scope): EventStream; } export declare class StatefulEventStream extends EventStreamBase { protected dispatcher: Dispatcher>; private _scope; constructor(desc: Desc, scope: Scope); subscribe(onValue: Observer, onEnd?: Observer): import("./abstractions").Callback; getScope(): Scope; } export declare class StatelessEventStream extends EventStreamBase { observableType(): "EventStream"; private _scope; subscribe: Subscribe; constructor(desc: Desc, subscribe: Subscribe, scope: Scope); getScope(): Scope; } export declare class SeedToStream extends StatefulEventStream { observableType(): "EventStream"; constructor(seed: ObservableSeed, EventStream>, scope: Scope); } export declare class EventStreamSourceImpl extends ObservableBase> { [HKT]: EventStreamSource; observableType(): "EventStreamSource"; _L: TypeBitfield; subscribe: Subscribe; constructor(desc: Desc, subscribe: Subscribe); applyScope(scope: Scope): EventStream; } export declare class EventStreamSeedImpl extends ObservableSeedImpl, EventStream> implements EventStreamSeed { [HKT]: EventStreamSeed; observableType(): "EventStreamSeed"; _L: TypeBitfield; constructor(desc: Desc, subscribe: Subscribe); applyScope(scope: Scope): EventStream; } export {};