import { ID, JSONRPCErrorObject, JSONRPCResult, RequestObject, ResponseObject } from './jsonrpc';
export declare class Request {
    readonly id: ID;
    readonly namespace: string;
    readonly name: string;
    readonly params?: Record<string, unknown>;
    constructor(id: ID, name: string, params?: Record<string, unknown>);
    static fromJSONRPCRequest(data: RequestObject | string): Request;
    toJSONRPCRequest(): RequestObject;
    buildJSONRPCResponse<T = JSONRPCResult>({ error, result, }: {
        error?: JSONRPCErrorObject;
        result?: T;
    }): ResponseObject<T>;
    key(): string;
}
