import { Signer, Wallet } from 'ethers'; import { IStableCoinFactory } from '@contracts'; export interface TokenInformation { name: string; symbol: string; decimals?: bigint; initialSupply: bigint; maxSupply?: bigint; memo: string; freeze: boolean; } interface DeployStableCoinCommandParamsCommon { businessLogicResolverProxyAddress: string; stableCoinFactoryProxyAddress: string; grantKYCToOriginalSender?: boolean; useEnvironment?: boolean; } export interface DeployStableCoinCommandNewParams extends DeployStableCoinCommandParamsCommon { signer: Signer; tokenInformation: TokenInformation; allToContract?: boolean; reserveAddress?: string; updatedAtThreshold?: string; initialAmountDataFeed?: string; createReserve?: boolean; addKyc?: boolean; addFeeSchedule?: boolean; allRolesToCreator?: boolean; rolesToAccount?: string; initialMetadata?: string; proxyAdminOwnerAccount?: string; stableCoinConfigurationId?: IStableCoinFactory.ResolverProxyConfigurationStruct; reserveConfigurationId?: IStableCoinFactory.ResolverProxyConfigurationStruct; addSupply?: boolean; addWipe?: boolean; } interface DeployStableCoinCommandParams extends DeployStableCoinCommandParamsCommon { wallet: Wallet; tokenStruct: IStableCoinFactory.TokenStructStruct; } export default class DeployStableCoinCommand { readonly wallet: Wallet; readonly tokenStruct: IStableCoinFactory.TokenStructStruct; readonly businessLogicResolverProxyAddress: string; readonly stableCoinFactoryProxyAddress: string; readonly grantKYCToOriginalSender: boolean; readonly useEnvironment: boolean; constructor({ wallet, tokenStruct, businessLogicResolverProxyAddress, stableCoinFactoryProxyAddress, grantKYCToOriginalSender, useEnvironment, }: DeployStableCoinCommandParams); static newInstance({ signer, businessLogicResolverProxyAddress, stableCoinFactoryProxyAddress, grantKYCToOriginalSender, useEnvironment, tokenInformation, allToContract, initialAmountDataFeed, createReserve, reserveAddress, updatedAtThreshold, addKyc, addFeeSchedule, allRolesToCreator, rolesToAccount, initialMetadata, stableCoinConfigurationId, reserveConfigurationId, addSupply, addWipe, }: DeployStableCoinCommandNewParams): Promise; } export {};