import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Cause } from "@effect/core/io/Cause/definition";
import { Sink } from "@effect/core/stream/Sink/definition/base";
import { Stream } from "@effect/core/stream/Stream/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import { Scope } from "@effect/core/io/Scope/definition";
import { Channel } from "@effect/core/stream/Channel/definition/base";
export declare class Emit {
readonly elements: Chunk;
readonly _tag = "Emit";
constructor(elements: Chunk);
}
export declare class Halt {
readonly error: Cause;
readonly _tag = "Halt";
constructor(error: Cause);
}
export declare class End {
readonly _tag = "End";
}
/**
* Peels off enough material from the stream to construct a `Z` using the
* provided `Sink` and then returns both the `Z` and the rest of the
* `Stream` in a scope. Like all scoped values, the provided stream is valid
* only within the scope.
* @tsplus static effect/core/stream/Stream.Aspects peel
* @tsplus pipeable effect/core/stream/Stream peel
* @tsplus location "@effect/core/stream/Stream/operations/peel"
*/
export declare function peel(sink: Sink): (self: import("../definition").Stream) => import("../../../io/Effect").Effect]>;
//# sourceMappingURL=peel.d.ts.map