import { BigNumber, BigNumberish, Contract } from 'ethers';
import { EtherspotWallet, EtherspotWalletFactory } from '../contracts';
import { BaseApiParams, BaseAccountAPI } from './BaseAccountAPI';
export interface EtherspotWalletApiParams extends BaseApiParams {
    factoryAddress?: string;
    index?: number;
    predefinedAccountAddress?: string;
}
export declare class EtherspotWalletAPI extends BaseAccountAPI {
    factoryAddress?: string;
    index: number;
    accountAddress?: string;
    predefinedAccountAddress?: string;
    accountContract?: EtherspotWallet;
    factory?: EtherspotWalletFactory;
    constructor(params: EtherspotWalletApiParams);
    checkAccountAddress(address: string): Promise<void>;
    _getAccountContract(): Promise<EtherspotWallet | Contract>;
    getAccountInitCode(): Promise<string>;
    getCounterFactualAddress(): Promise<string>;
    getNonce(key?: number): Promise<BigNumber>;
    encodeExecute(target: string, value: BigNumberish, data: string): Promise<string>;
    signUserOpHash(userOpHash: string): Promise<string>;
    get epView(): import("../contracts").EntryPoint;
    encodeBatch(targets: string[], values: BigNumberish[], datas: string[]): Promise<string>;
}
