import { Query } from "./query"; import { Response } from "./response"; import { Transaction } from "./transaction"; import { TransactionResponse } from "./transaction_response"; export declare const protobufPackage = "proto"; /** Transactions and queries for the file service. */ export interface SmartContractService { /** Creates a contract */ createContract(request: Transaction): Promise; /** Updates a contract with the content */ updateContract(request: Transaction): Promise; /** Calls a contract */ contractCallMethod(request: Transaction): Promise; /** Retrieves the contract information */ getContractInfo(request: Query): Promise; /** Calls a smart contract to be run on a single node */ contractCallLocalMethod(request: Query): Promise; /** Retrieves the runtime code of a contract */ ContractGetBytecode(request: Query): Promise; /** Retrieves a contract by its Solidity address */ getBySolidityID(request: Query): Promise; /** * Always returns an empty record list, as contract accounts are never effective payers for * transactions * * @deprecated */ getTxRecordByContractID(request: Query): Promise; /** Deletes a contract instance and transfers any remaining hbars to a specified receiver */ deleteContract(request: Transaction): Promise; /** Deletes a contract if the submitting account has network admin privileges */ systemDelete(request: Transaction): Promise; /** Undeletes a contract if the submitting account has network admin privileges */ systemUndelete(request: Transaction): Promise; /** Ethereum transaction */ callEthereum(request: Transaction): Promise; } export declare const SmartContractServiceServiceName = "proto.SmartContractService"; export declare class SmartContractServiceClientImpl implements SmartContractService { private readonly rpc; private readonly service; constructor(rpc: Rpc, opts?: { service?: string; }); createContract(request: Transaction): Promise; updateContract(request: Transaction): Promise; contractCallMethod(request: Transaction): Promise; getContractInfo(request: Query): Promise; contractCallLocalMethod(request: Query): Promise; ContractGetBytecode(request: Query): Promise; getBySolidityID(request: Query): Promise; getTxRecordByContractID(request: Query): Promise; deleteContract(request: Transaction): Promise; systemDelete(request: Transaction): Promise; systemUndelete(request: Transaction): Promise; callEthereum(request: Transaction): Promise; } interface Rpc { request(service: string, method: string, data: Uint8Array): Promise; } export {}; //# sourceMappingURL=smart_contract_service.d.ts.map