import { StatusCode } from './StatusCode'; import { ExitCode } from './ExitCode'; export interface IAdditionalErrorDetails { [key: string]: any; } export interface ILocale { code: string; parameters: Record; } export interface IErrorResponse { name: string; message: string; locale: ILocale; code: number; details: IAdditionalErrorDetails; } export declare abstract class StormError extends Error { private $details; constructor(details?: TErrorDetails); abstract getMessage(): string; abstract getCode(): number; /** * Sends details to the client. */ getPublicDetails(): IAdditionalErrorDetails; /** * Private details are only logged to the server log. * They are kept secret from the client. */ getPrivateDetails(): TErrorDetails; getHTTPCode(): StatusCode; getErrorResponse(): IErrorResponse; getLocaleCode(): string; getLocaleParameters(): Record; getExitCode(): ExitCode; }