import { type Logger } from 'pino'; import { type ChainMap, type Token } from '@hyperlane-xyz/sdk'; import { type StrategyConfig } from '../config/types.js'; import { type IStrategy } from '../interfaces/IStrategy.js'; import { type Metrics } from '../metrics/Metrics.js'; export declare class StrategyFactory { /** * Creates a strategy from an array of strategy configs. * - Single strategy (array with 1 element): Creates that strategy directly * - Multiple strategies (array with 2+ elements): Creates CompositeStrategy * * @param strategyConfigs Array of strategy configurations (always array format) * @param tokensByChainName A map of chain->token to ease the lookup of token by chain * @param initialTotalCollateral The initial total collateral of the rebalancer * @param logger The logger to use for the strategy * @param metrics The metrics to use for the strategy * @param minAmountsByChain Optional minimum amounts per chain for filtering routes * @returns A concrete strategy implementation */ static createStrategy(strategyConfigs: StrategyConfig[], tokensByChainName: ChainMap, initialTotalCollateral: bigint, logger: Logger, metrics?: Metrics, minAmountsByChain?: ChainMap): IStrategy; /** * Create a single strategy from config. */ private static createSingleStrategy; private static extractBridgeConfigs; } //# sourceMappingURL=StrategyFactory.d.ts.map