import { Addressish } from '@monaxlabs/phloem/dist/types'; import { BigNumberish, ContractTransaction } from 'ethers'; import { CollectionContract } from '../..'; import type { Signerish, WriteOverrides } from '../types'; import { ContractFunction } from './features'; declare const ApprovePartitions: { nft: ("standard/IERC721.sol:IERC721V0" | "standard/IERC721.sol:IERC721V1" | "standard/IERC721.sol:IERC721V2" | "standard/IERC721.sol:IERC721V3" | "standard/IERC721.sol:IERC721V4" | "standard/IERC721.sol:IERC721V5")[]; }; type ApprovePartitions = typeof ApprovePartitions; declare const ApproveInterfaces: ("standard/IERC721.sol:IERC721V0" | "standard/IERC721.sol:IERC721V1" | "standard/IERC721.sol:IERC721V2" | "standard/IERC721.sol:IERC721V3" | "standard/IERC721.sol:IERC721V4" | "standard/IERC721.sol:IERC721V5")[]; type ApproveInterfaces = (typeof ApproveInterfaces)[number]; export type ApproveCallArgs = [signer: Signerish, args: ApproveArgs, overrides?: WriteOverrides]; export type ApproveResponse = ContractTransaction; export type ApproveArgs = { toAddress: Addressish; tokenId: BigNumberish; }; export declare class Approve extends ContractFunction { readonly functionName = "approve"; constructor(base: CollectionContract); execute(...args: ApproveCallArgs): Promise; approve(signer: Signerish, { toAddress, tokenId }: ApproveArgs, overrides?: WriteOverrides): Promise; estimateGas(signer: Signerish, { toAddress, tokenId }: ApproveArgs, overrides?: WriteOverrides): Promise; populateTransaction({ toAddress, tokenId }: ApproveArgs, overrides?: WriteOverrides): Promise; } export declare const approve: (new (base: CollectionContract) => ((signer: Signerish, args: ApproveArgs, overrides?: WriteOverrides | undefined) => Promise) & Approve) & ((base: CollectionContract) => ((signer: Signerish, args: ApproveArgs, overrides?: WriteOverrides | undefined) => Promise) & Approve); export {};