import type { HyperlaneContracts } from '../contracts/types.js';
import { DeployerOptions, HyperlaneDeployer } from '../deploy/HyperlaneDeployer.js';
import { MultiProvider } from '../providers/MultiProvider.js';
import { ChainName } from '../types.js';
import { EvmTokenFeeReader } from './EvmTokenFeeReader.js';
import { EvmTokenFeeFactories } from './contracts.js';
import { TokenFeeConfig, TokenFeeConfigInput } from './types.js';
export declare class EvmTokenFeeDeployer extends HyperlaneDeployer<TokenFeeConfig, EvmTokenFeeFactories> {
    protected readonly multiProvider: MultiProvider;
    protected readonly chain: ChainName;
    protected readonly tokenFeeReader: EvmTokenFeeReader;
    constructor(multiProvider: MultiProvider, chain: ChainName, options?: DeployerOptions);
    deployContracts(chain: ChainName, config: TokenFeeConfigInput): Promise<HyperlaneContracts<EvmTokenFeeFactories>>;
    private deployFee;
    private deployOffchainQuotedLinearFee;
    private deployRoutingFee;
    private deployCrossCollateralRoutingFee;
}
//# sourceMappingURL=EvmTokenFeeDeployer.d.ts.map