import { ContractMethod, AbiFunctionName, AbiFunctionInputs, DecodedAbiFunctionOutputs, Address, Contract, ProviderRpcClient, MergeInputObjectsArray } from "everscale-inpage-provider"; import { Deployer } from "./deployer"; import { ConstructorParams, TransactionWithOutput, Transfer } from "../../types"; export declare const accountAbiBase: { readonly functions: readonly [{ readonly name: "sendTransaction"; readonly inputs: readonly [{ readonly name: "dest"; readonly type: "address"; }, { readonly name: "value"; readonly type: "uint128"; }, { readonly name: "bounce"; readonly type: "bool"; }, { readonly name: "flags"; readonly type: "uint8"; }, { readonly name: "payload"; readonly type: "cell"; }]; readonly outputs: readonly []; }]; }; export declare class Account { readonly accountContract: Contract; readonly publicKey: string; constructor(accountContract: Contract, publicKey: string); static getAccount(accountAddress: Address, ever: ProviderRpcClient, publicKey: string, abi: Abi): Account; private static deployNewAccount; get address(): Address; runTarget: (config: { contract: Contract; value?: string | undefined; bounce?: boolean | undefined; flags?: number | undefined; }, producer?: ((targetContract: Contract) => ContractMethod, { name: AbiFunctionName; }>["inputs"]>, import("everscale-inpage-provider").MergeOutputObjectsArray, { name: AbiFunctionName; }>["outputs"]>>) | undefined) => Promise<{ transaction: import("everscale-inpage-provider").Transaction
; output?: {} | undefined; }>; transfer: ({ recipient, value, bounce, flags, payload }: Transfer) => Promise<{ transaction: import("everscale-inpage-provider").Transaction
; output?: {} | undefined; }>; } export type DeployNewAccountParams = Abi extends { data: infer D; } ? { tvc?: string; workchain?: number; publicKey: string; initParams: MergeInputObjectsArray; constructorParams: ConstructorParams; value: string; } : never; /** * @deprecated since version 2.2.0 * use locklift.factory.accounts instead */ export declare class AccountFactory { private readonly deployer; private readonly ever; private readonly abi; private readonly tvc; constructor(deployer: Deployer, ever: ProviderRpcClient, abi: Abi, tvc: string); getAccount: (accountAddress: Address, publicKey: string) => Account; deployNewAccount: (args: DeployNewAccountParams) => Promise<{ account: Account; tx: TransactionWithOutput; }>; }