export interface ErrorOptions { message?: string; code?: string; data?: TData; } export default class WError extends Error { readonly code: string | null; readonly data: TData | null; constructor(message: string, code?: string, data?: TData); constructor(options: ErrorOptions); static from(err: Partial, options?: ErrorOptions): WError; }