import { Stream } from "@effect/core/stream/Stream/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
/**
 * Transforms all elements of the stream for as long as the specified partial
 * function is defined.
 * @tsplus fluent ets/Stream collectWhile
 * @tsplus location "@effect/core/stream/Stream/operations/collectWhile"
 */
export declare function collectWhile_<R, E, A, A1>(self: Stream<R, E, A>, pf: (a: A) => Maybe<A1>, __tsplusTrace?: string): Stream<R, E, A1>;
/**
 * Transforms all elements of the stream for as long as the specified partial
 * function is defined.
 * @tsplus static ets/Stream/Aspects collectWhile
 * @tsplus pipeable ets/Stream collectWhile
 * @tsplus location "@effect/core/stream/Stream/operations/collectWhile"
 */
export declare const collectWhile: <A, A1>(pf: (a: A) => import("@tsplus/stdlib/data/Maybe").Maybe<A1>, __tsplusTrace?: string) => <R, E>(self: import("../definition").Stream<R, E, A>) => import("../definition").Stream<R, E, A1>;
//# sourceMappingURL=collectWhile.d.ts.map