import { TypedDataDomain, TypedDataField, Signer as AbstractSigner } from '@ethersproject/abstract-signer'; import { ChainId, SignUserPaidTransactionDto } from '@biconomy/core-types'; import { JsonRpcProvider, TransactionResponse } from '@ethersproject/providers'; import { IRelayer } from '@biconomy/relayer'; import { BytesLike } from '@ethersproject/bytes'; import { Deferrable } from 'ethers/lib/utils'; import { TransactionRequest } from '@ethersproject/providers'; import SmartAccount from '../SmartAccount'; export declare abstract class Signer extends AbstractSigner { abstract getProvider(chainId?: number): Promise; abstract getRelayer(chainId?: number): Promise; abstract signMessage(message: BytesLike, chainId?: ChainId): Promise; abstract signTypedData(domain: TypedDataDomain, types: Record>, message: Record, chainId?: ChainId, allSigners?: boolean): Promise; abstract sendTransaction(transaction: Deferrable, engine?: SmartAccount): Promise; abstract signTransaction(signUserPaidTransactionDto: SignUserPaidTransactionDto): Promise; }