/** * @typedef {import('./jsdoc-types.js').PowerDeadlineOptions} PowerDeadlineOptions * @typedef {import('./jsdoc-types.js').PowerRetryOptions} PowerRetryOptions */ /** * Deadline-aware async helper for timeout, retry budget, and abort metadata. * * Use `PowerDeadline` to wrap async work with per-attempt timeouts, a total * deadline for the whole operation, and optional retry/backoff behavior. * * @class PowerDeadline * @public */ export class PowerDeadline { /** * Run a function with deadline semantics. * @param {Function} fn Async function to execute. * @param {PowerDeadlineOptions} [options] * @returns {Promise} */ static run(fn: Function, options?: PowerDeadlineOptions): Promise; /** * Create a configured `PowerDeadline` instance. * @param {PowerDeadlineOptions} [options] Default options applied to every `run()` invocation. */ constructor(options?: PowerDeadlineOptions); /** * Run a function with the configured deadline options merged with per-call options. * @param {Function} fn Async function to execute. * @param {PowerDeadlineOptions} [options] * @returns {Promise} */ run(fn: Function, options?: PowerDeadlineOptions): Promise; } export default PowerDeadline; export type PowerDeadlineOptions = import("./jsdoc-types.js").PowerDeadlineOptions; export type PowerRetryOptions = import("./jsdoc-types.js").PowerRetryOptions;