import { type EvmMovableCollateralAdapter, type IToken, type TokenAmount } from '@hyperlane-xyz/sdk'; import { type InventoryRoute, type MovableCollateralRoute, type Route } from './IStrategy.js'; export type RebalancerType = 'movableCollateral' | 'inventory'; export interface ExecutionResult { route: R; success: boolean; error?: string; txHash?: string; reason?: string; } export interface MovableCollateralExecutionResult extends ExecutionResult { messageId: string; } export interface InventoryExecutionResult extends ExecutionResult { messageId?: string; amountSent?: bigint; } export interface IRebalancer = ExecutionResult> { readonly rebalancerType: RebalancerType; rebalance(routes: R[]): Promise; } export type IMovableCollateralRebalancer = IRebalancer; export type IInventoryRebalancer = IRebalancer; type PreparedOriginTokenAmount = TokenAmount; export type PreparedTransaction = { populatedTx: Awaited>; route: MovableCollateralRoute & { intentId: string; }; originTokenAmount: PreparedOriginTokenAmount; }; export {}; //# sourceMappingURL=IRebalancer.d.ts.map