import * as M from "../Managed"; import * as T from "../Task"; import * as Sink from "./internal/Sink"; import type { Stream } from "./model"; /** * Runs the sink on the stream to produce either the sink's result or an error. */ export declare const runManaged_: ( stream: Stream, sink: Sink.Sink ) => M.Managed; /** * Runs the sink on the stream to produce either the sink's result or an error. */ export declare const runManaged: ( sink: Sink.Sink ) => (stream: Stream) => M.Managed; /** * Runs the sink on the stream to produce either the sink's result or an error. */ export declare const run_: ( stream: Stream, sink: Sink.Sink ) => T.Task; /** * Runs the sink on the stream to produce either the sink's result or an error. */ export declare const run: ( sink: Sink.Sink ) => (stream: Stream) => T.Task; export declare const runCollect: (stream: Stream) => T.Task; /** * Runs the stream and collects all of its elements to an array. */ export declare const runDrain: (stream: Stream) => T.Task; /** * Consumes all elements of the stream, passing them to the specified callback. */ export declare const foreach_: ( stream: Stream, f: (a: A) => T.Task ) => T.Task; /** * Consumes all elements of the stream, passing them to the specified callback. */ export declare const foreach: ( f: (a: A) => T.Task ) => (stream: Stream) => T.Task; /** * Like `foreach`, but returns a `Managed` so the finalization order * can be controlled. */ export declare const foreachManaged_: ( stream: Stream, f: (a: A) => T.Task ) => M.Managed; /** * Like `foreach`, but returns a `Managed` so the finalization order * can be controlled. */ export declare const foreachManaged: ( f: (a: A) => T.Task ) => (stream: Stream) => M.Managed; //# sourceMappingURL=destructors.d.ts.map