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 declare namespace MetadataUtils { type MetadataStruct = { name: string; description: string; externalUrl: string; image: string; backgroundColor: string; animationUrl: string; }; type MetadataStructOutput = [ name: string, description: string, externalUrl: string, image: string, backgroundColor: string, animationUrl: string ] & { name: string; description: string; externalUrl: string; image: string; backgroundColor: string; animationUrl: string; }; } export interface PassMetadataProviderInterface extends Interface { getFunction(nameOrSignature: "acceptOwnership" | "attributeProvider" | "getCustomMetadata" | "getDefaultMetadata" | "getTokenMetadata" | "owner" | "pendingOwner" | "registry" | "renounceOwnership" | "setAttributeProvider" | "setCustomMetadata" | "setCustomMetadataField" | "setDefaultMetadata" | "setDefaultMetadataField" | "supportsInterface" | "transferOwnership"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "AttributeProviderUpdated" | "CustomMetadataUpdated" | "DefaultMetadataUpdated" | "OwnershipTransferStarted" | "OwnershipTransferred"): EventFragment; encodeFunctionData(functionFragment: "acceptOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "attributeProvider", values?: undefined): string; encodeFunctionData(functionFragment: "getCustomMetadata", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getDefaultMetadata", values?: undefined): string; encodeFunctionData(functionFragment: "getTokenMetadata", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string; encodeFunctionData(functionFragment: "registry", values?: undefined): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setAttributeProvider", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setCustomMetadata", values: [BigNumberish, MetadataUtils.MetadataStruct]): string; encodeFunctionData(functionFragment: "setCustomMetadataField", values: [BigNumberish, BigNumberish, string]): string; encodeFunctionData(functionFragment: "setDefaultMetadata", values: [MetadataUtils.MetadataStruct]): string; encodeFunctionData(functionFragment: "setDefaultMetadataField", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "acceptOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "attributeProvider", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCustomMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDefaultMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTokenMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setAttributeProvider", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCustomMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCustomMetadataField", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDefaultMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDefaultMetadataField", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; } export declare namespace AttributeProviderUpdatedEvent { type InputTuple = [attributeProvider: AddressLike]; type OutputTuple = [attributeProvider: string]; interface OutputObject { attributeProvider: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace CustomMetadataUpdatedEvent { type InputTuple = [organizationId: BigNumberish]; type OutputTuple = [organizationId: bigint]; interface OutputObject { organizationId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DefaultMetadataUpdatedEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferStartedEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface PassMetadataProvider extends BaseContract { connect(runner?: ContractRunner | null): PassMetadataProvider; waitForDeployment(): Promise; interface: PassMetadataProviderInterface; 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; acceptOwnership: TypedContractMethod<[], [void], "nonpayable">; attributeProvider: TypedContractMethod<[], [string], "view">; getCustomMetadata: TypedContractMethod<[ organizationId: BigNumberish ], [ MetadataUtils.MetadataStructOutput ], "view">; getDefaultMetadata: TypedContractMethod<[ ], [ MetadataUtils.MetadataStructOutput ], "view">; getTokenMetadata: TypedContractMethod<[ tokenId: BigNumberish ], [ string ], "view">; owner: TypedContractMethod<[], [string], "view">; pendingOwner: TypedContractMethod<[], [string], "view">; registry: TypedContractMethod<[], [string], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; setAttributeProvider: TypedContractMethod<[ _attributeProvider: AddressLike ], [ void ], "nonpayable">; setCustomMetadata: TypedContractMethod<[ organizationId: BigNumberish, metadata: MetadataUtils.MetadataStruct ], [ void ], "nonpayable">; setCustomMetadataField: TypedContractMethod<[ organizationId: BigNumberish, field: BigNumberish, value: string ], [ void ], "nonpayable">; setDefaultMetadata: TypedContractMethod<[ metadata: MetadataUtils.MetadataStruct ], [ void ], "nonpayable">; setDefaultMetadataField: TypedContractMethod<[ field: BigNumberish, value: string ], [ void ], "nonpayable">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "acceptOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "attributeProvider"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "getCustomMetadata"): TypedContractMethod<[ organizationId: BigNumberish ], [ MetadataUtils.MetadataStructOutput ], "view">; getFunction(nameOrSignature: "getDefaultMetadata"): TypedContractMethod<[], [MetadataUtils.MetadataStructOutput], "view">; getFunction(nameOrSignature: "getTokenMetadata"): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "pendingOwner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "registry"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setAttributeProvider"): TypedContractMethod<[ _attributeProvider: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setCustomMetadata"): TypedContractMethod<[ organizationId: BigNumberish, metadata: MetadataUtils.MetadataStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setCustomMetadataField"): TypedContractMethod<[ organizationId: BigNumberish, field: BigNumberish, value: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDefaultMetadata"): TypedContractMethod<[ metadata: MetadataUtils.MetadataStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setDefaultMetadataField"): TypedContractMethod<[ field: BigNumberish, value: string ], [ void ], "nonpayable">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getEvent(key: "AttributeProviderUpdated"): TypedContractEvent; getEvent(key: "CustomMetadataUpdated"): TypedContractEvent; getEvent(key: "DefaultMetadataUpdated"): TypedContractEvent; getEvent(key: "OwnershipTransferStarted"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; filters: { "AttributeProviderUpdated(address)": TypedContractEvent; AttributeProviderUpdated: TypedContractEvent; "CustomMetadataUpdated(uint256)": TypedContractEvent; CustomMetadataUpdated: TypedContractEvent; "DefaultMetadataUpdated()": TypedContractEvent; DefaultMetadataUpdated: TypedContractEvent; "OwnershipTransferStarted(address,address)": TypedContractEvent; OwnershipTransferStarted: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; }; }