import { BaseContract, ContractFactory } from 'ethers'; import { DeployContractResult, DeployFullInfrastructureCommand, DeployFullInfrastructureResult, DeployScsContractListCommand, DeployScsContractListResult, DeployStableCoinCommand, DeployStableCoinResult, DeployContractCommand } from '@scripts'; import Environment from '@environment'; export declare let environment: Environment; export declare function deployStableCoin({ wallet, tokenStruct, businessLogicResolverProxyAddress, stableCoinFactoryProxyAddress, grantKYCToOriginalSender, useEnvironment, }: DeployStableCoinCommand): Promise; export declare function deployFullInfrastructure({ signer, network, useDeployed, useEnvironment, partialBatchDeploy, }: DeployFullInfrastructureCommand): Promise; export declare function deployScsContractList({ signer, network, useDeployed, }: DeployScsContractListCommand): Promise; /** * Deploys a smart contract and optionally its proxy and proxy admin. * * @param {DeployContractCommand} params - The deployment parameters. * @param {ContractName} params.name - The name of the contract to deploy. * @param {Signer} params.signer - The signer to use for the deployment. * @param {Array} params.args - The arguments to pass to the contract constructor. * @returns {Promise} A promise that resolves to the deployment result. * * @example * const result = await deployContract({ * name: 'MyContract', * signer: mySigner, * args: [arg1, arg2], * }); */ export declare function deployContract>>({ name, factory, signer, args, deployType, deployedContract, overrides, ...withResolverProxyParams }: DeployContractCommand): Promise>;