import { GasRouter, TokenRouter } from '@hyperlane-xyz/core'; import { HyperlaneContracts, HyperlaneContractsMap } from '../contracts/types.js'; import { ContractVerifier } from '../deploy/verify/ContractVerifier.js'; import { HyperlaneIsmFactory } from '../ism/HyperlaneIsmFactory.js'; import { MultiProvider } from '../providers/MultiProvider.js'; import { GasRouterDeployer } from '../router/GasRouterDeployer.js'; import { ProxiedFactories } from '../router/types.js'; import { ChainMap, ChainName } from '../types.js'; import { TokenMetadataMap } from './TokenMetadataMap.js'; import { DeployableTokenType } from './config.js'; import { HypERC20Factories, HypERC20contracts, HypERC721Factories, TokenFactories } from './contracts.js'; import { HypTokenConfig, HypTokenRouterConfig, WarpRouteDeployConfig } from './types.js'; export declare const TOKEN_INITIALIZE_SIGNATURE: (contractName: HypERC20contracts[DeployableTokenType]) => "initialize" | "initialize(address,address)" | "initialize(address,address,string[])" | "initialize(address,string[])"; declare abstract class TokenDeployer extends GasRouterDeployer { constructor(multiProvider: MultiProvider, factories: Factories, loggerName: string, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean); constructorArgs(_: ChainName, config: HypTokenRouterConfig): Promise; initializeFnSignature(name: string): string; initializeArgs(chain: ChainName, config: HypTokenRouterConfig): Promise; static deriveTokenMetadata(multiProvider: MultiProvider, configMap: WarpRouteDeployConfig): Promise; protected configureCctpDomains(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected configureCctpV2MaxFee(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected configureDepositAddressDestinations(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected configureOftDomains(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected setRebalancers(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected setAllowedBridges(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected setBridgesTokenApprovals(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected setEverclearFeeParams(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected setEverclearOutputAssets(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; protected enrollCrossCollateralRouters(configMap: ChainMap, deployedContractsMap: HyperlaneContractsMap): Promise; deploy(configMap: ChainMap): Promise>; } export declare class HypERC20Deployer extends TokenDeployer { constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean); router(contracts: HyperlaneContracts): TokenRouter; routerContractKey(config: HypTokenRouterConfig): keyof HypERC20Factories; routerContractName(config: HypTokenRouterConfig): string; deployContractFromFactory(chain: ChainName, factory: any, contractName: string, constructorArgs: any[], initializeArgs?: any[], shouldRecover?: boolean, implementationAddress?: string): Promise; deployAndConfigureTokenFees(deployedContractsMap: HyperlaneContractsMap, configMap: ChainMap): Promise; } export declare class HypERC721Deployer extends TokenDeployer { constructor(multiProvider: MultiProvider, ismFactory?: HyperlaneIsmFactory, contractVerifier?: ContractVerifier); router(contracts: HyperlaneContracts): GasRouter; routerContractKey(config: HypTokenRouterConfig): keyof HypERC721Factories; routerContractName(config: HypTokenRouterConfig): string; } export {}; //# sourceMappingURL=deploy.d.ts.map