import BN from "bn.js"; import { Cell } from "../../boc/cell"; import TonHttpProvider from "../../providers/httpProvider"; import Address from "../../utils/address"; import { Options } from "../contract"; import { WalletContract } from "./walletContract"; interface DeployAndInstallPlugin { secretKey: Uint8Array; seqno: number; pluginWc: number; amount: BN; stateInit: Cell; body: Cell; } interface PluginParams { secretKey: Uint8Array; seqno: number; pluginAddress: string | Address; amount?: BN; queryId?: number; } export declare class WalletV4ContractR2 extends WalletContract { constructor(provider: TonHttpProvider, options: Options); deployAndInstallPlugin: (params: DeployAndInstallPlugin) => import("../contract").Method; installPlugin: (params: PluginParams) => import("../contract").Method; getName(): string; /** * @override * @private * @param seqno? {number} * @param withoutOp? {boolean} * @return {Cell} */ protected createSigningMessage(seqno?: number, withoutOp?: boolean): Cell; /** * @override * @return {Cell} cell contains wallet data */ protected createDataCell(): Cell; /** * @param params {{secretKey: Uint8Array, seqno: number, pluginWc: number, amount: BN, stateInit: Cell, body: Cell}} */ private deployAndInstallPluginImp; /** * @private * @param params {{secretKey: Uint8Array, seqno: number, pluginAddress: string | Address, amount?: BN, queryId?: number}} * @param isInstall {boolean} install or uninstall */ private _setPlugin; private installPluginImp; removePlugin(params: PluginParams): Promise; /** * @return {Promise} */ getWalletId: () => Promise; /** * @return {Promise} */ getPublicKey: () => Promise; /** * @param pluginAddress {string | Address} * @return {Promise} */ isPluginInstalled: (pluginAddress: string | Address) => Promise; /** * @return {Promise} plugins addresses */ getPluginsList: () => Promise; } export {};