import { EthTransactionSend, TypedData } from 'eth-provider-types'; import { EthChainDefinitionWithRpcUrl, EthSignMethod, EthSignMethodParams } from '../types'; export declare const enum TransactionKind { SendTransaction = "ETH_SEND_TRANSACTION", SignTransaction = "ETH_SIGN_TRANSACTION", Sign = "ETH_SIGN", SignTypedData = "ETH_SIGN_TYPED_DATA", SignTypedDataV1 = "ETH_SIGN_TYPED_DATA_V1", SignTypedDataV3 = "ETH_SIGN_TYPED_DATA_V3", SignTypedDataV4 = "ETH_SIGN_TYPED_DATA_V4" } export interface Transaction { id: string; kind: TransactionKind; payload: EthTransactionSend | SignaturePayload | TypedData; context: TransactionContext; } export interface PaymasterDefinition { paymasterUrl: string; policyId?: string; rpcMethod?: string; } export interface WaasDefinition { enabled: boolean; userId?: string; transactionProxyUrl?: string; } export interface TransactionContext { chainId?: number; rpcUrl?: string; paymaster?: PaymasterDefinition | PaymasterDefinition[]; from?: string; [key: string]: unknown; } export interface SignaturePayload { from: string; message: string; } /** * Responsible for creating the Transaction object from a given RPC payload * @param req JSON-RPC payload to extract the values from */ export declare const createBitskiTransaction: (method: T, params: EthSignMethodParams[T], chain: EthChainDefinitionWithRpcUrl, paymaster?: PaymasterDefinition | PaymasterDefinition[], additionalContext?: Record) => Transaction;