import { type MaybePromise } from '@augment-vir/core';
import { type AnyDuration } from '@date-vir/duration';
/**
 * An error thrown by {@link wrapPromiseInTimeout} when the timeout is reached.
 *
 * @category Promise
 * @category Package : @augment-vir/common
 * @package [`@augment-vir/common`](https://www.npmjs.com/package/@augment-vir/common)
 */
export declare class PromiseTimeoutError extends Error {
    readonly duration: AnyDuration;
    readonly name = "PromiseTimeoutError";
    constructor(duration: AnyDuration, failureMessage?: string | undefined);
}
/**
 * Wraps an already-created Promise in a timeout, causing a rejection if the original Promise isn't
 * resolved by then.
 *
 * @category Promise
 * @category Package : @augment-vir/common
 * @package [`@augment-vir/common`](https://www.npmjs.com/package/@augment-vir/common)
 */
export declare function wrapPromiseInTimeout<T>(duration: Readonly<AnyDuration>, originalPromise: MaybePromise<T>, failureMessage?: string | undefined): Promise<T>;
