import { ethers } from 'ethers'; import { z } from 'zod'; import { ProtocolType } from '@hyperlane-xyz/utils'; export declare const StorageGasOracleConfigSchema: z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; }, z.core.$strip>; export type StorageGasOracleConfig = z.output; export declare const ProtocolAgnositicGasOracleConfigSchema: z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; tokenDecimals: z.ZodOptional; }, z.core.$strip>; export type ProtocolAgnositicGasOracleConfig = z.output; export declare const IgpCostDataSchema: z.ZodObject<{ handleGasAmount: z.ZodNumber; totalGasAmount: z.ZodNumber; totalUsdCost: z.ZodNumber; }, z.core.$strip>; export type IgpCostData = z.output; export declare const ProtocolAgnositicGasOracleConfigWithTypicalCostSchema: z.ZodObject<{ gasPrice: z.ZodString; tokenExchangeRate: z.ZodString; tokenDecimals: z.ZodOptional; typicalCost: z.ZodOptional>; }, z.core.$strip>; export type ProtocolAgnositicGasOracleConfigWithTypicalCost = z.output; export type OracleData = { tokenExchangeRate: ethers.BigNumber; gasPrice: ethers.BigNumber; }; export declare const formatGasOracleConfig: (localChainProtocol: ProtocolType, config: OracleData) => { tokenExchangeRate: string; gasPrice: string; }; export declare const oracleConfigToOracleData: (config: StorageGasOracleConfig) => OracleData; export declare const serializeDifference: (localChainProtocol: ProtocolType, actual: OracleData, expected: OracleData) => string; //# sourceMappingURL=types.d.ts.map