import { Source, Push } from "lazy-space"; export declare abstract class CallbackSource implements Source { protected readonly subscriptions: Set>; constructor(subscriptions?: Set>); subscribe(p: Push): void; protected push(output: T): void; } export declare class PromiseSource extends CallbackSource { constructor(); registerPromise(promise: Promise): void; } export declare type KeyboardEventType = "keydown" | "keypress" | "keyup"; export declare class KeyboardEventSource extends CallbackSource { constructor(...types: KeyboardEventType[]); } export declare type MouseEventType = "click" | "dblclick" | "mousedown" | "mouseup" | "mouseover" | "mouseout" | "mousemove"; export declare class MouseEventSource extends CallbackSource { constructor(...types: MouseEventType[]); } export declare type TouchEventType = "touchstart" | "touchend" | "touchmove" | "touchcancel"; export declare class TouchEventSource extends CallbackSource { constructor(...types: TouchEventType[]); }