import { TArray } from "@effect/core/stm/TArray/definition";
import { STM } from "@effect/core/stm/STM/definition/base";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { Tuple } from "@tsplus/stdlib/data/Tuple/definition";
/**
 * Find the first element in the array matching a transactional predicate.
 * @tsplus fluent ets/TArray findSTM
 * @tsplus location "@effect/core/stm/TArray/operations/findSTM"
 */
export declare function findSTM_<E, A>(self: TArray<A>, f: (a: A) => STM<never, E, boolean>): STM<never, E, Maybe<A>>;
/**
 * Find the first element in the array matching a transactional predicate.
 * @tsplus static ets/TArray/Aspects findSTM
 * @tsplus pipeable ets/TArray findSTM
 * @tsplus location "@effect/core/stm/TArray/operations/findSTM"
 */
export declare const findSTM: <E, A>(f: (a: A) => import("../../STM").STM<never, E, boolean>) => (self: import("../definition").TArray<A>) => import("../../STM").STM<never, E, import("@tsplus/stdlib/data/Maybe").Maybe<A>>;
//# sourceMappingURL=findSTM.d.ts.map