import { ExtendedResult, Result } from "./models.mjs"; //#region src/result/index.d.ts /** * Executes a _Promise_, catching any errors, and returns a result * * _Available as `asyncAttempt` and `attempt.async`_ * * @param promise _Promise_ to execute * @param error Error value * @returns Callback result */ declare function asyncAttempt(promise: Promise, error: E): Promise, E>>; /** * Executes a callback asynchronously, catching any errors, and returns a result * * _Available as `asyncAttempt` and `attempt.async`_ * * @param callback Callback to execute * @param error Error value * @returns Callback result */ declare function asyncAttempt(callback: () => Promise, error: E): Promise, E>>; /** * Executes a _Promise_, catching any errors, and returns a result * * _Available as `asyncAttempt` and `attempt.async`_ * * @param promise _Promise_ to execute * @returns Callback result */ declare function asyncAttempt(promise: Promise): Promise>>; /** * Executes a callback asynchronously, catching any errors, and returns a result * * _Available as `asyncAttempt` and `attempt.async`_ * * @param callback Callback to execute * @returns Callback result */ declare function asyncAttempt(callback: () => Promise): Promise>>; /** * Executes a callback, catching any errors, and returns a result * * @param callback Callback to execute * @param error Error value * @returns Callback result */ declare function attempt(callback: () => Value, error: E): ExtendedResult; /** * Executes a callback, catching any errors, and returns a result * * @param callback Callback to execute * @returns Callback result */ declare function attempt(callback: () => Value): Result; declare namespace attempt { var async: typeof asyncAttempt; } //#endregion export { asyncAttempt, attempt };