import { ethers } from "ethers"; import type { CommunityConfig } from "../config"; export interface UserOpData { [key: string]: string; } export interface UserOpExtraData { description: string; } export interface UserOp { sender: string; nonce: bigint; initCode: Uint8Array; callData: Uint8Array; callGasLimit: bigint; verificationGasLimit: bigint; preVerificationGas: bigint; maxFeePerGas: bigint; maxPriorityFeePerGas: bigint; paymasterAndData: Uint8Array; signature: Uint8Array; } export interface BundlerOptions { accountFactoryAddress?: string; } export declare class BundlerService { private config; private provider; private accountType; private options; constructor(config: CommunityConfig, options?: BundlerOptions); senderAccountExists(sender: string): Promise; private generateUserOp; private prepareUserOp; private paymasterSignUserOp; private signUserOp; private submitUserOp; call(signer: ethers.Signer, contractAddress: string, sender: string, data: Uint8Array, value?: bigint, userOpData?: UserOpData, extraData?: UserOpExtraData, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; sendERC20Token(signer: ethers.Signer, tokenAddress: string, from: string, to: string, amount: string, description?: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; mintERC20Token(signer: ethers.Signer, tokenAddress: string, from: string, to: string, amount: string, description?: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; burnFromERC20Token(signer: ethers.Signer, tokenAddress: string, sender: string, from: string, amount: string, description?: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; setProfile(signer: ethers.Signer, signerAccountAddress: string, profileAccountAddress: string, username: string, ipfsHash: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; burnProfile(signer: ethers.Signer, signerAccountAddress: string, profileAccountAddress: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; awaitSuccess(txHash: string, timeout?: number): Promise; grantRole(signer: ethers.Signer, tokenAddress: string, sender: string, role: string, account: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; revokeRole(signer: ethers.Signer, tokenAddress: string, sender: string, role: string, account: string, options?: { accountFactoryAddress?: string; smartAccountIndex?: number; }): Promise; } //# sourceMappingURL=index.d.ts.map