export declare enum ErrorCode {
    BAD_AUTHENTICATION = "BAD_AUTHENTICATION",
    BAD_SUBJECT = "BAD_SUBJECT",
    CONNECTION_CLOSED = "CONNECTION_CLOSED",
    CONNECTION_DRAINING = "CONNECTION_DRAINING",
    CONNECTION_REFUSED = "CONNECTION_REFUSED",
    CONNECTION_TIMEOUT = "CONNECTION_TIMEOUT",
    INVALID_PAYLOAD_TYPE = "INVALID_PAYLOAD",
    UNKNOWN = "UNKNOWN_ERROR",
    WSS_REQUIRED = "WSS_REQUIRED",
    SUB_CLOSED = "SUB_CLOSED",
    SUB_DRAINING = "SUB_DRAINING",
    PERMISSIONS_VIOLATION = "PERMISSIONS_VIOLATION",
    AUTHORIZATION_VIOLATION = "AUTHORIZATION_VIOLATION",
    NATS_PROTOCOL_ERR = "NATS_PROTOCOL_ERR"
}
export declare class Messages {
    static messages: Messages;
    messages: {
        [key: string]: string;
    };
    private constructor();
    static getMessage(s: string): string;
    getMessage(s: string): string;
}
export declare class NatsError extends Error {
    name: string;
    message: string;
    code: string;
    chainedError?: Error;
    constructor(message: string, code: string, chainedError?: Error);
    static errorForCode(code: string, chainedError?: Error): NatsError;
}
//# sourceMappingURL=error.d.ts.map