import { Provider } from '@ethersproject/providers'; import { Signer } from 'ethers'; import { CollectionApiResponse, MintLinkApiResponse, VerifyApiResponse } from './types'; import { BaseFacet } from './typechain-types/contracts/diamond'; import { DropFacet } from './typechain-types/contracts/apps/drop'; import { EditionFacet } from './typechain-types/contracts/apps/edition'; import { ApeDropFacet } from './typechain-types/contracts/apps/ape'; import { ERC20AppFacet } from './typechain-types/contracts/apps/erc20'; export default class Diamond { signerOrProvider: Signer | Provider; collectionId: string; base?: BaseFacet; apps: { drop?: DropFacet; edition?: EditionFacet; ape?: ApeDropFacet; erc20?: ERC20AppFacet; }; isDev?: boolean; chainId?: number; networkName?: string; data?: CollectionApiResponse; constructor(collectionId: string, signerOrProvider: Signer | Provider, isDev?: boolean); init(): Promise; initWithData(data: CollectionApiResponse): void; verify(wallet: string): Promise; verifyForEdition(wallet: string, editionId: number): Promise; static create(signerOrProvider: Signer | Provider, key: string, data?: CollectionApiResponse, isDev?: boolean): Promise; static verifyWallet(collectionId: string, wallet: string, isDev?: boolean): Promise; static verifyWalletForEdition(collectionId: string, wallet: string, editionId: number, isDev?: boolean): Promise; static getCollectionData(collectionId: string, isDev?: boolean): Promise; static getMintLinkByPublicKey(collectionId: string, publicKey: string, isDev?: boolean, unique?: boolean, quantity?: number): Promise; }