import { ErrorObject, ErrorDetails } from './interfaces';
/**
 * Base JSON RPC 2 error class. Contains JSON RPC 2 conform error object.
 */
export declare class JSONRPC2Error extends Error {
    readonly object: ErrorObject;
    /**
     * @param code {number} - JSON RPC 2 error code
     * @param details {ErrorDetails} - optional error details to be appended to the error object
     */
    constructor(code: number, details?: ErrorDetails);
}
/**
 * JSON RPC 2 Parse error class. Contains JSON RPC 2 conform error object including code.
 */
export declare class ParseError extends JSONRPC2Error {
    constructor(details?: ErrorDetails);
}
/**
 * JSON RPC 2 Invalid request error class. Contains JSON RPC 2 conform error object including code.
 */
export declare class InvalidRequest extends JSONRPC2Error {
    constructor(details?: ErrorDetails);
}
/**
 * JSON RPC 2 Invalid method error class. Contains JSON RPC 2 conform error object including code.
 */
export declare class InvalidMethod extends JSONRPC2Error {
    constructor(details?: ErrorDetails);
}
/**
 * JSON RPC 2 Invalid params error class. Contains JSON RPC 2 conform error object including code.
 */
export declare class InvalidParams extends JSONRPC2Error {
    constructor(details?: ErrorDetails);
}
/**
 * JSON RPC 2 Internal error class. Contains JSON RPC 2 conform error object including code.
 */
export declare class InternalError extends JSONRPC2Error {
    constructor(details?: ErrorDetails);
}
