import { Signer } from "@ethersproject/abstract-signer";
import { TransactionRequest } from "@ethersproject/abstract-provider";
import { JsonRpcProvider, TransactionResponse } from "@ethersproject/providers";
import { Deferrable } from "@ethersproject/properties";
import { ClientConfig, ERC4337EthersSigner, HttpRpcClient } from "@account-abstraction/sdk";
import { MyWalletApi } from "./MyWalletApi";
import { Banana4337Provider } from "./Banana4337Provider";
import { PaymasterOptions } from "./interfaces/Banana.interface";
export declare class BananaSigner extends ERC4337EthersSigner {
    readonly config: ClientConfig;
    readonly originalSigner: Signer;
    readonly erc4337provider: Banana4337Provider;
    readonly httpRpcClient: HttpRpcClient;
    readonly smartAccountAPI: MyWalletApi;
    jsonRpcProvider: JsonRpcProvider;
    address: string;
    paymasterOption: PaymasterOptions | undefined;
    ownerSigner: Signer;
    constructor(config: ClientConfig, originalSigner: Signer, erc4337provider: Banana4337Provider, httpRpcClient: HttpRpcClient, smartAccountAPI: MyWalletApi, provider: JsonRpcProvider, _paymasterOption: PaymasterOptions | undefined);
    sendTransaction(transaction: Deferrable<TransactionRequest>): Promise<TransactionResponse>;
    sendBatchTransaction(transactions: Deferrable<TransactionRequest>[]): Promise<TransactionResponse>;
}
