import type { ApiError, ISerializedError } from "../../types/index.js"; /** * Serialize an error into a plain object. * Uses sensible defaults based on the status code when message is omitted. * * @param message - Error message (falls back to status code default) * @param code - HTTP status code (default: 400) * @returns Serialized error with message and code * * @example * ```ts * const err = useErrorSerialize("User not found", 404); * // { message: "User not found", code: 404 } * * const err2 = useErrorSerialize("", 500); * // { message: "Internal Server Error", code: 500 } * ``` */ export declare function useErrorSerialize(message?: string, code?: number): ISerializedError; /** * Create a custom error object. Use with `useLogger` for consistent error logging. * * @param msg - Error message * @param code - HTTP status code * @returns Serialized error with message and code * * @example * ```ts * import { useErrorCustom, useLogger } from "katanakit-js"; * * const error = useErrorCustom("User not found", 404); * useLogger(error.message, error, "error"); * // { message: "User not found", code: 404 } * ``` */ export declare function useErrorCustom(msg: string, code: number): ISerializedError; /** * Normalizes any thrown value into the shared {@link ApiError} shape. * * Reads `message`, numeric `status` (or `statusCode`, used by some SDKs) and * `details` when present; every other value becomes a generic error. This is * the canonical mapper for `useAttempt()` at service boundaries. * * @param error - The caught value (`Error`, SDK error object, string, …). * @param fallbackStatus - Status used when the value has none (default: `0`). * @returns A serializable `{ message, status, details? }` error. * * @example * ```ts * import { useAttempt, useErrorNormalize } from "katanakit-js"; * * const result = await useAttempt(() => sdk.call(), useErrorNormalize); * if (!result.ok) console.error(result.error.status, result.error.message); * ``` */ export declare function useErrorNormalize(error: unknown, fallbackStatus?: number): ApiError; //# sourceMappingURL=error.service.d.ts.map