import { AnyEvent, Dispose } from "./_interfaces"; import { EventStream } from "./EventStream"; import { Observable } from "./Observable"; export interface PushOp { (bus: Bus, event: T | AnyEvent): void; (bus: Bus): (event: T | AnyEvent) => void; } export interface PushNextOp { (bus: Bus, val: T): void; (bus: Bus): (val: T) => void; } export interface PushErrorOp { (bus: Bus, err: Error): void; (bus: Bus): (err: Error) => void; } export interface PlugOp { (bus: Bus, obs: Observable): Dispose; (bus: Bus): (bs: Observable) => Dispose; } export declare const push: PushOp; export declare const pushNext: PushNextOp; export declare const pushError: PushErrorOp; export declare const pushEnd: typeof _pushEnd; export declare const plug: PlugOp; /** * Creates a new `Bus` instance. * * @public */ export declare function bus(): Bus; declare function _pushEnd(bus: Bus): void; export declare class Bus extends EventStream { constructor(); } export {};