import { EventStream, EventStreamSeed, Observer, Property, PropertySeed, Event, Subscribe } from "./abstractions"; import { In } from "./transform"; export declare type MapResult = O extends Property ? Property : O extends PropertySeed ? PropertySeed : O extends EventStream ? EventStream : EventStreamSeed; export interface MapOp { (o: In): MapResult; } export declare function map(fn: (value: A) => B): MapOp; export declare function map(sampledProperty: Property): MapOp; export declare function mapSubscribe(subscribe: Subscribe, fn: (value: A) => B): Subscribe; export declare function mapObserver(observer: Observer, fn: (value: A) => B): Observer; export declare function mapEvent(event: Event, fn: (value: A) => B): Event;