/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
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 TokenAuctionInterface extends Interface {
  getFunction(
    nameOrSignature:
      | "InterfaceId_ERC165"
      | "addAuctionWhiteList"
      | "addOperator"
      | "addToBlackList"
      | "addToken"
      | "applyUpgrade"
      | "approve"
      | "auctionCount"
      | "balanceOf"
      | "bid"
      | "blackList"
      | "canTransfer"
      | "cancelAuction"
      | "cancelUpgrade"
      | "createDirectionalSaleAuction"
      | "createSaleAuction"
      | "downgradeTo"
      | "getApproved"
      | "getMetadata"
      | "getTokenParams"
      | "idToOwner"
      | "isNormalToken"
      | "isToken"
      | "isX"
      | "leadTime"
      | "name"
      | "normalTokenCount"
      | "operators"
      | "owner"
      | "ownerOf"
      | "ownerToId"
      | "pause"
      | "paused"
      | "removeAuctionWhiteList"
      | "removeFromBlackList"
      | "removeOperator"
      | "saleAuction"
      | "sendBonusTo"
      | "setLeadTime"
      | "setSaleAuctionAddress"
      | "setTokenMetadataBaseURI"
      | "setTransferCooldown"
      | "supportsInterface"
      | "symbol"
      | "tokenURI"
      | "totalSupply"
      | "transfer"
      | "transferCooldown"
      | "transferFrom"
      | "transferOwnership"
      | "unpause"
      | "upgradeTo"
      | "xTokenCount"
  ): FunctionFragment;

  getEvent(
    nameOrSignatureOrTopic:
      | "AddAuctionWhiteList"
      | "Approval"
      | "ApprovalForAll"
      | "AuctionCancelled"
      | "AuctionCreated"
      | "AuctionSuccessful"
      | "BlackListUpdated"
      | "CancelUpgrade"
      | "LevelChanged"
      | "NewUpgradeApply"
      | "OperatorUpdated"
      | "OwnershipTransferred"
      | "Pause"
      | "ProtocolUpgrade"
      | "RemoveAuctionWhiteList"
      | "Transfer"
      | "Unpause"
  ): EventFragment;

  encodeFunctionData(
    functionFragment: "InterfaceId_ERC165",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "addAuctionWhiteList",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "addOperator",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "addToBlackList",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "addToken",
    values: [AddressLike, BigNumberish, boolean, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "applyUpgrade",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "approve",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "auctionCount",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "balanceOf",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "bid", values: [BigNumberish]): string;
  encodeFunctionData(
    functionFragment: "blackList",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "canTransfer",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "cancelAuction",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "cancelUpgrade",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "createDirectionalSaleAuction",
    values: [BigNumberish, BigNumberish, BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "createSaleAuction",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "downgradeTo",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getApproved",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getMetadata",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getTokenParams",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "idToOwner",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isNormalToken",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isToken",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "isX", values: [AddressLike]): string;
  encodeFunctionData(functionFragment: "leadTime", values?: undefined): string;
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "normalTokenCount",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "operators",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "owner", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "ownerOf",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "ownerToId",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "pause", values?: undefined): string;
  encodeFunctionData(functionFragment: "paused", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "removeAuctionWhiteList",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "removeFromBlackList",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "removeOperator",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "saleAuction",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "sendBonusTo",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setLeadTime",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setSaleAuctionAddress",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setTokenMetadataBaseURI",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "setTransferCooldown",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "supportsInterface",
    values: [BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "symbol", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "tokenURI",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "totalSupply",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "transfer",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "transferCooldown",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "transferFrom",
    values: [AddressLike, AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "transferOwnership",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "upgradeTo",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "xTokenCount",
    values?: undefined
  ): string;

  decodeFunctionResult(
    functionFragment: "InterfaceId_ERC165",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "addAuctionWhiteList",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "addOperator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "addToBlackList",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "addToken", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "applyUpgrade",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "auctionCount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "bid", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "blackList", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "canTransfer",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "cancelAuction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "cancelUpgrade",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createDirectionalSaleAuction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createSaleAuction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "downgradeTo",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getApproved",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getMetadata",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getTokenParams",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "idToOwner", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isNormalToken",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "isToken", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "isX", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "leadTime", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "normalTokenCount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "operators", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "ownerToId", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "removeAuctionWhiteList",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "removeFromBlackList",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "removeOperator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "saleAuction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "sendBonusTo",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setLeadTime",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setSaleAuctionAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setTokenMetadataBaseURI",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setTransferCooldown",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "supportsInterface",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "tokenURI", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "totalSupply",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "transferCooldown",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "transferFrom",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "transferOwnership",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "xTokenCount",
    data: BytesLike
  ): Result;
}

export namespace AddAuctionWhiteListEvent {
  export type InputTuple = [
    _auctionId: BigNumberish,
    _tokenId: BigNumberish,
    _candidate: AddressLike
  ];
  export type OutputTuple = [
    _auctionId: bigint,
    _tokenId: bigint,
    _candidate: string
  ];
  export interface OutputObject {
    _auctionId: bigint;
    _tokenId: bigint;
    _candidate: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace ApprovalEvent {
  export type InputTuple = [
    _owner: AddressLike,
    _approved: AddressLike,
    _tokenId: BigNumberish
  ];
  export type OutputTuple = [
    _owner: string,
    _approved: string,
    _tokenId: bigint
  ];
  export interface OutputObject {
    _owner: string;
    _approved: string;
    _tokenId: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace ApprovalForAllEvent {
  export type InputTuple = [
    _owner: AddressLike,
    _operator: AddressLike,
    _approved: boolean
  ];
  export type OutputTuple = [
    _owner: string,
    _operator: string,
    _approved: boolean
  ];
  export interface OutputObject {
    _owner: string;
    _operator: string;
    _approved: boolean;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace AuctionCancelledEvent {
  export type InputTuple = [_auctionId: BigNumberish, _tokenId: BigNumberish];
  export type OutputTuple = [_auctionId: bigint, _tokenId: bigint];
  export interface OutputObject {
    _auctionId: bigint;
    _tokenId: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace AuctionCreatedEvent {
  export type InputTuple = [
    _auctionId: BigNumberish,
    _tokenId: BigNumberish,
    _startingPrice: BigNumberish,
    _endingPrice: BigNumberish,
    _duration: BigNumberish
  ];
  export type OutputTuple = [
    _auctionId: bigint,
    _tokenId: bigint,
    _startingPrice: bigint,
    _endingPrice: bigint,
    _duration: bigint
  ];
  export interface OutputObject {
    _auctionId: bigint;
    _tokenId: bigint;
    _startingPrice: bigint;
    _endingPrice: bigint;
    _duration: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace AuctionSuccessfulEvent {
  export type InputTuple = [
    _auctionId: BigNumberish,
    _tokenId: BigNumberish,
    _seller: AddressLike,
    _winner: AddressLike,
    _finalPrice: BigNumberish
  ];
  export type OutputTuple = [
    _auctionId: bigint,
    _tokenId: bigint,
    _seller: string,
    _winner: string,
    _finalPrice: bigint
  ];
  export interface OutputObject {
    _auctionId: bigint;
    _tokenId: bigint;
    _seller: string;
    _winner: string;
    _finalPrice: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace BlackListUpdatedEvent {
  export type InputTuple = [_person: AddressLike, _op: boolean];
  export type OutputTuple = [_person: string, _op: boolean];
  export interface OutputObject {
    _person: string;
    _op: boolean;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace CancelUpgradeEvent {
  export type InputTuple = [_tokenId: BigNumberish, _owner: AddressLike];
  export type OutputTuple = [_tokenId: bigint, _owner: string];
  export interface OutputObject {
    _tokenId: bigint;
    _owner: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace LevelChangedEvent {
  export type InputTuple = [
    _tokenId: BigNumberish,
    _owner: AddressLike,
    _fromLevel: BigNumberish,
    _toLevel: BigNumberish
  ];
  export type OutputTuple = [
    _tokenId: bigint,
    _owner: string,
    _fromLevel: bigint,
    _toLevel: bigint
  ];
  export interface OutputObject {
    _tokenId: bigint;
    _owner: string;
    _fromLevel: bigint;
    _toLevel: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace NewUpgradeApplyEvent {
  export type InputTuple = [
    _tokenId: BigNumberish,
    _applier: AddressLike,
    _level: BigNumberish,
    _applyTime: BigNumberish,
    _applyBlockno: BigNumberish
  ];
  export type OutputTuple = [
    _tokenId: bigint,
    _applier: string,
    _level: bigint,
    _applyTime: bigint,
    _applyBlockno: bigint
  ];
  export interface OutputObject {
    _tokenId: bigint;
    _applier: string;
    _level: bigint;
    _applyTime: bigint;
    _applyBlockno: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace OperatorUpdatedEvent {
  export type InputTuple = [_op: AddressLike, _enabled: boolean];
  export type OutputTuple = [_op: string, _enabled: boolean];
  export interface OutputObject {
    _op: string;
    _enabled: boolean;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace OwnershipTransferredEvent {
  export type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike];
  export type OutputTuple = [previousOwner: string, newOwner: string];
  export interface OutputObject {
    previousOwner: string;
    newOwner: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace PauseEvent {
  export type InputTuple = [];
  export type OutputTuple = [];
  export interface OutputObject {}
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace ProtocolUpgradeEvent {
  export type InputTuple = [_saleAuction: AddressLike];
  export type OutputTuple = [_saleAuction: string];
  export interface OutputObject {
    _saleAuction: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace RemoveAuctionWhiteListEvent {
  export type InputTuple = [
    _auctionId: BigNumberish,
    _tokenId: BigNumberish,
    _candidate: AddressLike
  ];
  export type OutputTuple = [
    _auctionId: bigint,
    _tokenId: bigint,
    _candidate: string
  ];
  export interface OutputObject {
    _auctionId: bigint;
    _tokenId: bigint;
    _candidate: string;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace TransferEvent {
  export type InputTuple = [
    _from: AddressLike,
    _to: AddressLike,
    _tokenId: BigNumberish
  ];
  export type OutputTuple = [_from: string, _to: string, _tokenId: bigint];
  export interface OutputObject {
    _from: string;
    _to: string;
    _tokenId: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export namespace UnpauseEvent {
  export type InputTuple = [];
  export type OutputTuple = [];
  export interface OutputObject {}
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

export interface TokenAuction extends BaseContract {
  connect(runner?: ContractRunner | null): TokenAuction;
  waitForDeployment(): Promise<this>;

  interface: TokenAuctionInterface;

  queryFilter<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;
  queryFilter<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;

  on<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  on<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  once<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  once<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  listeners<TCEvent extends TypedContractEvent>(
    event: TCEvent
  ): Promise<Array<TypedListener<TCEvent>>>;
  listeners(eventName?: string): Promise<Array<Listener>>;
  removeAllListeners<TCEvent extends TypedContractEvent>(
    event?: TCEvent
  ): Promise<this>;

  InterfaceId_ERC165: TypedContractMethod<[], [string], "view">;

  addAuctionWhiteList: TypedContractMethod<
    [_tokenId: BigNumberish, _address: AddressLike],
    [void],
    "nonpayable"
  >;

  addOperator: TypedContractMethod<
    [_operator: AddressLike],
    [void],
    "nonpayable"
  >;

  addToBlackList: TypedContractMethod<
    [_badGuy: AddressLike],
    [void],
    "nonpayable"
  >;

  addToken: TypedContractMethod<
    [
      _addr: AddressLike,
      _lvl: BigNumberish,
      _onUpgrade: boolean,
      _applyUpgradeTime: BigNumberish,
      _applyUpgradeBlockno: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  applyUpgrade: TypedContractMethod<
    [_toLvl: BigNumberish],
    [void],
    "nonpayable"
  >;

  approve: TypedContractMethod<
    [_to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;

  auctionCount: TypedContractMethod<[], [bigint], "view">;

  balanceOf: TypedContractMethod<[_owner: AddressLike], [bigint], "view">;

  bid: TypedContractMethod<[_tokenId: BigNumberish], [void], "payable">;

  blackList: TypedContractMethod<[arg0: AddressLike], [boolean], "view">;

  canTransfer: TypedContractMethod<[_tokenId: BigNumberish], [boolean], "view">;

  cancelAuction: TypedContractMethod<
    [_tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;

  cancelUpgrade: TypedContractMethod<
    [_tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;

  createDirectionalSaleAuction: TypedContractMethod<
    [
      _tokenId: BigNumberish,
      _price: BigNumberish,
      _duration: BigNumberish,
      _toAddress: AddressLike
    ],
    [void],
    "nonpayable"
  >;

  createSaleAuction: TypedContractMethod<
    [
      _tokenId: BigNumberish,
      _startingPrice: BigNumberish,
      _endingPrice: BigNumberish,
      _duration: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  downgradeTo: TypedContractMethod<
    [_tokenId: BigNumberish, _toLvl: BigNumberish],
    [void],
    "nonpayable"
  >;

  getApproved: TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;

  getMetadata: TypedContractMethod<
    [_tokenId: BigNumberish],
    [[string, bigint, boolean, boolean, bigint, bigint, bigint]],
    "view"
  >;

  getTokenParams: TypedContractMethod<
    [_level: BigNumberish],
    [[bigint, bigint, bigint, bigint]],
    "view"
  >;

  idToOwner: TypedContractMethod<[arg0: BigNumberish], [string], "view">;

  isNormalToken: TypedContractMethod<[_target: AddressLike], [boolean], "view">;

  isToken: TypedContractMethod<[_target: AddressLike], [boolean], "view">;

  isX: TypedContractMethod<[_target: AddressLike], [boolean], "view">;

  leadTime: TypedContractMethod<[], [bigint], "view">;

  name: TypedContractMethod<[], [string], "view">;

  normalTokenCount: TypedContractMethod<[], [bigint], "view">;

  operators: TypedContractMethod<[arg0: AddressLike], [boolean], "view">;

  owner: TypedContractMethod<[], [string], "view">;

  ownerOf: TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;

  ownerToId: TypedContractMethod<[arg0: AddressLike], [bigint], "view">;

  pause: TypedContractMethod<[], [boolean], "nonpayable">;

  paused: TypedContractMethod<[], [boolean], "view">;

  removeAuctionWhiteList: TypedContractMethod<
    [_tokenId: BigNumberish, _address: AddressLike],
    [void],
    "nonpayable"
  >;

  removeFromBlackList: TypedContractMethod<
    [_innocent: AddressLike],
    [void],
    "nonpayable"
  >;

  removeOperator: TypedContractMethod<
    [_operator: AddressLike],
    [void],
    "nonpayable"
  >;

  saleAuction: TypedContractMethod<[], [string], "view">;

  sendBonusTo: TypedContractMethod<
    [_to: AddressLike, _amount: BigNumberish],
    [void],
    "nonpayable"
  >;

  setLeadTime: TypedContractMethod<
    [_leadtime: BigNumberish],
    [void],
    "nonpayable"
  >;

  setSaleAuctionAddress: TypedContractMethod<
    [_address: AddressLike],
    [void],
    "nonpayable"
  >;

  setTokenMetadataBaseURI: TypedContractMethod<
    [_newBaseURI: string],
    [void],
    "nonpayable"
  >;

  setTransferCooldown: TypedContractMethod<
    [_cooldown: BigNumberish],
    [void],
    "nonpayable"
  >;

  supportsInterface: TypedContractMethod<
    [_interfaceId: BytesLike],
    [boolean],
    "view"
  >;

  symbol: TypedContractMethod<[], [string], "view">;

  tokenURI: TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;

  totalSupply: TypedContractMethod<[], [bigint], "view">;

  transfer: TypedContractMethod<
    [_to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;

  transferCooldown: TypedContractMethod<[], [bigint], "view">;

  transferFrom: TypedContractMethod<
    [_from: AddressLike, _to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;

  transferOwnership: TypedContractMethod<
    [newOwner: AddressLike],
    [void],
    "nonpayable"
  >;

  unpause: TypedContractMethod<[], [boolean], "nonpayable">;

  upgradeTo: TypedContractMethod<
    [_tokenId: BigNumberish, _toLvl: BigNumberish],
    [void],
    "nonpayable"
  >;

  xTokenCount: TypedContractMethod<[], [bigint], "view">;

  getFunction<T extends ContractMethod = ContractMethod>(
    key: string | FunctionFragment
  ): T;

  getFunction(
    nameOrSignature: "InterfaceId_ERC165"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "addAuctionWhiteList"
  ): TypedContractMethod<
    [_tokenId: BigNumberish, _address: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "addOperator"
  ): TypedContractMethod<[_operator: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "addToBlackList"
  ): TypedContractMethod<[_badGuy: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "addToken"
  ): TypedContractMethod<
    [
      _addr: AddressLike,
      _lvl: BigNumberish,
      _onUpgrade: boolean,
      _applyUpgradeTime: BigNumberish,
      _applyUpgradeBlockno: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "applyUpgrade"
  ): TypedContractMethod<[_toLvl: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "approve"
  ): TypedContractMethod<
    [_to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "auctionCount"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "balanceOf"
  ): TypedContractMethod<[_owner: AddressLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "bid"
  ): TypedContractMethod<[_tokenId: BigNumberish], [void], "payable">;
  getFunction(
    nameOrSignature: "blackList"
  ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "canTransfer"
  ): TypedContractMethod<[_tokenId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "cancelAuction"
  ): TypedContractMethod<[_tokenId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "cancelUpgrade"
  ): TypedContractMethod<[_tokenId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "createDirectionalSaleAuction"
  ): TypedContractMethod<
    [
      _tokenId: BigNumberish,
      _price: BigNumberish,
      _duration: BigNumberish,
      _toAddress: AddressLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createSaleAuction"
  ): TypedContractMethod<
    [
      _tokenId: BigNumberish,
      _startingPrice: BigNumberish,
      _endingPrice: BigNumberish,
      _duration: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "downgradeTo"
  ): TypedContractMethod<
    [_tokenId: BigNumberish, _toLvl: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "getApproved"
  ): TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "getMetadata"
  ): TypedContractMethod<
    [_tokenId: BigNumberish],
    [[string, bigint, boolean, boolean, bigint, bigint, bigint]],
    "view"
  >;
  getFunction(
    nameOrSignature: "getTokenParams"
  ): TypedContractMethod<
    [_level: BigNumberish],
    [[bigint, bigint, bigint, bigint]],
    "view"
  >;
  getFunction(
    nameOrSignature: "idToOwner"
  ): TypedContractMethod<[arg0: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "isNormalToken"
  ): TypedContractMethod<[_target: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isToken"
  ): TypedContractMethod<[_target: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "isX"
  ): TypedContractMethod<[_target: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "leadTime"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "name"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "normalTokenCount"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "operators"
  ): TypedContractMethod<[arg0: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "owner"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "ownerOf"
  ): TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "ownerToId"
  ): TypedContractMethod<[arg0: AddressLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "pause"
  ): TypedContractMethod<[], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "paused"
  ): TypedContractMethod<[], [boolean], "view">;
  getFunction(
    nameOrSignature: "removeAuctionWhiteList"
  ): TypedContractMethod<
    [_tokenId: BigNumberish, _address: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "removeFromBlackList"
  ): TypedContractMethod<[_innocent: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "removeOperator"
  ): TypedContractMethod<[_operator: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "saleAuction"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "sendBonusTo"
  ): TypedContractMethod<
    [_to: AddressLike, _amount: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setLeadTime"
  ): TypedContractMethod<[_leadtime: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setSaleAuctionAddress"
  ): TypedContractMethod<[_address: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setTokenMetadataBaseURI"
  ): TypedContractMethod<[_newBaseURI: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setTransferCooldown"
  ): TypedContractMethod<[_cooldown: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "supportsInterface"
  ): TypedContractMethod<[_interfaceId: BytesLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "symbol"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "tokenURI"
  ): TypedContractMethod<[_tokenId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "totalSupply"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "transfer"
  ): TypedContractMethod<
    [_to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "transferCooldown"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "transferFrom"
  ): TypedContractMethod<
    [_from: AddressLike, _to: AddressLike, _tokenId: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "transferOwnership"
  ): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "unpause"
  ): TypedContractMethod<[], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "upgradeTo"
  ): TypedContractMethod<
    [_tokenId: BigNumberish, _toLvl: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "xTokenCount"
  ): TypedContractMethod<[], [bigint], "view">;

  getEvent(
    key: "AddAuctionWhiteList"
  ): TypedContractEvent<
    AddAuctionWhiteListEvent.InputTuple,
    AddAuctionWhiteListEvent.OutputTuple,
    AddAuctionWhiteListEvent.OutputObject
  >;
  getEvent(
    key: "Approval"
  ): TypedContractEvent<
    ApprovalEvent.InputTuple,
    ApprovalEvent.OutputTuple,
    ApprovalEvent.OutputObject
  >;
  getEvent(
    key: "ApprovalForAll"
  ): TypedContractEvent<
    ApprovalForAllEvent.InputTuple,
    ApprovalForAllEvent.OutputTuple,
    ApprovalForAllEvent.OutputObject
  >;
  getEvent(
    key: "AuctionCancelled"
  ): TypedContractEvent<
    AuctionCancelledEvent.InputTuple,
    AuctionCancelledEvent.OutputTuple,
    AuctionCancelledEvent.OutputObject
  >;
  getEvent(
    key: "AuctionCreated"
  ): TypedContractEvent<
    AuctionCreatedEvent.InputTuple,
    AuctionCreatedEvent.OutputTuple,
    AuctionCreatedEvent.OutputObject
  >;
  getEvent(
    key: "AuctionSuccessful"
  ): TypedContractEvent<
    AuctionSuccessfulEvent.InputTuple,
    AuctionSuccessfulEvent.OutputTuple,
    AuctionSuccessfulEvent.OutputObject
  >;
  getEvent(
    key: "BlackListUpdated"
  ): TypedContractEvent<
    BlackListUpdatedEvent.InputTuple,
    BlackListUpdatedEvent.OutputTuple,
    BlackListUpdatedEvent.OutputObject
  >;
  getEvent(
    key: "CancelUpgrade"
  ): TypedContractEvent<
    CancelUpgradeEvent.InputTuple,
    CancelUpgradeEvent.OutputTuple,
    CancelUpgradeEvent.OutputObject
  >;
  getEvent(
    key: "LevelChanged"
  ): TypedContractEvent<
    LevelChangedEvent.InputTuple,
    LevelChangedEvent.OutputTuple,
    LevelChangedEvent.OutputObject
  >;
  getEvent(
    key: "NewUpgradeApply"
  ): TypedContractEvent<
    NewUpgradeApplyEvent.InputTuple,
    NewUpgradeApplyEvent.OutputTuple,
    NewUpgradeApplyEvent.OutputObject
  >;
  getEvent(
    key: "OperatorUpdated"
  ): TypedContractEvent<
    OperatorUpdatedEvent.InputTuple,
    OperatorUpdatedEvent.OutputTuple,
    OperatorUpdatedEvent.OutputObject
  >;
  getEvent(
    key: "OwnershipTransferred"
  ): TypedContractEvent<
    OwnershipTransferredEvent.InputTuple,
    OwnershipTransferredEvent.OutputTuple,
    OwnershipTransferredEvent.OutputObject
  >;
  getEvent(
    key: "Pause"
  ): TypedContractEvent<
    PauseEvent.InputTuple,
    PauseEvent.OutputTuple,
    PauseEvent.OutputObject
  >;
  getEvent(
    key: "ProtocolUpgrade"
  ): TypedContractEvent<
    ProtocolUpgradeEvent.InputTuple,
    ProtocolUpgradeEvent.OutputTuple,
    ProtocolUpgradeEvent.OutputObject
  >;
  getEvent(
    key: "RemoveAuctionWhiteList"
  ): TypedContractEvent<
    RemoveAuctionWhiteListEvent.InputTuple,
    RemoveAuctionWhiteListEvent.OutputTuple,
    RemoveAuctionWhiteListEvent.OutputObject
  >;
  getEvent(
    key: "Transfer"
  ): TypedContractEvent<
    TransferEvent.InputTuple,
    TransferEvent.OutputTuple,
    TransferEvent.OutputObject
  >;
  getEvent(
    key: "Unpause"
  ): TypedContractEvent<
    UnpauseEvent.InputTuple,
    UnpauseEvent.OutputTuple,
    UnpauseEvent.OutputObject
  >;

  filters: {
    "AddAuctionWhiteList(uint256,uint256,address)": TypedContractEvent<
      AddAuctionWhiteListEvent.InputTuple,
      AddAuctionWhiteListEvent.OutputTuple,
      AddAuctionWhiteListEvent.OutputObject
    >;
    AddAuctionWhiteList: TypedContractEvent<
      AddAuctionWhiteListEvent.InputTuple,
      AddAuctionWhiteListEvent.OutputTuple,
      AddAuctionWhiteListEvent.OutputObject
    >;

    "Approval(address,address,uint256)": TypedContractEvent<
      ApprovalEvent.InputTuple,
      ApprovalEvent.OutputTuple,
      ApprovalEvent.OutputObject
    >;
    Approval: TypedContractEvent<
      ApprovalEvent.InputTuple,
      ApprovalEvent.OutputTuple,
      ApprovalEvent.OutputObject
    >;

    "ApprovalForAll(address,address,bool)": TypedContractEvent<
      ApprovalForAllEvent.InputTuple,
      ApprovalForAllEvent.OutputTuple,
      ApprovalForAllEvent.OutputObject
    >;
    ApprovalForAll: TypedContractEvent<
      ApprovalForAllEvent.InputTuple,
      ApprovalForAllEvent.OutputTuple,
      ApprovalForAllEvent.OutputObject
    >;

    "AuctionCancelled(uint256,uint256)": TypedContractEvent<
      AuctionCancelledEvent.InputTuple,
      AuctionCancelledEvent.OutputTuple,
      AuctionCancelledEvent.OutputObject
    >;
    AuctionCancelled: TypedContractEvent<
      AuctionCancelledEvent.InputTuple,
      AuctionCancelledEvent.OutputTuple,
      AuctionCancelledEvent.OutputObject
    >;

    "AuctionCreated(uint256,uint256,uint256,uint256,uint64)": TypedContractEvent<
      AuctionCreatedEvent.InputTuple,
      AuctionCreatedEvent.OutputTuple,
      AuctionCreatedEvent.OutputObject
    >;
    AuctionCreated: TypedContractEvent<
      AuctionCreatedEvent.InputTuple,
      AuctionCreatedEvent.OutputTuple,
      AuctionCreatedEvent.OutputObject
    >;

    "AuctionSuccessful(uint256,uint256,address,address,uint256)": TypedContractEvent<
      AuctionSuccessfulEvent.InputTuple,
      AuctionSuccessfulEvent.OutputTuple,
      AuctionSuccessfulEvent.OutputObject
    >;
    AuctionSuccessful: TypedContractEvent<
      AuctionSuccessfulEvent.InputTuple,
      AuctionSuccessfulEvent.OutputTuple,
      AuctionSuccessfulEvent.OutputObject
    >;

    "BlackListUpdated(address,bool)": TypedContractEvent<
      BlackListUpdatedEvent.InputTuple,
      BlackListUpdatedEvent.OutputTuple,
      BlackListUpdatedEvent.OutputObject
    >;
    BlackListUpdated: TypedContractEvent<
      BlackListUpdatedEvent.InputTuple,
      BlackListUpdatedEvent.OutputTuple,
      BlackListUpdatedEvent.OutputObject
    >;

    "CancelUpgrade(uint256,address)": TypedContractEvent<
      CancelUpgradeEvent.InputTuple,
      CancelUpgradeEvent.OutputTuple,
      CancelUpgradeEvent.OutputObject
    >;
    CancelUpgrade: TypedContractEvent<
      CancelUpgradeEvent.InputTuple,
      CancelUpgradeEvent.OutputTuple,
      CancelUpgradeEvent.OutputObject
    >;

    "LevelChanged(uint256,address,uint8,uint8)": TypedContractEvent<
      LevelChangedEvent.InputTuple,
      LevelChangedEvent.OutputTuple,
      LevelChangedEvent.OutputObject
    >;
    LevelChanged: TypedContractEvent<
      LevelChangedEvent.InputTuple,
      LevelChangedEvent.OutputTuple,
      LevelChangedEvent.OutputObject
    >;

    "NewUpgradeApply(uint256,address,uint8,uint64,uint64)": TypedContractEvent<
      NewUpgradeApplyEvent.InputTuple,
      NewUpgradeApplyEvent.OutputTuple,
      NewUpgradeApplyEvent.OutputObject
    >;
    NewUpgradeApply: TypedContractEvent<
      NewUpgradeApplyEvent.InputTuple,
      NewUpgradeApplyEvent.OutputTuple,
      NewUpgradeApplyEvent.OutputObject
    >;

    "OperatorUpdated(address,bool)": TypedContractEvent<
      OperatorUpdatedEvent.InputTuple,
      OperatorUpdatedEvent.OutputTuple,
      OperatorUpdatedEvent.OutputObject
    >;
    OperatorUpdated: TypedContractEvent<
      OperatorUpdatedEvent.InputTuple,
      OperatorUpdatedEvent.OutputTuple,
      OperatorUpdatedEvent.OutputObject
    >;

    "OwnershipTransferred(address,address)": TypedContractEvent<
      OwnershipTransferredEvent.InputTuple,
      OwnershipTransferredEvent.OutputTuple,
      OwnershipTransferredEvent.OutputObject
    >;
    OwnershipTransferred: TypedContractEvent<
      OwnershipTransferredEvent.InputTuple,
      OwnershipTransferredEvent.OutputTuple,
      OwnershipTransferredEvent.OutputObject
    >;

    "Pause()": TypedContractEvent<
      PauseEvent.InputTuple,
      PauseEvent.OutputTuple,
      PauseEvent.OutputObject
    >;
    Pause: TypedContractEvent<
      PauseEvent.InputTuple,
      PauseEvent.OutputTuple,
      PauseEvent.OutputObject
    >;

    "ProtocolUpgrade(address)": TypedContractEvent<
      ProtocolUpgradeEvent.InputTuple,
      ProtocolUpgradeEvent.OutputTuple,
      ProtocolUpgradeEvent.OutputObject
    >;
    ProtocolUpgrade: TypedContractEvent<
      ProtocolUpgradeEvent.InputTuple,
      ProtocolUpgradeEvent.OutputTuple,
      ProtocolUpgradeEvent.OutputObject
    >;

    "RemoveAuctionWhiteList(uint256,uint256,address)": TypedContractEvent<
      RemoveAuctionWhiteListEvent.InputTuple,
      RemoveAuctionWhiteListEvent.OutputTuple,
      RemoveAuctionWhiteListEvent.OutputObject
    >;
    RemoveAuctionWhiteList: TypedContractEvent<
      RemoveAuctionWhiteListEvent.InputTuple,
      RemoveAuctionWhiteListEvent.OutputTuple,
      RemoveAuctionWhiteListEvent.OutputObject
    >;

    "Transfer(address,address,uint256)": TypedContractEvent<
      TransferEvent.InputTuple,
      TransferEvent.OutputTuple,
      TransferEvent.OutputObject
    >;
    Transfer: TypedContractEvent<
      TransferEvent.InputTuple,
      TransferEvent.OutputTuple,
      TransferEvent.OutputObject
    >;

    "Unpause()": TypedContractEvent<
      UnpauseEvent.InputTuple,
      UnpauseEvent.OutputTuple,
      UnpauseEvent.OutputObject
    >;
    Unpause: TypedContractEvent<
      UnpauseEvent.InputTuple,
      UnpauseEvent.OutputTuple,
      UnpauseEvent.OutputObject
    >;
  };
}
