import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
import { Effect } from "@effect/core/io/Effect/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
/**
 * Statefully and effectfully maps over the elements of this chunk to produce
 * new elements.
 * @tsplus fluent Chunk mapAccumEffect
 * @tsplus location "@effect/core/collection/Chunk/operations/mapAccumEffect"
 */
export declare function mapAccumEffect_<A, B, R, E, S>(self: Chunk<A>, s: S, f: (s: S, a: A) => Effect<R, E, Tuple<[S, B]>>): Effect<R, E, Tuple<[S, Chunk<B>]>>;
/**
 * Statefully and effectfully maps over the elements of this chunk to produce
 * new elements.
 * @tsplus static Chunk/Aspects mapAccumEffect
 * @tsplus pipeable Chunk mapAccumEffect
 * @tsplus location "@effect/core/collection/Chunk/operations/mapAccumEffect"
 */
export declare const mapAccumEffect: <A, B, R, E, S>(s: S, f: (s: S, a: A) => import("../../../io/Effect").Effect<R, E, import("@tsplus/stdlib/data/Tuple").Tuple<[S, B]>>) => (self: import("@tsplus/stdlib/collections/Chunk/definition").Chunk<A>) => import("../../../io/Effect").Effect<R, E, import("@tsplus/stdlib/data/Tuple").Tuple<[S, import("@tsplus/stdlib/collections/Chunk/definition").Chunk<B>]>>;
//# sourceMappingURL=mapAccumEffect.d.ts.map