import { ChainGateClient, EvmApi } from 'chaingate-client';
import { Address } from '../../../Address';
import { FeeLevel } from '../../FeeLevel';
import { CurrencyPreparedTransaction } from '../../CurrencyPreparedTransaction';
import { EvmFee } from './EvmFee';
import { EvmCurrencyInfo } from './EvmCurrencyInfo';
import { PrivateKeyProvider } from '../../CurrencyProviders';
import { CurrencyAmount } from '../../CurrencyAmount';
import { EvmConfirmedTransaction } from './EvmConfirmedTransaction';
export declare class EvmPreparedTransaction extends CurrencyPreparedTransaction {
    private readonly api;
    private readonly currencyInfo;
    private readonly client;
    protected _suggestedFees: Record<FeeLevel, EvmFee>;
    private readonly privateKeyProvider;
    readonly data: string;
    constructor(client: ChainGateClient, api: EvmApi, currencyInfo: EvmCurrencyInfo, fromAddress: Address, toAddress: Address, amount: CurrencyAmount, data: string, privateKeyProvider: PrivateKeyProvider);
    broadcast(fee: FeeLevel | EvmFee): Promise<EvmConfirmedTransaction>;
    protected buildSuggestedFees(): Promise<Record<FeeLevel, EvmFee>>;
    private processFeeLevels;
    fee(maxFeePerGas: string | CurrencyAmount, maxPriorityFeePerGas: string | CurrencyAmount): Promise<EvmFee>;
}
