import { ethers } from 'ethers';
import { GasEstimate, SimulationResult, GasStrategyType } from './types';
export declare class GasOptimizer {
    private provider;
    private currentStrategy;
    constructor(provider: ethers.Provider);
    private getDefaultStrategy;
    setStrategy(type: GasStrategyType): Promise<void>;
    estimateGas(tx: ethers.TransactionRequest): Promise<GasEstimate>;
    simulateTransaction(tx: ethers.TransactionRequest): Promise<SimulationResult>;
    private estimatePriorityFee;
    enableMEVProtection(): Promise<void>;
    optimizeGasPrice(baseGasPrice: bigint): Promise<bigint>;
    private getNetworkCongestion;
}
