import { ethers } from "ethers";
import { CallbackType } from "../../../utils/ethers/contractHelper";
import { TransactionResponse } from "@ethersproject/providers";
import { LandId } from "../../../config/constants";
/**
 * Covert material Id to token Id.
 * @param landId Land Id
 * @param provider Provider
 * @param id Material Id
 * @param callback Callback
 * @returns any
 */
export declare const materialIdEncode: (landId: LandId, provider: ethers.providers.Provider, id: string, callback?: CallbackType | undefined) => Promise<string>;
/**
 * Batch get material balance
 * @param landId Land Id
 * @param provider Provider
 * @param accounts Array of address
 * @param materialIdList Material token ids
 * @param callback Callback
 * @returns any
 */
export declare const materialBalanceOfBatch: (landId: LandId, provider: ethers.providers.Provider, accounts: string[], materialIdList: string[], callback?: CallbackType | undefined) => Promise<string[]>;
/**
 * Batch transfer material
 * @param landId Land Id
 * @param signer Signer
 * @param from Material owner
 * @param to Recipient
 * @param materialIdList Array of material token Ids
 * @param amounts Array of transfer amounts
 * @param data Additional data
 * @param callback Callback
 * @returns any
 */
export declare const materialBatchTransfer: (landId: LandId, signer: ethers.Signer, from: string, to: string, materialIdList: string[], amounts: string[], data?: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>;
