import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export interface IPurchaseRegistryInterface extends Interface { getFunction(nameOrSignature: "getPassProductIds" | "hasPassPurchasedProducts" | "isGiftingEnabled" | "isMintClosed" | "isWhitelist" | "maxMints" | "passMintCount" | "passOrganization" | "productMaxSupply" | "productSupply" | "recordProductPurchase" | "setGiftingEnabled" | "setMaxMints" | "setMintClosed" | "setProductMaxSupply" | "setWhitelist" | "totalPassMints" | "totalProductsSold" | "whitelistPassOwners" | "whitelisted"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "GiftingStatusChanged" | "MaxMintsUpdated" | "MintClosedStatusChanged" | "ProductMaxSupplyUpdated" | "WhitelistPassOwnerUpdated" | "WhitelistStatusChanged"): EventFragment; encodeFunctionData(functionFragment: "getPassProductIds", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "hasPassPurchasedProducts", values: [BigNumberish, BigNumberish[]]): string; encodeFunctionData(functionFragment: "isGiftingEnabled", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "isMintClosed", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "isWhitelist", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "maxMints", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "passMintCount", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "passOrganization", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "productMaxSupply", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "productSupply", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "recordProductPurchase", values: [ BigNumberish, BigNumberish, AddressLike, AddressLike, BigNumberish[], BigNumberish[] ]): string; encodeFunctionData(functionFragment: "setGiftingEnabled", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "setMaxMints", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setMintClosed", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "setProductMaxSupply", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setWhitelist", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "totalPassMints", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "totalProductsSold", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "whitelistPassOwners", values: [BigNumberish, AddressLike[], boolean[]]): string; encodeFunctionData(functionFragment: "whitelisted", values: [BigNumberish, AddressLike]): string; decodeFunctionResult(functionFragment: "getPassProductIds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPassPurchasedProducts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isGiftingEnabled", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isMintClosed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxMints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "passMintCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "passOrganization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "productMaxSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "productSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "recordProductPurchase", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setGiftingEnabled", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMaxMints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMintClosed", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setProductMaxSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setWhitelist", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalPassMints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalProductsSold", data: BytesLike): Result; decodeFunctionResult(functionFragment: "whitelistPassOwners", data: BytesLike): Result; decodeFunctionResult(functionFragment: "whitelisted", data: BytesLike): Result; } export declare namespace GiftingStatusChangedEvent { type InputTuple = [organizationId: BigNumberish, isGifting: boolean]; type OutputTuple = [organizationId: bigint, isGifting: boolean]; interface OutputObject { organizationId: bigint; isGifting: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MaxMintsUpdatedEvent { type InputTuple = [ organizationId: BigNumberish, maxMints: BigNumberish ]; type OutputTuple = [organizationId: bigint, maxMints: bigint]; interface OutputObject { organizationId: bigint; maxMints: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace MintClosedStatusChangedEvent { type InputTuple = [ organizationId: BigNumberish, isMintClosed: boolean ]; type OutputTuple = [organizationId: bigint, isMintClosed: boolean]; interface OutputObject { organizationId: bigint; isMintClosed: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ProductMaxSupplyUpdatedEvent { type InputTuple = [ organizationId: BigNumberish, productId: BigNumberish, maxSupply: BigNumberish ]; type OutputTuple = [ organizationId: bigint, productId: bigint, maxSupply: bigint ]; interface OutputObject { organizationId: bigint; productId: bigint; maxSupply: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WhitelistPassOwnerUpdatedEvent { type InputTuple = [ organizationId: BigNumberish, passOwner: AddressLike, isWhitelisted: boolean ]; type OutputTuple = [ organizationId: bigint, passOwner: string, isWhitelisted: boolean ]; interface OutputObject { organizationId: bigint; passOwner: string; isWhitelisted: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WhitelistStatusChangedEvent { type InputTuple = [organizationId: BigNumberish, isWhitelist: boolean]; type OutputTuple = [organizationId: bigint, isWhitelist: boolean]; interface OutputObject { organizationId: bigint; isWhitelist: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IPurchaseRegistry extends BaseContract { connect(runner?: ContractRunner | null): IPurchaseRegistry; waitForDeployment(): Promise; interface: IPurchaseRegistryInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getPassProductIds: TypedContractMethod<[ tokenId: BigNumberish ], [ bigint[] ], "view">; hasPassPurchasedProducts: TypedContractMethod<[ tokenId: BigNumberish, productIds: BigNumberish[] ], [ boolean ], "view">; isGiftingEnabled: TypedContractMethod<[ orgId: BigNumberish ], [ boolean ], "view">; isMintClosed: TypedContractMethod<[ organizationId: BigNumberish ], [ boolean ], "view">; isWhitelist: TypedContractMethod<[ organizationId: BigNumberish ], [ boolean ], "view">; maxMints: TypedContractMethod<[ organizationId: BigNumberish ], [ bigint ], "view">; passMintCount: TypedContractMethod<[ organizationId: BigNumberish, purchaser: AddressLike ], [ bigint ], "view">; passOrganization: TypedContractMethod<[ tokenId: BigNumberish ], [ bigint ], "view">; productMaxSupply: TypedContractMethod<[ productId: BigNumberish ], [ bigint ], "view">; productSupply: TypedContractMethod<[ productId: BigNumberish ], [ bigint ], "view">; recordProductPurchase: TypedContractMethod<[ _organizationId: BigNumberish, _passId: BigNumberish, _passOwner: AddressLike, _purchaser: AddressLike, _productIds: BigNumberish[], _pricingIds: BigNumberish[] ], [ void ], "nonpayable">; setGiftingEnabled: TypedContractMethod<[ organizationId: BigNumberish, _isGifting: boolean ], [ void ], "nonpayable">; setMaxMints: TypedContractMethod<[ organizationId: BigNumberish, _maxMints: BigNumberish ], [ void ], "nonpayable">; setMintClosed: TypedContractMethod<[ organizationId: BigNumberish, _isMintClosed: boolean ], [ void ], "nonpayable">; setProductMaxSupply: TypedContractMethod<[ organizationId: BigNumberish, productId: BigNumberish, _maxSupply: BigNumberish ], [ void ], "nonpayable">; setWhitelist: TypedContractMethod<[ organizationId: BigNumberish, _isWhitelist: boolean ], [ void ], "nonpayable">; totalPassMints: TypedContractMethod<[ organizationId: BigNumberish ], [ bigint ], "view">; totalProductsSold: TypedContractMethod<[ organizationId: BigNumberish ], [ bigint ], "view">; whitelistPassOwners: TypedContractMethod<[ organizationId: BigNumberish, _addresses: AddressLike[], _isWhitelisted: boolean[] ], [ void ], "nonpayable">; whitelisted: TypedContractMethod<[ orgId: BigNumberish, purchaser: AddressLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getPassProductIds"): TypedContractMethod<[tokenId: BigNumberish], [bigint[]], "view">; getFunction(nameOrSignature: "hasPassPurchasedProducts"): TypedContractMethod<[ tokenId: BigNumberish, productIds: BigNumberish[] ], [ boolean ], "view">; getFunction(nameOrSignature: "isGiftingEnabled"): TypedContractMethod<[orgId: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "isMintClosed"): TypedContractMethod<[organizationId: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "isWhitelist"): TypedContractMethod<[organizationId: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "maxMints"): TypedContractMethod<[organizationId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "passMintCount"): TypedContractMethod<[ organizationId: BigNumberish, purchaser: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "passOrganization"): TypedContractMethod<[tokenId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "productMaxSupply"): TypedContractMethod<[productId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "productSupply"): TypedContractMethod<[productId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "recordProductPurchase"): TypedContractMethod<[ _organizationId: BigNumberish, _passId: BigNumberish, _passOwner: AddressLike, _purchaser: AddressLike, _productIds: BigNumberish[], _pricingIds: BigNumberish[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setGiftingEnabled"): TypedContractMethod<[ organizationId: BigNumberish, _isGifting: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setMaxMints"): TypedContractMethod<[ organizationId: BigNumberish, _maxMints: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setMintClosed"): TypedContractMethod<[ organizationId: BigNumberish, _isMintClosed: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setProductMaxSupply"): TypedContractMethod<[ organizationId: BigNumberish, productId: BigNumberish, _maxSupply: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setWhitelist"): TypedContractMethod<[ organizationId: BigNumberish, _isWhitelist: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "totalPassMints"): TypedContractMethod<[organizationId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "totalProductsSold"): TypedContractMethod<[organizationId: BigNumberish], [bigint], "view">; getFunction(nameOrSignature: "whitelistPassOwners"): TypedContractMethod<[ organizationId: BigNumberish, _addresses: AddressLike[], _isWhitelisted: boolean[] ], [ void ], "nonpayable">; getFunction(nameOrSignature: "whitelisted"): TypedContractMethod<[ orgId: BigNumberish, purchaser: AddressLike ], [ boolean ], "view">; getEvent(key: "GiftingStatusChanged"): TypedContractEvent; getEvent(key: "MaxMintsUpdated"): TypedContractEvent; getEvent(key: "MintClosedStatusChanged"): TypedContractEvent; getEvent(key: "ProductMaxSupplyUpdated"): TypedContractEvent; getEvent(key: "WhitelistPassOwnerUpdated"): TypedContractEvent; getEvent(key: "WhitelistStatusChanged"): TypedContractEvent; filters: { "GiftingStatusChanged(uint256,bool)": TypedContractEvent; GiftingStatusChanged: TypedContractEvent; "MaxMintsUpdated(uint256,uint256)": TypedContractEvent; MaxMintsUpdated: TypedContractEvent; "MintClosedStatusChanged(uint256,bool)": TypedContractEvent; MintClosedStatusChanged: TypedContractEvent; "ProductMaxSupplyUpdated(uint256,uint256,uint256)": TypedContractEvent; ProductMaxSupplyUpdated: TypedContractEvent; "WhitelistPassOwnerUpdated(uint256,address,bool)": TypedContractEvent; WhitelistPassOwnerUpdated: TypedContractEvent; "WhitelistStatusChanged(uint256,bool)": TypedContractEvent; WhitelistStatusChanged: TypedContractEvent; }; }