import { ethers } from "ethers";
import type { CallbackType } from "../../../utils/ethers/contractHelper";
import { LandId } from "../../../config/constants";
import { TransactionResponse } from "@ethersproject/providers";
/**
 * Transfer Drill
 * @param landId Land Id
 * @param signer Signer
 * @param from Drill owner
 * @param to Recipient
 * @param tokenId Drill tokenId
 * @param callback Callback
 * @returns any
 */
export declare const drillTransfer: (landId: LandId, signer: ethers.Signer, from: string, to: string, tokenId: string, callback?: CallbackType | undefined) => Promise<TransactionResponse>;
/**
 * Divest the props on the index slot on the tokenid land
 * @param landId The tokenId of land
 * @param signer Signer
 * @param tokenId Drill tokenId
 * @param index The index slot
 * @param callback Callback
 * @returns any
 */
export declare const drillStopWork: (landId: LandId, signer: ethers.Signer, tokenId: string, index: number, callback?: CallbackType | undefined) => Promise<TransactionResponse>;
/**
 * Equip function, A NFT can equip to EVO Bar (LandBar or ApostleBar).
 * @param landId Land Id
 * @param signer Signer
 * @param landTokenId Land token Id which to be quiped
 * @param drillContractAddress Drill contract address
 * @param drillTokenId Props token address which to quip
 * @param resourceContractAddress Which resouce appply to
 * @param slotIndex Index of the Bar
 * @param callback Callback
 * @returns any
 */
export declare const drillWork: (landId: LandId, signer: ethers.Signer, landTokenId: string, drillContractAddress: string, drillTokenId: string, resourceContractAddress: string, slotIndex: number, callback?: CallbackType | undefined) => Promise<TransactionResponse>;
