import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare type ClaimConditionStruct = { startTimestamp: BigNumberish; maxClaimableSupply: BigNumberish; supplyClaimed: BigNumberish; quantityLimitPerTransaction: BigNumberish; waitTimeInSecondsBetweenClaims: BigNumberish; merkleRoot: BytesLike; pricePerToken: BigNumberish; currency: string; }; export declare type ClaimConditionStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, BigNumber, string ] & { startTimestamp: BigNumber; maxClaimableSupply: BigNumber; supplyClaimed: BigNumber; quantityLimitPerTransaction: BigNumber; waitTimeInSecondsBetweenClaims: BigNumber; merkleRoot: string; pricePerToken: BigNumber; currency: string; }; export interface ILazyMintERC721Interface extends utils.Interface { functions: { "claim(address,uint256,bytes32[])": FunctionFragment; "lazyMint(uint256,string,bytes)": FunctionFragment; "nextTokenIdToMint()": FunctionFragment; "setClaimConditions((uint256,uint256,uint256,uint256,uint256,bytes32,uint256,address)[])": FunctionFragment; }; encodeFunctionData(functionFragment: "claim", values: [string, BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: "lazyMint", values: [BigNumberish, string, BytesLike]): string; encodeFunctionData(functionFragment: "nextTokenIdToMint", values?: undefined): string; encodeFunctionData(functionFragment: "setClaimConditions", values: [ClaimConditionStruct[]]): string; decodeFunctionResult(functionFragment: "claim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lazyMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextTokenIdToMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setClaimConditions", data: BytesLike): Result; events: { "ClaimedTokens(uint256,address,address,uint256,uint256)": EventFragment; "LazyMintedTokens(uint256,uint256,string,bytes)": EventFragment; "NewClaimConditions(tuple[])": EventFragment; "NewOwner(address,address)": EventFragment; "NewSaleRecipient(address)": EventFragment; "PrimarySalesFeeUpdates(uint256)": EventFragment; "RevealedNFT(uint256,string)": EventFragment; "RoyaltyUpdated(uint256)": EventFragment; "TransfersRestricted(bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "ClaimedTokens"): EventFragment; getEvent(nameOrSignatureOrTopic: "LazyMintedTokens"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewClaimConditions"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewOwner"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewSaleRecipient"): EventFragment; getEvent(nameOrSignatureOrTopic: "PrimarySalesFeeUpdates"): EventFragment; getEvent(nameOrSignatureOrTopic: "RevealedNFT"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoyaltyUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransfersRestricted"): EventFragment; } export declare type ClaimedTokensEvent = TypedEvent<[ BigNumber, string, string, BigNumber, BigNumber ], { claimConditionIndex: BigNumber; claimer: string; receiver: string; startTokenId: BigNumber; quantityClaimed: BigNumber; }>; export declare type ClaimedTokensEventFilter = TypedEventFilter; export declare type LazyMintedTokensEvent = TypedEvent<[ BigNumber, BigNumber, string, string ], { startTokenId: BigNumber; endTokenId: BigNumber; baseURI: string; encryptedBaseURI: string; }>; export declare type LazyMintedTokensEventFilter = TypedEventFilter; export declare type NewClaimConditionsEvent = TypedEvent<[ ClaimConditionStructOutput[] ], { claimConditions: ClaimConditionStructOutput[]; }>; export declare type NewClaimConditionsEventFilter = TypedEventFilter; export declare type NewOwnerEvent = TypedEvent<[ string, string ], { prevOwner: string; newOwner: string; }>; export declare type NewOwnerEventFilter = TypedEventFilter; export declare type NewSaleRecipientEvent = TypedEvent<[string], { recipient: string; }>; export declare type NewSaleRecipientEventFilter = TypedEventFilter; export declare type PrimarySalesFeeUpdatesEvent = TypedEvent<[ BigNumber ], { newFeeBps: BigNumber; }>; export declare type PrimarySalesFeeUpdatesEventFilter = TypedEventFilter; export declare type RevealedNFTEvent = TypedEvent<[ BigNumber, string ], { endTokenId: BigNumber; revealedURI: string; }>; export declare type RevealedNFTEventFilter = TypedEventFilter; export declare type RoyaltyUpdatedEvent = TypedEvent<[ BigNumber ], { newRoyaltyBps: BigNumber; }>; export declare type RoyaltyUpdatedEventFilter = TypedEventFilter; export declare type TransfersRestrictedEvent = TypedEvent<[ boolean ], { restricted: boolean; }>; export declare type TransfersRestrictedEventFilter = TypedEventFilter; export interface ILazyMintERC721 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ILazyMintERC721Interface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { claim(receiver: string, _quantity: BigNumberish, _proofs: BytesLike[], overrides?: PayableOverrides & { from?: string | Promise; }): Promise; lazyMint(_amount: BigNumberish, _baseURIForTokens: string, _encryptedBaseURI: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; nextTokenIdToMint(overrides?: Overrides & { from?: string | Promise; }): Promise; setClaimConditions(_conditions: ClaimConditionStruct[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; claim(receiver: string, _quantity: BigNumberish, _proofs: BytesLike[], overrides?: PayableOverrides & { from?: string | Promise; }): Promise; lazyMint(_amount: BigNumberish, _baseURIForTokens: string, _encryptedBaseURI: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; nextTokenIdToMint(overrides?: Overrides & { from?: string | Promise; }): Promise; setClaimConditions(_conditions: ClaimConditionStruct[], overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { claim(receiver: string, _quantity: BigNumberish, _proofs: BytesLike[], overrides?: CallOverrides): Promise; lazyMint(_amount: BigNumberish, _baseURIForTokens: string, _encryptedBaseURI: BytesLike, overrides?: CallOverrides): Promise; nextTokenIdToMint(overrides?: CallOverrides): Promise; setClaimConditions(_conditions: ClaimConditionStruct[], overrides?: CallOverrides): Promise; }; filters: { "ClaimedTokens(uint256,address,address,uint256,uint256)"(claimConditionIndex?: BigNumberish | null, claimer?: string | null, receiver?: string | null, startTokenId?: null, quantityClaimed?: null): ClaimedTokensEventFilter; ClaimedTokens(claimConditionIndex?: BigNumberish | null, claimer?: string | null, receiver?: string | null, startTokenId?: null, quantityClaimed?: null): ClaimedTokensEventFilter; "LazyMintedTokens(uint256,uint256,string,bytes)"(startTokenId?: null, endTokenId?: null, baseURI?: null, encryptedBaseURI?: null): LazyMintedTokensEventFilter; LazyMintedTokens(startTokenId?: null, endTokenId?: null, baseURI?: null, encryptedBaseURI?: null): LazyMintedTokensEventFilter; "NewClaimConditions(tuple[])"(claimConditions?: null): NewClaimConditionsEventFilter; NewClaimConditions(claimConditions?: null): NewClaimConditionsEventFilter; "NewOwner(address,address)"(prevOwner?: null, newOwner?: null): NewOwnerEventFilter; NewOwner(prevOwner?: null, newOwner?: null): NewOwnerEventFilter; "NewSaleRecipient(address)"(recipient?: string | null): NewSaleRecipientEventFilter; NewSaleRecipient(recipient?: string | null): NewSaleRecipientEventFilter; "PrimarySalesFeeUpdates(uint256)"(newFeeBps?: null): PrimarySalesFeeUpdatesEventFilter; PrimarySalesFeeUpdates(newFeeBps?: null): PrimarySalesFeeUpdatesEventFilter; "RevealedNFT(uint256,string)"(endTokenId?: null, revealedURI?: null): RevealedNFTEventFilter; RevealedNFT(endTokenId?: null, revealedURI?: null): RevealedNFTEventFilter; "RoyaltyUpdated(uint256)"(newRoyaltyBps?: null): RoyaltyUpdatedEventFilter; RoyaltyUpdated(newRoyaltyBps?: null): RoyaltyUpdatedEventFilter; "TransfersRestricted(bool)"(restricted?: null): TransfersRestrictedEventFilter; TransfersRestricted(restricted?: null): TransfersRestrictedEventFilter; }; estimateGas: { claim(receiver: string, _quantity: BigNumberish, _proofs: BytesLike[], overrides?: PayableOverrides & { from?: string | Promise; }): Promise; lazyMint(_amount: BigNumberish, _baseURIForTokens: string, _encryptedBaseURI: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; nextTokenIdToMint(overrides?: Overrides & { from?: string | Promise; }): Promise; setClaimConditions(_conditions: ClaimConditionStruct[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { claim(receiver: string, _quantity: BigNumberish, _proofs: BytesLike[], overrides?: PayableOverrides & { from?: string | Promise; }): Promise; lazyMint(_amount: BigNumberish, _baseURIForTokens: string, _encryptedBaseURI: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; nextTokenIdToMint(overrides?: Overrides & { from?: string | Promise; }): Promise; setClaimConditions(_conditions: ClaimConditionStruct[], overrides?: Overrides & { from?: string | Promise; }): Promise; }; }