import type { ChainMap, ChainName } from '@hyperlane-xyz/sdk'; import type { Address } from '@hyperlane-xyz/utils'; import type { ExternalBridgeType } from '../config/types.js'; import type { StrategyRoute } from '../interfaces/IStrategy.js'; type BaseBridgeConfig = { bridgeMinAcceptedAmount?: string | number; }; export type MovableCollateralBridgeConfig = BaseBridgeConfig & { executionType: 'movableCollateral'; bridge: Address; }; export type InventoryBridgeConfig = BaseBridgeConfig & { executionType: 'inventory'; externalBridge: ExternalBridgeType; }; export type BridgeConfig = MovableCollateralBridgeConfig | InventoryBridgeConfig; export declare function isMovableCollateralConfig(config: BridgeConfig): config is MovableCollateralBridgeConfig; export declare function isInventoryConfig(config: BridgeConfig): config is InventoryBridgeConfig; export type BridgeConfigWithOverride = BridgeConfig & { override?: ChainMap>; }; /** * Gets the bridge configuration for a specific chain pair, applying any overrides * @param bridges The map of bridge configurations by chain * @param fromChain The source chain * @param toChain The destination chain * @returns The bridge configuration with any overrides applied */ export declare function getBridgeConfig(bridges: ChainMap, fromChain: ChainName, toChain: ChainName): BridgeConfig; /** * Creates a StrategyRoute from a BridgeConfig with exhaustive type checking * @param bridgeConfig The bridge configuration * @param origin The origin chain * @param destination The destination chain * @param amount The amount to transfer * @returns A StrategyRoute with the appropriate execution type */ export declare function createStrategyRoute(bridgeConfig: BridgeConfig, origin: ChainName, destination: ChainName, amount: bigint): StrategyRoute; export {}; //# sourceMappingURL=bridgeUtils.d.ts.map