import { JsonRpcPayload, JsonRpcPayloadError, JsonRpcPayloadNotification, JsonRpcPayloadRequest, JsonRpcPayloadResponse, JsonRpcVersion } from './json-rpc.type';
interface Candidate {
    error?: unknown;
    id?: unknown;
    jsonrpc?: unknown;
    method?: unknown;
    params?: unknown;
    result?: unknown;
}
export declare const isNotificationPayload: (message: Candidate, version: JsonRpcVersion) => message is JsonRpcPayloadNotification;
export declare const isRequestPayload: (message: Candidate, version: JsonRpcVersion) => message is JsonRpcPayloadRequest;
export declare const isErrorPayload: (message: Candidate, version: JsonRpcVersion) => message is JsonRpcPayloadError;
export declare const isResponsePayload: (message: any, version: JsonRpcVersion) => message is JsonRpcPayloadResponse;
declare type MaybeRecursiveArray<T> = T | MaybeRecursiveArrayArray<T>;
interface MaybeRecursiveArrayArray<T> extends Array<MaybeRecursiveArray<T>> {
}
export declare function parse(message: string | MaybeRecursiveArray<object>): MaybeRecursiveArray<JsonRpcPayload>;
export declare namespace parse {
    var result: (message: string | object) => any;
}
export default parse;
