import { Channel } from "@effect/core/stream/Channel/definition/base";
import { MergeStrategy } from "@effect/core/stream/Channel/MergeStrategy";
/**
 * @tsplus fluent ets/Channel mergeMap
 * @tsplus location "@effect/core/stream/Channel/operations/mergeMap"
 */
export declare function mergeMap_<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Z>(self: Channel<Env, InErr, InElem, InDone, OutErr, OutElem, OutDone>, n: number, f: (outElem: OutElem) => Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Z>, bufferSize?: number, mergeStrategy?: MergeStrategy): Channel<Env | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem1, unknown>;
/**
 * @tsplus static ets/Channel/Aspects mergeMap
 * @tsplus pipeable ets/Channel mergeMap
 * @tsplus location "@effect/core/stream/Channel/operations/mergeMap"
 */
export declare const mergeMap: <OutElem, Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Z>(n: number, f: (outElem: OutElem) => import("../definition").Channel<Env1, InErr1, InElem1, InDone1, OutErr1, OutElem1, Z>, bufferSize?: number, mergeStrategy?: MergeStrategy) => <Env_1, InErr, InElem, InDone, OutErr, OutDone>(self: import("../definition").Channel<Env_1, InErr, InElem, InDone, OutErr, OutElem, OutDone>) => import("../definition").Channel<Env_1 | Env1, InErr & InErr1, InElem & InElem1, InDone & InDone1, OutErr | OutErr1, OutElem1, unknown>;
//# sourceMappingURL=mergeMap.d.ts.map