import type { RecoveryFn } from '../../internal/function.js';
import { type NotUndefined, type Undefinable } from '../core/undefinable.js';
/**
 *  Return _input_ as `T` if the passed _input_ is not `undefined`.
 *  Otherwise, return the result of _recoverer_.
 *
 *  * The result of _recoverer_ must not be `Undefinable<*>`.
 *      * If you try to recover the value, use `orElse()`
 *  * If the result of _recoverer_ is `undefined`, throw `TypeError`.
 */
export declare function unwrapOrElseForUndefinable<T>(input: Undefinable<T>, recoverer: RecoveryFn<NotUndefined<T>>): NotUndefined<T>;
