import { ITatumSdkContainer, Network, TatumSdkExtension } from '@tatumio/tatum';
import { SimulationResult, TokenSimulationResult, TokenTransfer, Transfer } from './types';
export declare class TransactionSimulator extends TatumSdkExtension {
    private readonly evmRpc;
    private minifiedTracer;
    constructor(tatumSdkContainer: ITatumSdkContainer);
    init(): Promise<void>;
    simulateTransfer(payload: Transfer): Promise<SimulationResult>;
    simulateTransferErc20(payload: TokenTransfer): Promise<TokenSimulationResult>;
    private getTokenDetails;
    private prepareFees;
    private getStorageAddresses;
    private getTransferPayload;
    private getTokenTransferPayload;
    private getTraceCall;
    private mapTraceToSimulationResultNative;
    private handleTraceError;
    private mapTraceToSimulationResultErc20;
    private generateErc20TransferData;
    supportedNetworks: Network[];
}
