import { Web3SideChainClient } from "./web3_side_chain_client"; import { ITransactionRequestConfig, ITransactionOption, IContractInitParam, ITransactionWriteResult } from "../interfaces"; import { BaseContractMethod, BaseContract, BaseWeb3Client } from "../abstracts"; import { POSERC1155TransferParam, TYPE_AMOUNT } from "../types"; export interface ITransactionConfigParam { txConfig: ITransactionRequestConfig; method?: BaseContractMethod; isWrite?: boolean; isParent?: boolean; } export declare class BaseToken { protected contractParam: IContractInitParam; protected client: Web3SideChainClient; private contract_; constructor(contractParam: IContractInitParam, client: Web3SideChainClient); getContract(): Promise; protected processWrite(method: BaseContractMethod, option?: ITransactionOption): Promise; protected sendTransaction(option?: ITransactionOption): Promise; protected readTransaction(option?: ITransactionOption): Promise; private validateTxOption_; protected processRead(method: BaseContractMethod, option?: ITransactionOption): Promise; protected getClient(isParent: any): BaseWeb3Client; private getContract_; protected get parentDefaultConfig(): { from: string; }; protected get childDefaultConfig(): { from: string; }; protected createTransactionConfig({ txConfig, method, isParent, isWrite }: ITransactionConfigParam): Promise; protected transferERC20(to: string, amount: TYPE_AMOUNT, option?: ITransactionOption): Promise; protected transferERC721(from: string, to: string, tokenId: string, option: ITransactionOption): Promise; protected checkForRoot(methodName: any): void; protected checkForChild(methodName: any): void; protected transferERC1155(param: POSERC1155TransferParam, option: ITransactionOption): Promise; }