import { Address, Contract, GetExpectedAddressParams, ProviderRpcClient } from "everscale-inpage-provider"; import { ConstructorParams, ContractWithName, DeployTransaction, Optional } from "../../types"; import { Giver } from "./giver"; import { AccountFactory } from "./account"; import { AccountFactory2 } from "./account2"; import { SimpleAccountsStorage } from "everscale-standalone-client/nodejs"; export { Account, AccountFactory } from "./account"; export * from "./giver"; export * from "./deployer"; export type ContractData = { code: string; tvc: string; abi: Abi; codeHash: string; }; export type FactoryType = Record; export type DeployContractParams = { contract: ContractName; constructorParams: ConstructorParams; value: string; } & Optional, "tvc">; export type DeployParams = GetExpectedAddressParams & { publicKey: string; }; export declare class Factory { private readonly ever; private readonly giver; private readonly accountsStorage; private readonly factoryCache; accounts: AccountFactory2; private constructor(); static setup(ever: ProviderRpcClient, giver: () => Giver, accountsStorage: SimpleAccountsStorage): Promise>; private get deployer(); deployContract: (args: DeployContractParams) => Promise<{ contract: Contract; } & { tx: import("../../types").TransactionWithOutput; }>; getAccountsFactory: (contractName: ContractName) => AccountFactory; getDeployedContract: (name: ContractName, address: Address) => Contract; initializeContract: (name: keyof T, resolvedPath: string) => Promise>; getContractArtifacts: (name: key) => ContractData; getAllArtifacts: () => Array<{ contractName: keyof T; artifacts: ContractData; }>; getContractByCodeHash: (codeHash: string, address: Address) => ContractWithName | undefined; getContractByCodeHashOrDefault: (codeHash: string, address: Address) => ContractWithName; private getContractsArtifacts; }