import { In, Out, Projection } from "../_interfaces"; import { Observable } from "../Observable"; export declare type InnerResult = T | Observable; export declare const flatMapLatest: CurriedFlatMapLatest; export interface CurriedFlatMapLatest { (project: Projection>, observable: In): Out; (project: Projection>): (observable: In) => Out; } export declare const flatMapFirst: CurriedFlatMapFirst; export interface CurriedFlatMapFirst { (project: Projection>, observable: In): Out; (project: Projection>): (observable: In) => Out; } export declare const flatMap: CurriedFlatMap; export interface CurriedFlatMap { (project: Projection>, observable: In): Out; (project: Projection>): (observable: In) => Out; } export declare const flatMapConcat: CurriedFlatMapConcat; export interface CurriedFlatMapConcat { (project: Projection>, observable: In): Out; (project: Projection>): (observable: In) => Out; } export declare const flatMapWithConcurrencyLimit: CurriedFlatMapWithConcurrencyLimit; export interface CurriedFlatMapWithConcurrencyLimit { (limit: number, project: Projection>, observable: In): Out; (limit: number, project: Projection>): (observable: In) => Out; (limit: number): (project: Projection>, observable: In) => Out; (limit: number): (project: Projection>) => (observable: In) => Out; }