export interface Consumer<A> {
    push(a: A, changed?: any): void;
}
export interface Body {
    run: (a: any) => void;
    pull: () => any;
}
export interface Reactive<A> {
    publish: (a: A) => void;
    last: A;
    body: Body;
}
export declare type MapFunction<A, B> = ((a: A) => B);
export declare type SubscribeFunction<A> = ((a: A) => void);
export declare type PushFunction<A> = ((a: A) => any);
export declare type ScanFunction<A, B> = ((a: A, b: B) => B);
export declare type FilterFunction<A> = ((a: A) => boolean);
