import { Address, Client } from "viem";
import { GasOverheads } from "../../models/GasOverheads.js";
import { PackedUserOperation } from "../../models/PackedUserOperation.js";
/**
 * Calculates `preVerificationGas` using the following
 * - calcDefaultPreVerificationGas get initial `preVerificationGas` estimation
 * - calcOptimismPreVerificationGas if OPStack chain
 * - calcArbitrumPreVerificationGas if Arbitrum Orbit chain
 * TODO: What are these? Is the calculation just greedy?
 * - Additional estimations for custom chainIds
 * @param publicClient
 * @param packedUserOperation
 * @param entryPoint
 * @param chainId
 * @param overheads
 * @returns
 */
export declare function calcPreVerificationGas(client: Client, parameters: {
    packedUserOperation: PackedUserOperation;
    entryPoint: Address;
    overheads?: GasOverheads;
}): Promise<bigint>;
