import { type TAbiItem } from '../types/TAbi'; import type { TAccount } from "../models/TAccount"; import type { Web3Client } from '../clients/Web3Client'; import type { TAddress } from '../models/TAddress'; import { ITxBuilderNonceOptions, ITxBuilderOptions } from './ITxBuilderOptions'; import { TEth } from '../models/TEth'; export declare class TxDataBuilder { client: Web3Client; account: { address?: TAddress; }; data: TEth.TxLike; config: ITxBuilderOptions; abi: TAbiItem[]; constructor(client: Web3Client, account: { address?: TAddress; }, data: TEth.TxLike, config?: ITxBuilderOptions); setInputDataWithABI(abi: string | TAbiItem, ...params: any[]): this; setValue(value: number | string | bigint): this; setConfig(config: ITxBuilderOptions): this; ensureNonce(options?: ITxBuilderNonceOptions): Promise; setNonce(local?: ITxBuilderNonceOptions): Promise; ensureGas(): Promise; setGas({ price, priceRatio, gasLimitRatio, gasLimit, gasEstimation, from, type, }?: { price?: bigint; priceRatio?: number; gasLimitRatio?: number; gasLimit?: string | number; gasEstimation?: boolean; from?: TAddress; type?: 0 | 1 | 2; }): Promise; increaseGas(ratio: number): void; getTxData(client?: Web3Client): TEth.TxLike; /** Returns raw signed transaction */ signToString(privateKey: TEth.EoAccount['key']): Promise; toJSON(): { account: { address: `0x${string}`; }; tx: TEth.DataLike; config: ITxBuilderOptions; }; save(path: string, additionalProperties?: any): Promise; getInputDataInfo(): Promise<{ method: string; params: any; }>; private getGasEstimation; static fromJSON(client: Web3Client, account: TAccount, json: { config: ITxBuilderOptions; tx: TEth.TxLike; }): TxDataBuilder; static normalize(data: Partial): Partial>; static getGasPrice(builder: TxDataBuilder): bigint; }