import { EstimateGasData } from '@safe-global/types-kit';
import { EstimateFeeFunctionProps, IFeeEstimator } from '../../../../packs/safe-4337/types';
export type GenericFeeEstimatorOverrides = {
    callGasLimit?: bigint;
    verificationGasLimit?: bigint;
    preVerificationGas?: bigint;
    maxFeePerGas?: bigint;
    maxPriorityFeePerGas?: bigint;
    maxFeePerGasMultiplier?: number;
    maxPriorityFeePerGasMultiplier?: number;
    defaultVerificationGasLimitOverhead?: bigint;
};
/**
 * GenericFeeEstimator is a class that implements the IFeeEstimator interface. You can implement three optional methods that will be called during the estimation process:
 * - preEstimateUserOperationGas: Setup the userOperation before calling the eth_estimateUserOperation gas method.
 * - postEstimateUserOperationGas: Adjust the userOperation values returned after calling the eth_estimateUserOperation method.
 */
export declare class GenericFeeEstimator implements IFeeEstimator {
    #private;
    defaultVerificationGasLimitOverhead: bigint;
    overrides: GenericFeeEstimatorOverrides;
    rpcUrl: string;
    constructor(rpcUrl: string, overrides?: GenericFeeEstimatorOverrides);
    preEstimateUserOperationGas({ userOperation, entryPoint, paymasterOptions, protocolKit }: EstimateFeeFunctionProps): Promise<EstimateGasData>;
    postEstimateUserOperationGas({ userOperation, entryPoint, paymasterOptions, protocolKit }: EstimateFeeFunctionProps): Promise<EstimateGasData>;
}
//# sourceMappingURL=GenericFeeEstimator.d.ts.map