import { TArray } from "@effect/core/stm/TArray/definition";
import { STM } from "@effect/core/stm/STM/definition/base";
/**
 * Count the values in the array matching a transactional predicate.
 * @tsplus fluent ets/TArray countSTM
 * @tsplus location "@effect/core/stm/TArray/operations/countSTM"
 */
export declare function countSTM_<E, A>(self: TArray<A>, f: (a: A) => STM<never, E, boolean>): STM<never, E, number>;
/**
 * Count the values in the array matching a transactional predicate.
 * @tsplus static ets/TArray/Aspects countSTM
 * @tsplus pipeable ets/TArray countSTM
 * @tsplus location "@effect/core/stm/TArray/operations/countSTM"
 */
export declare const countSTM: <E, A>(f: (a: A) => import("../../STM").STM<never, E, boolean>) => (self: import("../definition").TArray<A>) => import("../../STM").STM<never, E, number>;
//# sourceMappingURL=countSTM.d.ts.map