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 MintRequestStruct = { to: string; uri: string; price: BigNumberish; currency: string; validityStartTimestamp: BigNumberish; validityEndTimestamp: BigNumberish; uid: BytesLike; }; export declare type MintRequestStructOutput = [ string, string, BigNumber, string, BigNumber, BigNumber, string ] & { to: string; uri: string; price: BigNumber; currency: string; validityStartTimestamp: BigNumber; validityEndTimestamp: BigNumber; uid: string; }; export interface ISignatureMint721Interface extends utils.Interface { functions: { "mintTo(address,string)": FunctionFragment; "mintWithSignature((address,string,uint256,address,uint128,uint128,bytes32),bytes)": FunctionFragment; "verify((address,string,uint256,address,uint128,uint128,bytes32),bytes)": FunctionFragment; }; encodeFunctionData(functionFragment: "mintTo", values: [string, string]): string; encodeFunctionData(functionFragment: "mintWithSignature", values: [MintRequestStruct, BytesLike]): string; encodeFunctionData(functionFragment: "verify", values: [MintRequestStruct, BytesLike]): string; decodeFunctionResult(functionFragment: "mintTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mintWithSignature", data: BytesLike): Result; decodeFunctionResult(functionFragment: "verify", data: BytesLike): Result; events: { "MintWithSignature(address,address,uint256,tuple)": EventFragment; "NewOwner(address,address)": EventFragment; "NewSaleRecipient(address)": EventFragment; "PrimarySalesFeeUpdates(uint256)": EventFragment; "RoyaltyUpdated(uint256)": EventFragment; "TokenMinted(address,uint256,string)": EventFragment; "TransfersRestricted(bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "MintWithSignature"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewOwner"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewSaleRecipient"): EventFragment; getEvent(nameOrSignatureOrTopic: "PrimarySalesFeeUpdates"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoyaltyUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "TokenMinted"): EventFragment; getEvent(nameOrSignatureOrTopic: "TransfersRestricted"): EventFragment; } export declare type MintWithSignatureEvent = TypedEvent<[ string, string, BigNumber, MintRequestStructOutput ], { signer: string; mintedTo: string; tokenIdMinted: BigNumber; mintRequest: MintRequestStructOutput; }>; export declare type MintWithSignatureEventFilter = 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 RoyaltyUpdatedEvent = TypedEvent<[ BigNumber ], { newRoyaltyBps: BigNumber; }>; export declare type RoyaltyUpdatedEventFilter = TypedEventFilter; export declare type TokenMintedEvent = TypedEvent<[ string, BigNumber, string ], { mintedTo: string; tokenIdMinted: BigNumber; uri: string; }>; export declare type TokenMintedEventFilter = TypedEventFilter; export declare type TransfersRestrictedEvent = TypedEvent<[ boolean ], { restricted: boolean; }>; export declare type TransfersRestrictedEventFilter = TypedEventFilter; export interface ISignatureMint721 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISignatureMint721Interface; 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: { mintTo(to: string, uri: string, overrides?: Overrides & { from?: string | Promise; }): Promise; mintWithSignature(req: MintRequestStruct, signature: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; verify(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; }; mintTo(to: string, uri: string, overrides?: Overrides & { from?: string | Promise; }): Promise; mintWithSignature(req: MintRequestStruct, signature: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; verify(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; callStatic: { mintTo(to: string, uri: string, overrides?: CallOverrides): Promise; mintWithSignature(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise; verify(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise<[boolean, string] & { success: boolean; signer: string; }>; }; filters: { "MintWithSignature(address,address,uint256,tuple)"(signer?: string | null, mintedTo?: string | null, tokenIdMinted?: BigNumberish | null, mintRequest?: null): MintWithSignatureEventFilter; MintWithSignature(signer?: string | null, mintedTo?: string | null, tokenIdMinted?: BigNumberish | null, mintRequest?: null): MintWithSignatureEventFilter; "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; "RoyaltyUpdated(uint256)"(newRoyaltyBps?: null): RoyaltyUpdatedEventFilter; RoyaltyUpdated(newRoyaltyBps?: null): RoyaltyUpdatedEventFilter; "TokenMinted(address,uint256,string)"(mintedTo?: string | null, tokenIdMinted?: BigNumberish | null, uri?: null): TokenMintedEventFilter; TokenMinted(mintedTo?: string | null, tokenIdMinted?: BigNumberish | null, uri?: null): TokenMintedEventFilter; "TransfersRestricted(bool)"(restricted?: null): TransfersRestrictedEventFilter; TransfersRestricted(restricted?: null): TransfersRestrictedEventFilter; }; estimateGas: { mintTo(to: string, uri: string, overrides?: Overrides & { from?: string | Promise; }): Promise; mintWithSignature(req: MintRequestStruct, signature: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; verify(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise; }; populateTransaction: { mintTo(to: string, uri: string, overrides?: Overrides & { from?: string | Promise; }): Promise; mintWithSignature(req: MintRequestStruct, signature: BytesLike, overrides?: PayableOverrides & { from?: string | Promise; }): Promise; verify(req: MintRequestStruct, signature: BytesLike, overrides?: CallOverrides): Promise; }; }