/** * Throw-proof error description. * * Hostile or exotic thrown values can make `String(value)` throw (a `toString` * that throws, a revoked proxy, a null-prototype object) and a `message` getter * can throw too. Logging or recording a failure must never become a second * failure, so every failure path that stringifies a caught value uses this. * * @example * ```ts * import { safeErrorDescription } from "@gajae-code/utils"; * * try { * await risky(); * } catch (error) { * logger.warn("risky failed", { error: safeErrorDescription(error) }); * } * ``` */ export declare function safeErrorDescription(value: unknown): string;