import { TArray } from "@effect/core/stm/TArray/definition";
import { Maybe } from "@tsplus/stdlib/data/Maybe/definition";
import { USTM } from "@effect/core/stm/STM/definition/base";
/**
 * Finds the result of applying a partial function to the first value in its
 * domain.
 * @tsplus fluent ets/TArray collectFirst
 * @tsplus location "@effect/core/stm/TArray/operations/collectFirst"
 */
export declare function collectFirst_<A, B>(self: TArray<A>, pf: (a: A) => Maybe<B>): USTM<Maybe<B>>;
/**
 * Finds the result of applying a partial function to the first value in its
 * domain.
 * @tsplus static ets/TArray/Aspects collectFirst
 * @tsplus pipeable ets/TArray collectFirst
 * @tsplus location "@effect/core/stm/TArray/operations/collectFirst"
 */
export declare const collectFirst: <A, B>(pf: (a: A) => import("@tsplus/stdlib/data/Maybe").Maybe<B>) => (self: import("../definition").TArray<A>) => import("../../STM").USTM<import("@tsplus/stdlib/data/Maybe").Maybe<B>>;
//# sourceMappingURL=collectFirst.d.ts.map