import { Address, WithAddress } from '@hyperlane-xyz/utils'; import { MultiProvider } from '../providers/MultiProvider.js'; import { ChainName, ChainNameOrId } from '../types.js'; import { HyperlaneReader } from '../utils/HyperlaneReader.js'; import { CrossCollateralRoutingFeeConfig, FeeParameters, RoutingFeeConfig, TokenFeeConfig } from './types.js'; import { CrossCollateralRoutersByDomain } from './crossCollateralUtils.js'; export type DerivedTokenFeeConfig = WithAddress; type DerivedCrossCollateralFeeContracts = Record>; export type DerivedRoutingFeeConfig = WithAddress & { feeContracts: Record; }; export type DerivedCrossCollateralRoutingFeeConfig = WithAddress & { feeContracts: DerivedCrossCollateralFeeContracts; }; export type TokenFeeReaderParams = { address: Address; routingDestinations?: number[]; crossCollateralRouters?: CrossCollateralRoutersByDomain; }; export declare class EvmTokenFeeReader extends HyperlaneReader { protected readonly multiProvider: MultiProvider; protected readonly chain: ChainNameOrId; protected readonly concurrency: number; protected readonly logger: import("pino").default.Logger; constructor(multiProvider: MultiProvider, chain: ChainNameOrId, concurrency?: number); deriveTokenFeeConfig(params: TokenFeeReaderParams): Promise; private deriveLinearFeeConfig; private deriveOffchainQuotedLinearFeeConfig; private deriveProgressiveFeeConfig; private deriveRegressiveFeeConfig; private deriveRoutingFeeConfig; private deriveCrossCollateralRoutingFeeConfig; private createCachedFeeConfigReader; private deriveCrossCollateralDestinationFees; convertFromBps(bps: number): FeeParameters; } export {}; //# sourceMappingURL=EvmTokenFeeReader.d.ts.map