import { ethers, BigNumber } from 'ethers';
import { Provider } from '@ethersproject/providers';
import { BaseWrapper } from './base-wrapper';
import { GasConfig } from '../types';
/**
 * Base class for all contract wrappers that handle transactions
 * Extends BaseWrapper with gas handling capabilities
 */
export declare class BaseTransactionWrapper extends BaseWrapper {
    /**
     * Create transaction wrapper instance
     * @param provider Provider instance
     * @param signer Signer instance
     */
    constructor(provider: Provider, signer: ethers.Signer);
    /**
     * Get gas price data based on current network conditions and user configuration
     * @param config Optional gas configuration
     * @returns Gas price data including baseFeePerGas, maxFeePerGas, and maxPriorityFeePerGas
     */
    protected getGasPriceData(config?: GasConfig): Promise<{
        baseFeePerGas?: BigNumber;
        maxFeePerGas?: BigNumber;
        maxPriorityFeePerGas?: BigNumber;
    }>;
    /**
     * Create transaction overrides object from gas configuration
     * @param gasConfig Optional gas configuration
     * @returns Transaction overrides object for ethers.js
     */
    protected createOverrides(gasConfig?: GasConfig): ethers.Overrides;
}
//# sourceMappingURL=base-transaction-wrapper.d.ts.map