import { InterchainGasPaymaster, ProxyAdmin, StorageGasOracle } from '@hyperlane-xyz/core'; import { HyperlaneContracts } from '../contracts/types.js'; import { HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js'; import { ContractVerifier } from '../deploy/verify/ContractVerifier.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainName } from '../types.js'; import { IgpFactories } from './contracts.js'; import { IgpConfig } from './types.js'; export declare class HyperlaneIgpDeployer extends HyperlaneDeployer { constructor(multiProvider: MultiProvider, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean); protected assertLegacyIgpConfig(chain: ChainName, config: IgpConfig): void; deployInterchainGasPaymaster(chain: ChainName, proxyAdmin: ProxyAdmin, storageGasOracle: StorageGasOracle, config: IgpConfig): Promise; deployStorageGasOracle(chain: ChainName, config: IgpConfig): Promise; /** * Reconciles the remote gas data stored on a StorageGasOracle against the * desired config, submitting only the drifted entries. Shared by the native * oracle and per-fee-token oracles. */ protected configureStorageGasOracle(chain: ChainName, gasOracle: StorageGasOracle, oracleConfig: NonNullable, overhead: IgpConfig['overhead']): Promise; /** * Wires per-fee-token gas oracles on the IGP for ERC20-denominated gas * payments. Target-driven and idempotent: each fee token's oracle is resolved * from the on-chain tokenGasOracles mapping (no off-chain bookkeeping), or a * dedicated StorageGasOracle is deployed if none is wired yet. Must run while * the deployer still owns the IGP (setTokenGasOracles is onlyOwner) and after * the native gas params, since the IGP requires a destination's native oracle * to exist before a token oracle can be set for it. */ protected configureTokenGasOracles(chain: ChainName, igp: InterchainGasPaymaster, config: IgpConfig): Promise; deployContracts(chain: ChainName, config: IgpConfig): Promise>; } //# sourceMappingURL=HyperlaneIgpDeployer.d.ts.map