import { LazyArg } from "@tsplus/stdlib/data/Function";
import { Effect } from "@effect/core/io/Effect/definition";
/**
 * Create an `Effect` that when executed will construct `promise` and wait for
 * its result, errors will be handled using `onReject`.
 * @tsplus static ets/Effect/Ops tryCatchPromise
 * @tsplus location "@effect/core/io/Effect/operations/promise"
 */
export declare function tryCatchPromise<E, A>(promise: LazyArg<Promise<A>>, onReject: (reason: unknown) => E, __tsplusTrace?: string): Effect.IO<E, A>;
/**
 * Create an `Effect` that when executed will construct `promise` and wait for
 * its result, errors will produce failure as `unknown`.
 * @tsplus static ets/Effect/Ops tryPromise
 * @tsplus location "@effect/core/io/Effect/operations/promise"
 */
export declare function tryPromise<A>(promise: LazyArg<Promise<A>>, __tsplusTrace?: string): Effect.IO<unknown, A>;
/**
 * Like `tryPromise` but produces a defect in case of errors.
 * @tsplus static ets/Effect/Ops promise
 * @tsplus location "@effect/core/io/Effect/operations/promise"
 */
export declare function promise<A>(promise: LazyArg<Promise<A>>, __tsplusTrace?: string): Effect<never, never, A>;
//# sourceMappingURL=promise.d.ts.map