import { type RepliesType, Reply, type ReplyFrom } from './reply'; import { type Logger } from './logger'; import type { Data } from './data'; import type { MaybePromise } from './types'; import type { ExtensionsFrom, MiddlewareContext, MiddlewareList } from './middleware'; import type { ServerOptions } from './server'; export type ErrorHandler = (input: { event: Data & { reply: ReplyFrom; error: Error; } & MiddlewareContext & Partial>; env: Environment; logger: Logger; error: Error; }) => MaybePromise; export declare class CometErrorHandler { private static readonly tracer; static handle(input: Omit>[0], 'error'>, error: unknown, options: ServerOptions): Promise; private static internalHandle; } export declare enum ErrorType { MethodNotAllowed = 0, NotFound = 1, SchemaValidation = 2, InvalidCompatibilityDate = 3, Internal = 4, Unknown = 5, InvalidJSON = 6 } export declare class CometError extends Error { readonly type: ErrorType; readonly details?: unknown | undefined; constructor(type: ErrorType, details?: unknown | undefined); static wrap(error: unknown): CometError; }