import { Desc, EventStream, EventStreamSeed, Observable, Property, PropertySeed, Scope, Unsub } from "./abstractions"; import { PropertySeedImpl } from "./property"; import { EventStreamSeedImpl } from "./eventstream"; export declare type FlatMapOptions = { latest?: boolean; }; export declare type Spawner = (value: A) => O; export interface FlatMapOp { (s: EventStream | EventStreamSeed): EventStreamSeed; } export interface FlatMapOpScoped { (s: EventStream | EventStreamSeed): EventStream; } export declare function flatMap(fn: Spawner | EventStreamSeed>): FlatMapOp; export declare function flatMap(fn: Spawner | EventStreamSeed>, scope: Scope): FlatMapOpScoped; export declare type FlatMapChild> = { observable: B; unsub?: Unsub; }; export declare class FlatMapStreamSeed extends EventStreamSeedImpl { constructor(desc: Desc, s: EventStreamSeed, fn: Spawner | EventStreamSeed>, options?: FlatMapOptions); } export declare class FlatMapPropertySeed extends PropertySeedImpl { constructor(desc: Desc, src: Property | PropertySeed, fn: Spawner | Property>, options?: FlatMapOptions); }