import { Abi, Call, InvocationsDetails, InvokeFunctionResponse, Signature } from 'starknet';
import { TypedData } from '@starknet-io/types-js';

export interface IStarknetRpc {
    wallet_signTypedData(params: {
        accountAddress: string;
        typedData: TypedData;
    }): Promise<{
        signature: Signature;
    }>;
    wallet_requestAddInvokeTransaction(params: {
        accountAddress: string;
        executionRequest: {
            calls: Call[];
            abis?: Abi[];
            invocationDetails?: InvocationsDetails;
        };
    }): Promise<InvokeFunctionResponse>;
}
