import { type z, type ZodObject } from 'zod'; import { UNKNOWN_ERROR } from './constants.js'; import { type CustomErrorWithData, type CustomErrorWithDataOptions, type ErrorMessages } from './types.js'; /** * Function for creating custom error classes. Such custom error class properly subclasses built-in `Error`, simplifies * generating error messages via predefined error codes and allows attaching custom data to the error instance. * * @param errorName Error name. * @param errorMessages Object containing all possible error messages. * @param errorData Runtime representation of the `ErrorData` type parameter; can be either a class expression, or a Zod schema. * @return Class that implements {@link CustomErrorWithData}. */ export declare function createCustomErrorWithData(errorName: string, errorMessages: ErrorMessages, errorData: ErrorData): new (code: ErrorCode, options?: CustomErrorWithDataOptions>) => CustomErrorWithData>; export declare function createCustomErrorWithData any>(errorName: string, errorMessages: ErrorMessages, errorData: ErrorData): new (code: ErrorCode, options?: CustomErrorWithDataOptions>) => CustomErrorWithData>;