import { type Kernel } from '../index.ts'; /** * The base exception handler that is used by default to handle * Ace exceptions. * * You can extend this class to customize the exception rendering * behavior. * * @example * ```ts * export class MyExceptionHandler extends ExceptionHandler { * async render(error: unknown, kernel: Kernel) { * // Custom error handling * await super.render(error, kernel) * } * } * ``` */ export declare class ExceptionHandler { /** * Enable debug mode for detailed error reporting */ debug: boolean; /** * Known error codes. For these errors, only the error message is * reported using the logger */ protected knownErrorCodes: string[]; /** * Internal set of known error codes */ protected internalKnownErrorCode: string[]; /** * Logs error to stderr using logger * * @param error - The error object with a message property * @param kernel - The Ace kernel instance */ protected logError(error: { message: any; } & unknown, kernel: Kernel): void; /** * Pretty prints uncaught error in debug mode using Youch * * @param error - The error object to pretty print */ protected prettyPrintError(error: object): Promise; /** * Renders an exception for the console with appropriate formatting * * @param error - The error to render * @param kernel - The Ace kernel instance * * @example * ```ts * const handler = new ExceptionHandler() * await handler.render(new Error('Something went wrong'), kernel) * ``` */ render(error: unknown, kernel: Kernel): Promise; }