export declare type ErrorLevelName = 'EXPECTED' | 'LOGIC' | 'FATAL' | 'ETC'; export declare enum ErrorLevel { EXPECTED = 1, LOGIC = 2, FATAL = 3, RESERVED4 = 4, RESERVED5 = 5, RESERVED6 = 6, RESERVED7 = 7, RESERVED8 = 8, ETC = 9 } export interface ErrorOptions { extra?: any; statusCode?: number; } export declare enum IslandLevel { ISLAND = 0, ISLANDJS = 1, UNKNOWN = 2, RESERVED3 = 3, RESERVED4 = 4, RESERVED5 = 5, RESERVED6 = 6, RESERVED7 = 7, RESERVED8 = 8, RESERVED9 = 9 } export declare function setIslandCode(code: number): void; export declare function getIslandCode(): number; export declare function toCode(errorCode: number): number; export declare function mergeIslandJsError(errorCode: number): number; export declare class AbstractError extends Error { static splitCode(code: any): { islandCode: number; islandLevel: IslandLevel; islandLevelName: string; errorCode: number; }; static mergeCode(islandCode: number, islandLevel: IslandLevel, errorCode: number): number; static ensureUuid(extra: { [key: string]: any; uuid: string; }): { [key: string]: any; uuid: string; }; code: number; reason: string; statusCode: number; stack: any; extra: any; tattoo: any; constructor(islandCode: number, islandLevel: IslandLevel, errorCode: number, reason: string, opts?: ErrorOptions); split(): { islandCode: number; islandLevel: IslandLevel; islandLevelName: string; errorCode: number; }; } export declare class AbstractExpectedError extends AbstractError { constructor(islandCode: number, islandLevel: IslandLevel, errorCode: number, reason: string, opts?: ErrorOptions); } export declare class AbstractLogicError extends AbstractError { constructor(islandCode: number, islandLevel: IslandLevel, errorCode: number, reason: string, opts?: ErrorOptions); } export declare class AbstractFatalError extends AbstractError { constructor(islandCode: number, islandLevel: IslandLevel, errorCode: number, reason: string, opts?: ErrorOptions); } export declare class AbstractEtcError extends AbstractError { constructor(islandCode: number, islandLevel: IslandLevel, errorCode: number, reason: string, opts?: ErrorOptions); } export declare class LogicError extends AbstractLogicError { constructor(errorCode: ISLAND.ERROR, reason?: string, opts?: ErrorOptions); } export declare class FatalError extends AbstractFatalError { constructor(errorCode: ISLAND.ERROR, reason?: string, opts?: ErrorOptions); } export declare class ExpectedError extends AbstractExpectedError { constructor(errorCode: ISLAND.ERROR, reason?: string, opts?: ErrorOptions); } export declare namespace ISLAND { enum ERROR { E0001_ISLET_ALREADY_HAS_BEEN_REGISTERED = 1, E0002_DUPLICATED_ADAPTER = 2, E0003_MISSING_ADAPTER = 3, E0004_NOT_IMPLEMENTED_ERROR = 4, E0008_AMQP_CHANNEL_POOL_REQUIRED = 8, E0011_NOT_INITIALIZED_EXCEPTION = 11, E0012_ROUND_ROBIN_EVENT_Q_IS_NOT_DEFINED = 12, E0013_NOT_INITIALIZED = 13, E0015_TAG_IS_UNDEFINED = 15, E0021_NOT_IMPLEMENTED_ERROR = 21, E0022_NOT_INITIALIZED_EXCEPTION = 22, E0023_RPC_TIMEOUT = 23, E0024_ENDPOINT_METHOD_REDECLARED = 24, E0025_MISSING_ADAPTER_OPTIONS = 25, E0026_MISSING_REPLYTO_IN_RPC = 26, E0027_CONSUMER_IS_CANCELED = 27, E0028_CONSUL_ERROR = 28, E0031_WRONG_PARAMETER_SCHEMA = 31, E0032_MSG_PACK_ERROR = 32, E0033_MSG_PACK_ENCODE_ERROR = 33, E0034_HANDLE_MESSAGE_ERROR = 34, E0035_PUSH_ENCODE_ERROR = 35 } }