interface Logger { error: (msg: string) => void; warn?: (msg: string) => void; info?: (msg: string) => void; } export declare class CustomError extends Error { statusCode?: number | undefined; details?: Record | undefined; emoji: string; category?: string | undefined; defaultMsg?: string | undefined; static settings: { showEmoji: boolean; defaultCompact: boolean; colorize: boolean; }; private static externalLogger; static config(options: Partial): void; static setLogger(loggerInstance: Logger, level?: "error" | "warn" | "info"): void; colorizeByStatusCode(str: string, statusCode?: number): string; constructor(message: any, statusCode?: number, details?: Record); toJSON(): object; formatDetails(details: Record, maxLen?: number): string; formattedMessage(compact?: boolean, showEmoji?: boolean, colorize?: boolean): string; log(compact?: boolean, showEmoji?: boolean, colorize?: boolean): void; } export {};