import type { ErrorReporter } from '@lokalise/node-core'; import type { FastifyReply, FastifyRequest } from 'fastify'; import type { ZodError } from 'zod/v4'; import type { AnyFastifyInstance } from '../plugins/pluginsCommon.js'; export type FreeformRecord = Record; export type ErrorResponseObject = { statusCode: number; headers?: Record; payload: { message: string; code: string; /** * @deprecated Compatibility alias of `code`, matching the `@lokalise/node-core` payload shape. The built-in * mapping keeps emitting it alongside `code`; it will be dropped in a future major version. */ errorCode?: string; details?: FreeformRecord; }; }; export declare function isZodError(value: unknown): value is ZodError; export declare function defaultResolveResponseObject(error: FreeformRecord): ErrorResponseObject; export type ErrorHandlerParams = { errorReporter: ErrorReporter; resolveResponseObject?: (error: FreeformRecord) => ErrorResponseObject | undefined; resolveLogObject?: (error: unknown) => FreeformRecord | undefined; }; export declare function createErrorHandler(params: ErrorHandlerParams): (this: AnyFastifyInstance, error: FreeformRecord, request: FastifyRequest, reply: FastifyReply) => void;