import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Collection } from "@tsplus/stdlib/collections/Collection/definition";
import { STM } from "@effect/core/stm/STM/definition/base";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { Chunk } from "@tsplus/stdlib/collections/Chunk/definition";
/**
 * Evaluate each effect in the structure from left to right, collecting the
 * the successful values and discarding the empty cases.
 * @tsplus static ets/STM/Ops collect
 * @tsplus location "@effect/core/stm/STM/operations/collect"
 */
export declare function collect_<R, E, A, B>(as: LazyArg<Collection<A>>, f: (a: A) => STM<R, Maybe<E>, B>): STM<R, E, Chunk<B>>;
/**
 * Simultaneously filters and maps the value produced by this effect.
 * @tsplus fluent ets/STM collect
 * @tsplus location "@effect/core/stm/STM/operations/collect"
 */
export declare function collect<R, E, A, B>(self: STM<R, E, A>, pf: (a: A) => Maybe<B>): STM<R, E, B>;
//# sourceMappingURL=collect.d.ts.map