import { Address, Cell, Contract, ContractProvider, Dictionary, Sender } from "@ton/core"; export type TonMetaWalletConfig = { ownerAddress: Address; chainId: bigint; verifyingAddress: Buffer; depositJettonCode: Cell; userJettonCode: Cell; }; export declare function tonMetaWalletConfigToCell(config: TonMetaWalletConfig): Cell; export declare class TonMetaWallet implements Contract { readonly address: Address; readonly init?: { code: Cell; data: Cell; } | undefined; constructor(address: Address, init?: { code: Cell; data: Cell; } | undefined); static createFromAddress(address: Address): TonMetaWallet; static createFromConfig(config: TonMetaWalletConfig, code: Cell, workchain?: number): TonMetaWallet; sendDeploy(provider: ContractProvider, via: Sender, value: bigint): Promise; sendStorageDeposit(provider: ContractProvider, via: Sender, value: bigint): Promise; sendNativeDeposit(provider: ContractProvider, via: Sender, opts: { queryId: number; receiver: Buffer; amount: bigint; excessAcc: Address; value: bigint; }): Promise; sendUserNativeWithdraw(provider: ContractProvider, via: Sender, opts: { nonce: bigint; amount: bigint; userWallet: Address; signature: Buffer; excessAcc: Address; value: bigint; }): Promise; sendUserTokenWithdraw(provider: ContractProvider, via: Sender, opts: { nonce: bigint; token: Address; amount: bigint; userWallet: Address; signature: Buffer; excessAcc: Address; value: bigint; }): Promise; sendAdminNativeWithdraw(provider: ContractProvider, via: Sender, opts: { value: bigint; amount: bigint; receiver: Address; }): Promise; sendAdminTokenWithdraw(provider: ContractProvider, via: Sender, opts: { value: bigint; queryId: number; amount: bigint; receiver: Address; token: Address; }): Promise; sendChangeContractOwner(provider: ContractProvider, via: Sender, opts: { value: bigint; newOwner: Address; }): Promise; sendChangeChainId(provider: ContractProvider, via: Sender, opts: { value: bigint; chainId: bigint; }): Promise; sendResetMaxNonce(provider: ContractProvider, via: Sender, value: bigint): Promise; sendChangeVerifyingPubkey(provider: ContractProvider, via: Sender, opts: { value: bigint; verifyingAddress: Buffer; }): Promise; sendSelfDestruct(provider: ContractProvider, via: Sender, opts: { value: bigint; }): Promise; getDepositJettonAddress(provider: ContractProvider, nonce: bigint): Promise
; getUserJettonAddress(provider: ContractProvider, userWallet: Address): Promise
; getBalance(provider: ContractProvider): Promise; getContractOwner(provider: ContractProvider): Promise
; getVerifyingAddress(provider: ContractProvider): Promise; getTokens(provider: ContractProvider): Promise | undefined>; getChainId(provider: ContractProvider): Promise; getMaxNonce(provider: ContractProvider): Promise; getLastGeneratedNonce(provider: ContractProvider): Promise; getMetaWalletData(provider: ContractProvider): Promise<{ contractOwner: Address; chainId: bigint; verifyingAddress: Buffer; depositJettonCode: Cell; userJettonCode: Cell; maxNonce: bigint; lastGeneratedNonce: bigint; }>; }