import { Address, Hex } from 'viem';
import { NitroliteRPCMessage, MessageSigner, SingleMessageVerifier, MultiMessageVerifier, ApplicationRPCMessage, RPCRequest } from './types';
export declare class NitroliteRPC {
    static createRequest({ method, params, requestId, timestamp, signatures, }: RPCRequest): NitroliteRPCMessage;
    static createAppRequest({ requestId, method, params, timestamp }: RPCRequest, sid: Hex): ApplicationRPCMessage;
    private static getMessagePayload;
    static signRequestMessage(message: NitroliteRPCMessage, signer: MessageSigner): Promise<NitroliteRPCMessage>;
    static verifySingleSignature(message: NitroliteRPCMessage, expectedSigner: Address, verifier: SingleMessageVerifier): Promise<boolean>;
    static verifyMultipleSignatures(message: NitroliteRPCMessage, expectedSigners: Address[], verifier: MultiMessageVerifier): Promise<boolean>;
}
