import { Abi, ExtractAbiFunctionNames, ExtractAbiFunction, AbiParametersToPrimitiveTypes } from "abitype";
import { Address, RpcStateOverride } from "viem";
import { AccountOpts, BuildUserOperationResponse, SendUserOperationResponse } from "./types";
export declare class Instance {
private readonly accountAbi;
private readonly factoryAbi;
private readonly factoryAddress;
private readonly entryPointAddress;
private readonly ethClient;
private readonly bundlerClient;
private salt;
private waitTimeoutMs;
private waitIntervalMs;
private sender;
private initCode;
private callData;
private nonceKey;
private stateOverrideSet?;
private setFactoryData;
private requestSignature;
private requestGasPrice;
private requestGasValues;
private requestPaymaster?;
private onBuild?;
constructor(opts: AccountOpts);
private getInitCode;
private getChainId;
private getByteCode;
private resolveSenderMeta;
getWaitTimeoutMs(): number;
setWaitTimeoutMs(time: number): Instance;
getWaitIntervalMs(): number;
setWaitIntervalMs(time: number): Instance;
getSalt(): bigint;
setSalt(salt: bigint): Instance;
getNonceKey(): bigint;
setNonceKey(key: bigint): Instance;
getNonce(): Promise;
setStateOverrideSetForEstimate(stateOverrideSet: RpcStateOverride): Instance;
clearStateOverrideSetForEstimate(): Instance;
getSender(): Promise;
encodeCallData>(method: M, inputs: AbiParametersToPrimitiveTypes["inputs"]>): Instance;
buildUserOperation(): Promise;
sendUserOperation(): Promise;
}