import { Args } from '..'; import { Operation } from '../operation'; import { Provider, PublicProvider, ReadSCData } from '../provider'; import { CallSCOptions, DeploySCOptions, ReadSCOptions } from './'; /** * A class to interact with a smart contract. */ export declare class SmartContract { provider: PublicProvider | Provider; address: string; constructor(provider: PublicProvider | Provider, address: string); /** * Executes a smart contract call operation * @param func - The smart contract function to be called. * @param parameter - Parameters for the function call in Uint8Array or number[] format. * @param options - Includes optional and required parameters like fee, maxGas, coins, and periodToLive. * @returns A promise that resolves to an Operation object representing the transaction. */ call(func: string, args?: Args | Uint8Array, options?: CallSCOptions): Promise; /** * Executes a smart contract read operation * @param func - The smart contract function to be called. * @param args - Parameter for the function call in Uint8Array format. * @param options - Includes optional parameters like fee, maxGas, coins, and periodToLive. * @returns A promise that resolves to the result of the read operation. */ read(func: string, args?: Args | Uint8Array, options?: ReadSCOptions): Promise; /** * Deploy a SmartContract byteCode * @param provider - Web3 provider. * @param byteCode - Compiled SmartContract bytecode. * @param constructorArgs - Parameter for call of constructor function. * @param options - Includes optional parameters like fee, maxGas, coins, and periodToLive. * @returns A promise that resolves to the result of the read operation. */ static deploy(provider: Provider, byteCode: Uint8Array, constructorArgs?: Args | Uint8Array, options?: DeploySCOptions): Promise; /** * Get the MAS balance of the smart contract * @param final - Whether to get the final balance or the pending balance * @returns The MAS balance of the smart contract */ balance(final?: boolean): Promise; }