import { Stream } from "@effect/core/stream/Stream/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
interface Pipeline<R, E, A, R2, E2, B> {
    (stream: Stream<R, E, A>): Stream<R2, E2, B>;
}
/**
 * Reads the first `n` values from the stream and uses them to choose the
 * pipeline that will be used for the remainder of the stream.
 * @tsplus fluent ets/Stream branchAfter
 * @tsplus location "@effect/core/stream/Stream/operations/branchAfter"
 */
export declare function branchAfter_<R, E, A, R2, E2, B>(self: Stream<R, E, A>, n: number, f: (output: Chunk<A>) => Pipeline<R, E, A, R2, E2, B>, __tsplusTrace?: string): Stream<R | R2, E | E2, B>;
/**
 * Reads the first `n` values from the stream and uses them to choose the
 * pipeline that will be used for the remainder of the stream.
 * @tsplus static ets/Stream/Aspects branchAfter
 * @tsplus pipeable ets/Stream branchAfter
 * @tsplus location "@effect/core/stream/Stream/operations/branchAfter"
 */
export declare const branchAfter: <R, E, A, R2, E2, B>(n: number, f: (output: import("@tsplus/stdlib/collections/Chunk").Chunk<A>) => Pipeline<R, E, A, R2, E2, B>, __tsplusTrace?: string) => (self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R | R2, E | E2, B>;
export {};
//# sourceMappingURL=branchAfter.d.ts.map