declare type RequestParams = Array<string> | undefined;
declare type JsonRpcId = number | string;
export interface JsonRpcRequest {
    jsonrpc: string;
    method: string;
    params: RequestParams;
    id?: JsonRpcId | null;
}
export interface JsonRpcError<T> {
    code: number;
    message: string;
    data?: T;
}
export interface JsonRpcResponse<T> {
    jsonrpc: string;
    result?: string;
    error?: JsonRpcError<T>;
    id?: JsonRpcId | null;
}
export declare class JsonRpcClient<T> {
    url: string;
    constructor(url: string);
    post(method: string, params?: RequestParams): Promise<JsonRpcResponse<T>>;
}
export {};
