/* 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 B3TRGovernorInterface extends Interface {
  getFunction(
    nameOrSignature:
      | "CLOCK_MODE"
      | "CONTRACTS_ADDRESS_MANAGER_ROLE"
      | "COUNTING_MODE"
      | "DEFAULT_ADMIN_ROLE"
      | "GOVERNOR_FUNCTIONS_SETTINGS_ROLE"
      | "PAUSER_ROLE"
      | "PROPOSAL_EXECUTOR_ROLE"
      | "PROPOSAL_STATE_MANAGER_ROLE"
      | "UPGRADE_INTERFACE_VERSION"
      | "b3tr"
      | "canProposalStartInNextRound"
      | "cancel"
      | "castNavigatorVote"
      | "castVote"
      | "castVoteWithReason"
      | "claimPayout"
      | "clock"
      | "deposit"
      | "depositThresholdByProposalType"
      | "depositThresholdCapByProposalType"
      | "depositThresholdPercentageByProposalType"
      | "execute"
      | "getActiveProposals"
      | "getDepositVotingPower"
      | "getGalaxyMemberContract"
      | "getGrantsManagerContract"
      | "getProposalBudget"
      | "getProposalContributors"
      | "getProposalDeposits"
      | "getProposalDescription"
      | "getProposalImplementationDiscussion"
      | "getProposalPayee"
      | "getQuadraticVotingPower"
      | "getRequiredGMLevelByProposalType"
      | "getRoleAdmin"
      | "getTimelockId"
      | "getUserDeposit"
      | "getVotes"
      | "governanceSkipWindowBlocks"
      | "grantRole"
      | "hasRole"
      | "hasVoted"
      | "hasVotedOnce"
      | "hashProposal"
      | "initializeV10"
      | "initializeV11"
      | "isFunctionWhitelisted"
      | "isProposalPaid"
      | "isQuadraticVotingDisabledForCurrentRound"
      | "isQuadraticVotingDisabledForRound"
      | "markAsCompleted"
      | "markAsInDevelopment"
      | "minVotingDelay"
      | "name"
      | "navigatorRegistry"
      | "onERC1155BatchReceived"
      | "onERC1155Received"
      | "onERC721Received"
      | "pause"
      | "paused"
      | "proposalDeadline"
      | "proposalDepositReached"
      | "proposalDepositThreshold"
      | "proposalEta"
      | "proposalNeedsQueuing"
      | "proposalProposer"
      | "proposalSnapshot"
      | "proposalStartRound"
      | "proposalTotalVotes"
      | "proposalType"
      | "proposalVotes"
      | "propose"
      | "proposeGrant"
      | "proxiableUUID"
      | "queue"
      | "quorum"
      | "quorumByProposalType"
      | "quorumDenominator"
      | "quorumNumerator(uint256)"
      | "quorumNumerator()"
      | "quorumNumeratorByProposalType(uint8)"
      | "quorumNumeratorByProposalType(uint256,uint8)"
      | "quorumReached"
      | "relay"
      | "relayerRewardsPool"
      | "renounceRole"
      | "resetDevelopmentState"
      | "revokeRole"
      | "setGalaxyMember"
      | "setGovernanceSkipWindowBlocks"
      | "setGrantsManager"
      | "setIsFunctionRestrictionEnabled"
      | "setMinVotingDelay"
      | "setNavigatorRegistry"
      | "setProposalTypeDepositThresholdCap"
      | "setProposalTypeDepositThresholdPercentage"
      | "setProposalTypeVotingThreshold"
      | "setRelayerRewardsPool"
      | "setRequiredGMLevelByProposalType"
      | "setVeBetterPassport"
      | "setVoterRewards"
      | "setWhitelistFunction"
      | "setWhitelistFunctions"
      | "setXAllocationVoting"
      | "state"
      | "supportsInterface"
      | "timelock"
      | "timelockSalt"
      | "toggleQuadraticVoting"
      | "token"
      | "unpause"
      | "updateCommunityExecution"
      | "updateQuorumNumerator"
      | "updateQuorumNumeratorByType"
      | "updateTimelock"
      | "upgradeToAndCall"
      | "veBetterPassport"
      | "version"
      | "voterRewards"
      | "votingPeriod"
      | "votingThresholdByProposalType"
      | "withdraw"
      | "xAllocationVoting"
  ): FunctionFragment;

  getEvent(
    nameOrSignatureOrTopic:
      | "DepositThresholdCapSet"
      | "DepositThresholdSetV2"
      | "FunctionWhitelisted"
      | "Initialized"
      | "NavigatorGovernanceVoteSkipped"
      | "Paused"
      | "ProposalBudgetSet"
      | "ProposalCanceled"
      | "ProposalCanceledWithReason"
      | "ProposalCompleted"
      | "ProposalContributorsSet"
      | "ProposalCreated"
      | "ProposalCreatedWithType"
      | "ProposalDeposit"
      | "ProposalDevelopmentStateReset"
      | "ProposalExecuted"
      | "ProposalInDevelopment"
      | "ProposalInDevelopmentDetails"
      | "ProposalPayoutClaimed"
      | "ProposalQueued"
      | "ProposalWithdraw"
      | "QuadraticVotingToggled"
      | "QuorumNumeratorUpdated"
      | "QuorumNumeratorUpdatedByType"
      | "RequiredGMLevelSet"
      | "RoleAdminChanged"
      | "RoleGranted"
      | "RoleRevoked"
      | "TimelockChange"
      | "Unpaused"
      | "Upgraded"
      | "VeBetterPassportSet"
      | "VoteCast"
      | "VotingPowerSeeded"
      | "VotingThresholdSetV2"
  ): EventFragment;

  encodeFunctionData(
    functionFragment: "CLOCK_MODE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "CONTRACTS_ADDRESS_MANAGER_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "COUNTING_MODE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "DEFAULT_ADMIN_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "GOVERNOR_FUNCTIONS_SETTINGS_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "PAUSER_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "PROPOSAL_EXECUTOR_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "PROPOSAL_STATE_MANAGER_ROLE",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "UPGRADE_INTERFACE_VERSION",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "b3tr", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "canProposalStartInNextRound",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "cancel",
    values: [AddressLike[], BigNumberish[], BytesLike[], BytesLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "castNavigatorVote",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "castVote",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "castVoteWithReason",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "claimPayout",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "clock", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "deposit",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "depositThresholdByProposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "depositThresholdCapByProposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "depositThresholdPercentageByProposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "execute",
    values: [AddressLike[], BigNumberish[], BytesLike[], BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getActiveProposals",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getDepositVotingPower",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getGalaxyMemberContract",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getGrantsManagerContract",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalBudget",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalContributors",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalDeposits",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalDescription",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalImplementationDiscussion",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getProposalPayee",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getQuadraticVotingPower",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getRequiredGMLevelByProposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getRoleAdmin",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getTimelockId",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getUserDeposit",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getVotes",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "governanceSkipWindowBlocks",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "grantRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "hasRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "hasVoted",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "hasVotedOnce",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "hashProposal",
    values: [AddressLike[], BigNumberish[], BytesLike[], BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "initializeV10",
    values: [AddressLike, AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "initializeV11",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isFunctionWhitelisted",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "isProposalPaid",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "isQuadraticVotingDisabledForCurrentRound",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "isQuadraticVotingDisabledForRound",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "markAsCompleted",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "markAsInDevelopment",
    values: [BigNumberish, AddressLike, string, string, string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "minVotingDelay",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "name", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "navigatorRegistry",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "onERC1155BatchReceived",
    values: [
      AddressLike,
      AddressLike,
      BigNumberish[],
      BigNumberish[],
      BytesLike
    ]
  ): string;
  encodeFunctionData(
    functionFragment: "onERC1155Received",
    values: [AddressLike, AddressLike, BigNumberish, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "onERC721Received",
    values: [AddressLike, AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "pause", values?: undefined): string;
  encodeFunctionData(functionFragment: "paused", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "proposalDeadline",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalDepositReached",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalDepositThreshold",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalEta",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalNeedsQueuing",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalProposer",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalSnapshot",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalStartRound",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalTotalVotes",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "proposalVotes",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "propose",
    values: [
      AddressLike[],
      BigNumberish[],
      BytesLike[],
      string,
      BigNumberish,
      BigNumberish,
      BigNumberish
    ]
  ): string;
  encodeFunctionData(
    functionFragment: "proposeGrant",
    values: [
      AddressLike[],
      BigNumberish[],
      BytesLike[],
      string,
      BigNumberish,
      BigNumberish,
      AddressLike,
      string
    ]
  ): string;
  encodeFunctionData(
    functionFragment: "proxiableUUID",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "queue",
    values: [AddressLike[], BigNumberish[], BytesLike[], BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "quorum",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "quorumByProposalType",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "quorumDenominator",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "quorumNumerator(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "quorumNumerator()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "quorumNumeratorByProposalType(uint8)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "quorumNumeratorByProposalType(uint256,uint8)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "quorumReached",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "relay",
    values: [AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "relayerRewardsPool",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "renounceRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "resetDevelopmentState",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "revokeRole",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setGalaxyMember",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setGovernanceSkipWindowBlocks",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setGrantsManager",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setIsFunctionRestrictionEnabled",
    values: [boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "setMinVotingDelay",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setNavigatorRegistry",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setProposalTypeDepositThresholdCap",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setProposalTypeDepositThresholdPercentage",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setProposalTypeVotingThreshold",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setRelayerRewardsPool",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setRequiredGMLevelByProposalType",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setVeBetterPassport",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setVoterRewards",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setWhitelistFunction",
    values: [AddressLike, BytesLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "setWhitelistFunctions",
    values: [AddressLike, BytesLike[], boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "setXAllocationVoting",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "state", values: [BigNumberish]): string;
  encodeFunctionData(
    functionFragment: "supportsInterface",
    values: [BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "timelock", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "timelockSalt",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "toggleQuadraticVoting",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "token", values?: undefined): string;
  encodeFunctionData(functionFragment: "unpause", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "updateCommunityExecution",
    values: [BigNumberish, AddressLike, string, string, string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "updateQuorumNumerator",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "updateQuorumNumeratorByType",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "updateTimelock",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "upgradeToAndCall",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "veBetterPassport",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "version", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "voterRewards",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "votingPeriod",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "votingThresholdByProposalType",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "withdraw",
    values: [BigNumberish, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "xAllocationVoting",
    values?: undefined
  ): string;

  decodeFunctionResult(functionFragment: "CLOCK_MODE", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "CONTRACTS_ADDRESS_MANAGER_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "COUNTING_MODE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "DEFAULT_ADMIN_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "GOVERNOR_FUNCTIONS_SETTINGS_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "PAUSER_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "PROPOSAL_EXECUTOR_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "PROPOSAL_STATE_MANAGER_ROLE",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "UPGRADE_INTERFACE_VERSION",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "b3tr", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "canProposalStartInNextRound",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "cancel", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "castNavigatorVote",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "castVote", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "castVoteWithReason",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "claimPayout",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "clock", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "depositThresholdByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "depositThresholdCapByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "depositThresholdPercentageByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getActiveProposals",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDepositVotingPower",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getGalaxyMemberContract",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getGrantsManagerContract",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalBudget",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalContributors",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalDeposits",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalDescription",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalImplementationDiscussion",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getProposalPayee",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getQuadraticVotingPower",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getRequiredGMLevelByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getRoleAdmin",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getTimelockId",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getUserDeposit",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getVotes", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "governanceSkipWindowBlocks",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "hasVoted", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "hasVotedOnce",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "hashProposal",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "initializeV10",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "initializeV11",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isFunctionWhitelisted",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isProposalPaid",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isQuadraticVotingDisabledForCurrentRound",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "isQuadraticVotingDisabledForRound",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "markAsCompleted",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "markAsInDevelopment",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "minVotingDelay",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "name", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "navigatorRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "onERC1155BatchReceived",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "onERC1155Received",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "onERC721Received",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "pause", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "proposalDeadline",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalDepositReached",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalDepositThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalEta",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalNeedsQueuing",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalProposer",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalSnapshot",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalStartRound",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalTotalVotes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proposalVotes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "proposeGrant",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "proxiableUUID",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "queue", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "quorum", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "quorumByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumDenominator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumNumerator(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumNumerator()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumNumeratorByProposalType(uint8)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumNumeratorByProposalType(uint256,uint8)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "quorumReached",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "relay", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "relayerRewardsPool",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "renounceRole",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "resetDevelopmentState",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "setGalaxyMember",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setGovernanceSkipWindowBlocks",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setGrantsManager",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setIsFunctionRestrictionEnabled",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setMinVotingDelay",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setNavigatorRegistry",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setProposalTypeDepositThresholdCap",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setProposalTypeDepositThresholdPercentage",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setProposalTypeVotingThreshold",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setRelayerRewardsPool",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setRequiredGMLevelByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setVeBetterPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setVoterRewards",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setWhitelistFunction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setWhitelistFunctions",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setXAllocationVoting",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "state", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "supportsInterface",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "timelock", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "timelockSalt",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toggleQuadraticVoting",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "token", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "unpause", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "updateCommunityExecution",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "updateQuorumNumerator",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "updateQuorumNumeratorByType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "updateTimelock",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "upgradeToAndCall",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "veBetterPassport",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "version", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "voterRewards",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "votingPeriod",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "votingThresholdByProposalType",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "xAllocationVoting",
    data: BytesLike
  ): Result;
}

export namespace DepositThresholdCapSetEvent {
  export type InputTuple = [
    proposalType: BigNumberish,
    oldDepositThresholdCap: BigNumberish,
    newDepositThresholdCap: BigNumberish
  ];
  export type OutputTuple = [
    proposalType: bigint,
    oldDepositThresholdCap: bigint,
    newDepositThresholdCap: bigint
  ];
  export interface OutputObject {
    proposalType: bigint;
    oldDepositThresholdCap: bigint;
    newDepositThresholdCap: 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 DepositThresholdSetV2Event {
  export type InputTuple = [
    proposalType: BigNumberish,
    oldDepositThreshold: BigNumberish,
    newDepositThreshold: BigNumberish
  ];
  export type OutputTuple = [
    proposalType: bigint,
    oldDepositThreshold: bigint,
    newDepositThreshold: bigint
  ];
  export interface OutputObject {
    proposalType: bigint;
    oldDepositThreshold: bigint;
    newDepositThreshold: 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 FunctionWhitelistedEvent {
  export type InputTuple = [
    target: AddressLike,
    functionSelector: BytesLike,
    isWhitelisted: boolean
  ];
  export type OutputTuple = [
    target: string,
    functionSelector: string,
    isWhitelisted: boolean
  ];
  export interface OutputObject {
    target: string;
    functionSelector: string;
    isWhitelisted: 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 InitializedEvent {
  export type InputTuple = [version: BigNumberish];
  export type OutputTuple = [version: bigint];
  export interface OutputObject {
    version: 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 NavigatorGovernanceVoteSkippedEvent {
  export type InputTuple = [
    citizen: AddressLike,
    navigator: AddressLike,
    proposalId: BigNumberish
  ];
  export type OutputTuple = [
    citizen: string,
    navigator: string,
    proposalId: bigint
  ];
  export interface OutputObject {
    citizen: string;
    navigator: string;
    proposalId: 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 PausedEvent {
  export type InputTuple = [account: AddressLike];
  export type OutputTuple = [account: string];
  export interface OutputObject {
    account: 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 ProposalBudgetSetEvent {
  export type InputTuple = [proposalId: BigNumberish, maxBudget: BigNumberish];
  export type OutputTuple = [proposalId: bigint, maxBudget: bigint];
  export interface OutputObject {
    proposalId: bigint;
    maxBudget: 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 ProposalCanceledEvent {
  export type InputTuple = [proposalId: BigNumberish];
  export type OutputTuple = [proposalId: bigint];
  export interface OutputObject {
    proposalId: 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 ProposalCanceledWithReasonEvent {
  export type InputTuple = [
    proposalId: BigNumberish,
    canceler: AddressLike,
    reason: string
  ];
  export type OutputTuple = [
    proposalId: bigint,
    canceler: string,
    reason: string
  ];
  export interface OutputObject {
    proposalId: bigint;
    canceler: string;
    reason: 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 ProposalCompletedEvent {
  export type InputTuple = [proposalId: BigNumberish];
  export type OutputTuple = [proposalId: bigint];
  export interface OutputObject {
    proposalId: 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 ProposalContributorsSetEvent {
  export type InputTuple = [proposalId: BigNumberish, contributors: string[]];
  export type OutputTuple = [proposalId: bigint, contributors: string[]];
  export interface OutputObject {
    proposalId: bigint;
    contributors: 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 ProposalCreatedEvent {
  export type InputTuple = [
    proposalId: BigNumberish,
    proposer: AddressLike,
    targets: AddressLike[],
    values: BigNumberish[],
    signatures: string[],
    calldatas: BytesLike[],
    description: string,
    roundIdVoteStart: BigNumberish,
    depositThreshold: BigNumberish
  ];
  export type OutputTuple = [
    proposalId: bigint,
    proposer: string,
    targets: string[],
    values: bigint[],
    signatures: string[],
    calldatas: string[],
    description: string,
    roundIdVoteStart: bigint,
    depositThreshold: bigint
  ];
  export interface OutputObject {
    proposalId: bigint;
    proposer: string;
    targets: string[];
    values: bigint[];
    signatures: string[];
    calldatas: string[];
    description: string;
    roundIdVoteStart: bigint;
    depositThreshold: 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 ProposalCreatedWithTypeEvent {
  export type InputTuple = [
    proposalId: BigNumberish,
    proposalType: BigNumberish
  ];
  export type OutputTuple = [proposalId: bigint, proposalType: bigint];
  export interface OutputObject {
    proposalId: bigint;
    proposalType: 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 ProposalDepositEvent {
  export type InputTuple = [
    depositor: AddressLike,
    proposalId: BigNumberish,
    amount: BigNumberish
  ];
  export type OutputTuple = [
    depositor: string,
    proposalId: bigint,
    amount: bigint
  ];
  export interface OutputObject {
    depositor: string;
    proposalId: bigint;
    amount: 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 ProposalDevelopmentStateResetEvent {
  export type InputTuple = [proposalId: BigNumberish];
  export type OutputTuple = [proposalId: bigint];
  export interface OutputObject {
    proposalId: 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 ProposalExecutedEvent {
  export type InputTuple = [proposalId: BigNumberish];
  export type OutputTuple = [proposalId: bigint];
  export interface OutputObject {
    proposalId: 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 ProposalInDevelopmentEvent {
  export type InputTuple = [proposalId: BigNumberish];
  export type OutputTuple = [proposalId: bigint];
  export interface OutputObject {
    proposalId: 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 ProposalInDevelopmentDetailsEvent {
  export type InputTuple = [
    proposalId: BigNumberish,
    payee: AddressLike,
    description: string,
    implementationDiscussion: string
  ];
  export type OutputTuple = [
    proposalId: bigint,
    payee: string,
    description: string,
    implementationDiscussion: string
  ];
  export interface OutputObject {
    proposalId: bigint;
    payee: string;
    description: string;
    implementationDiscussion: 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 ProposalPayoutClaimedEvent {
  export type InputTuple = [
    proposalId: BigNumberish,
    payee: AddressLike,
    amount: BigNumberish
  ];
  export type OutputTuple = [proposalId: bigint, payee: string, amount: bigint];
  export interface OutputObject {
    proposalId: bigint;
    payee: string;
    amount: 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 ProposalQueuedEvent {
  export type InputTuple = [proposalId: BigNumberish, etaSeconds: BigNumberish];
  export type OutputTuple = [proposalId: bigint, etaSeconds: bigint];
  export interface OutputObject {
    proposalId: bigint;
    etaSeconds: 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 ProposalWithdrawEvent {
  export type InputTuple = [
    withdrawer: AddressLike,
    proposalId: BigNumberish,
    amount: BigNumberish
  ];
  export type OutputTuple = [
    withdrawer: string,
    proposalId: bigint,
    amount: bigint
  ];
  export interface OutputObject {
    withdrawer: string;
    proposalId: bigint;
    amount: 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 QuadraticVotingToggledEvent {
  export type InputTuple = [disabled: boolean];
  export type OutputTuple = [disabled: boolean];
  export interface OutputObject {
    disabled: 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 QuorumNumeratorUpdatedEvent {
  export type InputTuple = [
    oldNumerator: BigNumberish,
    newNumerator: BigNumberish
  ];
  export type OutputTuple = [oldNumerator: bigint, newNumerator: bigint];
  export interface OutputObject {
    oldNumerator: bigint;
    newNumerator: 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 QuorumNumeratorUpdatedByTypeEvent {
  export type InputTuple = [
    oldNumerator: BigNumberish,
    newNumerator: BigNumberish,
    proposalType: BigNumberish
  ];
  export type OutputTuple = [
    oldNumerator: bigint,
    newNumerator: bigint,
    proposalType: bigint
  ];
  export interface OutputObject {
    oldNumerator: bigint;
    newNumerator: bigint;
    proposalType: 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 RequiredGMLevelSetEvent {
  export type InputTuple = [
    proposalType: BigNumberish,
    oldRequiredGMLevel: BigNumberish,
    newRequiredGMLevel: BigNumberish
  ];
  export type OutputTuple = [
    proposalType: bigint,
    oldRequiredGMLevel: bigint,
    newRequiredGMLevel: bigint
  ];
  export interface OutputObject {
    proposalType: bigint;
    oldRequiredGMLevel: bigint;
    newRequiredGMLevel: 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 RoleAdminChangedEvent {
  export type InputTuple = [
    role: BytesLike,
    previousAdminRole: BytesLike,
    newAdminRole: BytesLike
  ];
  export type OutputTuple = [
    role: string,
    previousAdminRole: string,
    newAdminRole: string
  ];
  export interface OutputObject {
    role: string;
    previousAdminRole: string;
    newAdminRole: 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 RoleGrantedEvent {
  export type InputTuple = [
    role: BytesLike,
    account: AddressLike,
    sender: AddressLike
  ];
  export type OutputTuple = [role: string, account: string, sender: string];
  export interface OutputObject {
    role: string;
    account: string;
    sender: 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 RoleRevokedEvent {
  export type InputTuple = [
    role: BytesLike,
    account: AddressLike,
    sender: AddressLike
  ];
  export type OutputTuple = [role: string, account: string, sender: string];
  export interface OutputObject {
    role: string;
    account: string;
    sender: 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 TimelockChangeEvent {
  export type InputTuple = [oldTimelock: AddressLike, newTimelock: AddressLike];
  export type OutputTuple = [oldTimelock: string, newTimelock: string];
  export interface OutputObject {
    oldTimelock: string;
    newTimelock: 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 UnpausedEvent {
  export type InputTuple = [account: AddressLike];
  export type OutputTuple = [account: string];
  export interface OutputObject {
    account: 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 UpgradedEvent {
  export type InputTuple = [implementation: AddressLike];
  export type OutputTuple = [implementation: string];
  export interface OutputObject {
    implementation: 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 VeBetterPassportSetEvent {
  export type InputTuple = [
    oldVeBetterPassport: AddressLike,
    newVeBetterPassport: AddressLike
  ];
  export type OutputTuple = [
    oldVeBetterPassport: string,
    newVeBetterPassport: string
  ];
  export interface OutputObject {
    oldVeBetterPassport: string;
    newVeBetterPassport: 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 VoteCastEvent {
  export type InputTuple = [
    voter: AddressLike,
    proposalId: BigNumberish,
    support: BigNumberish,
    weight: BigNumberish,
    power: BigNumberish,
    reason: string
  ];
  export type OutputTuple = [
    voter: string,
    proposalId: bigint,
    support: bigint,
    weight: bigint,
    power: bigint,
    reason: string
  ];
  export interface OutputObject {
    voter: string;
    proposalId: bigint;
    support: bigint;
    weight: bigint;
    power: bigint;
    reason: 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 VotingPowerSeededEvent {
  export type InputTuple = [walletAddress: AddressLike, deposit: BigNumberish];
  export type OutputTuple = [walletAddress: string, deposit: bigint];
  export interface OutputObject {
    walletAddress: string;
    deposit: 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 VotingThresholdSetV2Event {
  export type InputTuple = [
    proposalType: BigNumberish,
    oldVotingThreshold: BigNumberish,
    newVotingThreshold: BigNumberish
  ];
  export type OutputTuple = [
    proposalType: bigint,
    oldVotingThreshold: bigint,
    newVotingThreshold: bigint
  ];
  export interface OutputObject {
    proposalType: bigint;
    oldVotingThreshold: bigint;
    newVotingThreshold: bigint;
  }
  export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
  export type Filter = TypedDeferredTopicFilter<Event>;
  export type Log = TypedEventLog<Event>;
  export type LogDescription = TypedLogDescription<Event>;
}

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

  interface: B3TRGovernorInterface;

  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>;

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

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

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

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

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

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

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

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

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

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

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

  cancel: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike,
      reason: string
    ],
    [bigint],
    "nonpayable"
  >;

  castNavigatorVote: TypedContractMethod<
    [proposalId: BigNumberish, citizen: AddressLike],
    [bigint],
    "nonpayable"
  >;

  castVote: TypedContractMethod<
    [proposalId: BigNumberish, support: BigNumberish],
    [bigint],
    "nonpayable"
  >;

  castVoteWithReason: TypedContractMethod<
    [proposalId: BigNumberish, support: BigNumberish, reason: string],
    [bigint],
    "nonpayable"
  >;

  claimPayout: TypedContractMethod<
    [proposalId: BigNumberish],
    [void],
    "nonpayable"
  >;

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

  deposit: TypedContractMethod<
    [amount: BigNumberish, proposalId: BigNumberish],
    [void],
    "nonpayable"
  >;

  depositThresholdByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  depositThresholdCapByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  depositThresholdPercentageByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  execute: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "payable"
  >;

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

  getDepositVotingPower: TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;

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

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

  getProposalBudget: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  getProposalContributors: TypedContractMethod<
    [proposalId: BigNumberish],
    [string[]],
    "view"
  >;

  getProposalDeposits: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  getProposalDescription: TypedContractMethod<
    [proposalId: BigNumberish],
    [string],
    "view"
  >;

  getProposalImplementationDiscussion: TypedContractMethod<
    [proposalId: BigNumberish],
    [string],
    "view"
  >;

  getProposalPayee: TypedContractMethod<
    [proposalId: BigNumberish],
    [string],
    "view"
  >;

  getQuadraticVotingPower: TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;

  getRequiredGMLevelByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">;

  getTimelockId: TypedContractMethod<
    [proposalId: BigNumberish],
    [string],
    "view"
  >;

  getUserDeposit: TypedContractMethod<
    [proposalId: BigNumberish, user: AddressLike],
    [bigint],
    "view"
  >;

  getVotes: TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;

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

  grantRole: TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;

  hasRole: TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [boolean],
    "view"
  >;

  hasVoted: TypedContractMethod<
    [proposalId: BigNumberish, account: AddressLike],
    [boolean],
    "view"
  >;

  hasVotedOnce: TypedContractMethod<[user: AddressLike], [boolean], "view">;

  hashProposal: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "view"
  >;

  initializeV10: TypedContractMethod<
    [
      _navigatorRegistry: AddressLike,
      _relayerRewardsPool: AddressLike,
      _governanceSkipWindowBlocks: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  initializeV11: TypedContractMethod<
    [_treasury: AddressLike, _maxContributorsPerProposal: BigNumberish],
    [void],
    "nonpayable"
  >;

  isFunctionWhitelisted: TypedContractMethod<
    [target: AddressLike, functionSelector: BytesLike],
    [boolean],
    "view"
  >;

  isProposalPaid: TypedContractMethod<
    [proposalId: BigNumberish],
    [boolean],
    "view"
  >;

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

  isQuadraticVotingDisabledForRound: TypedContractMethod<
    [roundId: BigNumberish],
    [boolean],
    "view"
  >;

  markAsCompleted: TypedContractMethod<
    [proposalId: BigNumberish],
    [void],
    "nonpayable"
  >;

  markAsInDevelopment: TypedContractMethod<
    [
      proposalId: BigNumberish,
      payee: AddressLike,
      description: string,
      implementationDiscussion: string,
      contributors: string[]
    ],
    [void],
    "nonpayable"
  >;

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

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

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

  onERC1155BatchReceived: TypedContractMethod<
    [
      arg0: AddressLike,
      arg1: AddressLike,
      arg2: BigNumberish[],
      arg3: BigNumberish[],
      arg4: BytesLike
    ],
    [string],
    "nonpayable"
  >;

  onERC1155Received: TypedContractMethod<
    [
      arg0: AddressLike,
      arg1: AddressLike,
      arg2: BigNumberish,
      arg3: BigNumberish,
      arg4: BytesLike
    ],
    [string],
    "nonpayable"
  >;

  onERC721Received: TypedContractMethod<
    [arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike],
    [string],
    "nonpayable"
  >;

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

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

  proposalDeadline: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalDepositReached: TypedContractMethod<
    [proposalId: BigNumberish],
    [boolean],
    "view"
  >;

  proposalDepositThreshold: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalEta: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalNeedsQueuing: TypedContractMethod<
    [proposalId: BigNumberish],
    [boolean],
    "view"
  >;

  proposalProposer: TypedContractMethod<
    [proposalId: BigNumberish],
    [string],
    "view"
  >;

  proposalSnapshot: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalStartRound: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalTotalVotes: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalType: TypedContractMethod<
    [proposalId: BigNumberish],
    [bigint],
    "view"
  >;

  proposalVotes: TypedContractMethod<
    [proposalId: BigNumberish],
    [
      [bigint, bigint, bigint] & {
        againstVotes: bigint;
        forVotes: bigint;
        abstainVotes: bigint;
      }
    ],
    "view"
  >;

  propose: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      description: string,
      startRoundId: BigNumberish,
      depositAmount: BigNumberish,
      maxBudget: BigNumberish
    ],
    [bigint],
    "nonpayable"
  >;

  proposeGrant: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      description: string,
      startRoundId: BigNumberish,
      depositAmount: BigNumberish,
      grantsReceiver: AddressLike,
      milestonesDetailsMetadataURI: string
    ],
    [bigint],
    "nonpayable"
  >;

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

  queue: TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "nonpayable"
  >;

  quorum: TypedContractMethod<[blockNumber: BigNumberish], [bigint], "view">;

  quorumByProposalType: TypedContractMethod<
    [blockNumber: BigNumberish, proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

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

  "quorumNumerator(uint256)": TypedContractMethod<
    [timepoint: BigNumberish],
    [bigint],
    "view"
  >;

  "quorumNumerator()": TypedContractMethod<[], [bigint], "view">;

  "quorumNumeratorByProposalType(uint8)": TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  "quorumNumeratorByProposalType(uint256,uint8)": TypedContractMethod<
    [timepoint: BigNumberish, proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  quorumReached: TypedContractMethod<
    [proposalId: BigNumberish],
    [boolean],
    "view"
  >;

  relay: TypedContractMethod<
    [target: AddressLike, value: BigNumberish, data: BytesLike],
    [void],
    "payable"
  >;

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

  renounceRole: TypedContractMethod<
    [role: BytesLike, callerConfirmation: AddressLike],
    [void],
    "nonpayable"
  >;

  resetDevelopmentState: TypedContractMethod<
    [proposalId: BigNumberish],
    [void],
    "nonpayable"
  >;

  revokeRole: TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;

  setGalaxyMember: TypedContractMethod<
    [newGalaxyMember: AddressLike],
    [void],
    "nonpayable"
  >;

  setGovernanceSkipWindowBlocks: TypedContractMethod<
    [newValue: BigNumberish],
    [void],
    "nonpayable"
  >;

  setGrantsManager: TypedContractMethod<
    [newGrantsManager: AddressLike],
    [void],
    "nonpayable"
  >;

  setIsFunctionRestrictionEnabled: TypedContractMethod<
    [isEnabled: boolean],
    [void],
    "nonpayable"
  >;

  setMinVotingDelay: TypedContractMethod<
    [newMinVotingDelay: BigNumberish],
    [void],
    "nonpayable"
  >;

  setNavigatorRegistry: TypedContractMethod<
    [newNavigatorRegistry: AddressLike],
    [void],
    "nonpayable"
  >;

  setProposalTypeDepositThresholdCap: TypedContractMethod<
    [newDepositThresholdCap: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;

  setProposalTypeDepositThresholdPercentage: TypedContractMethod<
    [newDepositThreshold: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;

  setProposalTypeVotingThreshold: TypedContractMethod<
    [newVotingThreshold: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;

  setRelayerRewardsPool: TypedContractMethod<
    [newRelayerRewardsPool: AddressLike],
    [void],
    "nonpayable"
  >;

  setRequiredGMLevelByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish, newGMWeight: BigNumberish],
    [void],
    "nonpayable"
  >;

  setVeBetterPassport: TypedContractMethod<
    [newVeBetterPassport: AddressLike],
    [void],
    "nonpayable"
  >;

  setVoterRewards: TypedContractMethod<
    [newVoterRewards: AddressLike],
    [void],
    "nonpayable"
  >;

  setWhitelistFunction: TypedContractMethod<
    [target: AddressLike, functionSelector: BytesLike, isWhitelisted: boolean],
    [void],
    "nonpayable"
  >;

  setWhitelistFunctions: TypedContractMethod<
    [
      target: AddressLike,
      functionSelectors: BytesLike[],
      isWhitelisted: boolean
    ],
    [void],
    "nonpayable"
  >;

  setXAllocationVoting: TypedContractMethod<
    [newXAllocationVoting: AddressLike],
    [void],
    "nonpayable"
  >;

  state: TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;

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

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

  timelockSalt: TypedContractMethod<
    [descriptionHash: BytesLike],
    [string],
    "view"
  >;

  toggleQuadraticVoting: TypedContractMethod<[], [void], "nonpayable">;

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

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

  updateCommunityExecution: TypedContractMethod<
    [
      proposalId: BigNumberish,
      payee: AddressLike,
      description: string,
      implementationDiscussion: string,
      contributors: string[]
    ],
    [void],
    "nonpayable"
  >;

  updateQuorumNumerator: TypedContractMethod<
    [newQuorumNumerator: BigNumberish],
    [void],
    "nonpayable"
  >;

  updateQuorumNumeratorByType: TypedContractMethod<
    [newQuorumNumerator: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;

  updateTimelock: TypedContractMethod<
    [newTimelock: AddressLike],
    [void],
    "nonpayable"
  >;

  upgradeToAndCall: TypedContractMethod<
    [newImplementation: AddressLike, data: BytesLike],
    [void],
    "payable"
  >;

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

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

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

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

  votingThresholdByProposalType: TypedContractMethod<
    [proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;

  withdraw: TypedContractMethod<
    [proposalId: BigNumberish, depositor: AddressLike],
    [void],
    "nonpayable"
  >;

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

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

  getFunction(
    nameOrSignature: "CLOCK_MODE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "CONTRACTS_ADDRESS_MANAGER_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "COUNTING_MODE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "DEFAULT_ADMIN_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "GOVERNOR_FUNCTIONS_SETTINGS_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "PAUSER_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "PROPOSAL_EXECUTOR_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "PROPOSAL_STATE_MANAGER_ROLE"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "UPGRADE_INTERFACE_VERSION"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "b3tr"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "canProposalStartInNextRound"
  ): TypedContractMethod<[], [boolean], "view">;
  getFunction(
    nameOrSignature: "cancel"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike,
      reason: string
    ],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "castNavigatorVote"
  ): TypedContractMethod<
    [proposalId: BigNumberish, citizen: AddressLike],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "castVote"
  ): TypedContractMethod<
    [proposalId: BigNumberish, support: BigNumberish],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "castVoteWithReason"
  ): TypedContractMethod<
    [proposalId: BigNumberish, support: BigNumberish, reason: string],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "claimPayout"
  ): TypedContractMethod<[proposalId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "clock"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "deposit"
  ): TypedContractMethod<
    [amount: BigNumberish, proposalId: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "depositThresholdByProposalType"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "depositThresholdCapByProposalType"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "depositThresholdPercentageByProposalType"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "execute"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "payable"
  >;
  getFunction(
    nameOrSignature: "getActiveProposals"
  ): TypedContractMethod<[], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "getDepositVotingPower"
  ): TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "getGalaxyMemberContract"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getGrantsManagerContract"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getProposalBudget"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "getProposalContributors"
  ): TypedContractMethod<[proposalId: BigNumberish], [string[]], "view">;
  getFunction(
    nameOrSignature: "getProposalDeposits"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "getProposalDescription"
  ): TypedContractMethod<[proposalId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "getProposalImplementationDiscussion"
  ): TypedContractMethod<[proposalId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "getProposalPayee"
  ): TypedContractMethod<[proposalId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "getQuadraticVotingPower"
  ): TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "getRequiredGMLevelByProposalType"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "getRoleAdmin"
  ): TypedContractMethod<[role: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "getTimelockId"
  ): TypedContractMethod<[proposalId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "getUserDeposit"
  ): TypedContractMethod<
    [proposalId: BigNumberish, user: AddressLike],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "getVotes"
  ): TypedContractMethod<
    [account: AddressLike, timepoint: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "governanceSkipWindowBlocks"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "grantRole"
  ): TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "hasRole"
  ): TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "hasVoted"
  ): TypedContractMethod<
    [proposalId: BigNumberish, account: AddressLike],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "hasVotedOnce"
  ): TypedContractMethod<[user: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "hashProposal"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "initializeV10"
  ): TypedContractMethod<
    [
      _navigatorRegistry: AddressLike,
      _relayerRewardsPool: AddressLike,
      _governanceSkipWindowBlocks: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "initializeV11"
  ): TypedContractMethod<
    [_treasury: AddressLike, _maxContributorsPerProposal: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "isFunctionWhitelisted"
  ): TypedContractMethod<
    [target: AddressLike, functionSelector: BytesLike],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "isProposalPaid"
  ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "isQuadraticVotingDisabledForCurrentRound"
  ): TypedContractMethod<[], [boolean], "view">;
  getFunction(
    nameOrSignature: "isQuadraticVotingDisabledForRound"
  ): TypedContractMethod<[roundId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "markAsCompleted"
  ): TypedContractMethod<[proposalId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "markAsInDevelopment"
  ): TypedContractMethod<
    [
      proposalId: BigNumberish,
      payee: AddressLike,
      description: string,
      implementationDiscussion: string,
      contributors: string[]
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "minVotingDelay"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "name"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "navigatorRegistry"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "onERC1155BatchReceived"
  ): TypedContractMethod<
    [
      arg0: AddressLike,
      arg1: AddressLike,
      arg2: BigNumberish[],
      arg3: BigNumberish[],
      arg4: BytesLike
    ],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "onERC1155Received"
  ): TypedContractMethod<
    [
      arg0: AddressLike,
      arg1: AddressLike,
      arg2: BigNumberish,
      arg3: BigNumberish,
      arg4: BytesLike
    ],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "onERC721Received"
  ): TypedContractMethod<
    [arg0: AddressLike, arg1: AddressLike, arg2: BigNumberish, arg3: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "pause"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "paused"
  ): TypedContractMethod<[], [boolean], "view">;
  getFunction(
    nameOrSignature: "proposalDeadline"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalDepositReached"
  ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "proposalDepositThreshold"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalEta"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalNeedsQueuing"
  ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "proposalProposer"
  ): TypedContractMethod<[proposalId: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "proposalSnapshot"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalStartRound"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalTotalVotes"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalType"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "proposalVotes"
  ): TypedContractMethod<
    [proposalId: BigNumberish],
    [
      [bigint, bigint, bigint] & {
        againstVotes: bigint;
        forVotes: bigint;
        abstainVotes: bigint;
      }
    ],
    "view"
  >;
  getFunction(
    nameOrSignature: "propose"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      description: string,
      startRoundId: BigNumberish,
      depositAmount: BigNumberish,
      maxBudget: BigNumberish
    ],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "proposeGrant"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      description: string,
      startRoundId: BigNumberish,
      depositAmount: BigNumberish,
      grantsReceiver: AddressLike,
      milestonesDetailsMetadataURI: string
    ],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "proxiableUUID"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "queue"
  ): TypedContractMethod<
    [
      targets: AddressLike[],
      values: BigNumberish[],
      calldatas: BytesLike[],
      descriptionHash: BytesLike
    ],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "quorum"
  ): TypedContractMethod<[blockNumber: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "quorumByProposalType"
  ): TypedContractMethod<
    [blockNumber: BigNumberish, proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "quorumDenominator"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "quorumNumerator(uint256)"
  ): TypedContractMethod<[timepoint: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "quorumNumerator()"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "quorumNumeratorByProposalType(uint8)"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "quorumNumeratorByProposalType(uint256,uint8)"
  ): TypedContractMethod<
    [timepoint: BigNumberish, proposalTypeValue: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "quorumReached"
  ): TypedContractMethod<[proposalId: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "relay"
  ): TypedContractMethod<
    [target: AddressLike, value: BigNumberish, data: BytesLike],
    [void],
    "payable"
  >;
  getFunction(
    nameOrSignature: "relayerRewardsPool"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "renounceRole"
  ): TypedContractMethod<
    [role: BytesLike, callerConfirmation: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "resetDevelopmentState"
  ): TypedContractMethod<[proposalId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "revokeRole"
  ): TypedContractMethod<
    [role: BytesLike, account: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setGalaxyMember"
  ): TypedContractMethod<[newGalaxyMember: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setGovernanceSkipWindowBlocks"
  ): TypedContractMethod<[newValue: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setGrantsManager"
  ): TypedContractMethod<[newGrantsManager: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setIsFunctionRestrictionEnabled"
  ): TypedContractMethod<[isEnabled: boolean], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setMinVotingDelay"
  ): TypedContractMethod<
    [newMinVotingDelay: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setNavigatorRegistry"
  ): TypedContractMethod<
    [newNavigatorRegistry: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setProposalTypeDepositThresholdCap"
  ): TypedContractMethod<
    [newDepositThresholdCap: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setProposalTypeDepositThresholdPercentage"
  ): TypedContractMethod<
    [newDepositThreshold: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setProposalTypeVotingThreshold"
  ): TypedContractMethod<
    [newVotingThreshold: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setRelayerRewardsPool"
  ): TypedContractMethod<
    [newRelayerRewardsPool: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setRequiredGMLevelByProposalType"
  ): TypedContractMethod<
    [proposalTypeValue: BigNumberish, newGMWeight: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setVeBetterPassport"
  ): TypedContractMethod<
    [newVeBetterPassport: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setVoterRewards"
  ): TypedContractMethod<[newVoterRewards: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setWhitelistFunction"
  ): TypedContractMethod<
    [target: AddressLike, functionSelector: BytesLike, isWhitelisted: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setWhitelistFunctions"
  ): TypedContractMethod<
    [
      target: AddressLike,
      functionSelectors: BytesLike[],
      isWhitelisted: boolean
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setXAllocationVoting"
  ): TypedContractMethod<
    [newXAllocationVoting: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "state"
  ): TypedContractMethod<[proposalId: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "supportsInterface"
  ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "timelock"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "timelockSalt"
  ): TypedContractMethod<[descriptionHash: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "toggleQuadraticVoting"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "token"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "unpause"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "updateCommunityExecution"
  ): TypedContractMethod<
    [
      proposalId: BigNumberish,
      payee: AddressLike,
      description: string,
      implementationDiscussion: string,
      contributors: string[]
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "updateQuorumNumerator"
  ): TypedContractMethod<
    [newQuorumNumerator: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "updateQuorumNumeratorByType"
  ): TypedContractMethod<
    [newQuorumNumerator: BigNumberish, proposalTypeValue: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "updateTimelock"
  ): TypedContractMethod<[newTimelock: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "upgradeToAndCall"
  ): TypedContractMethod<
    [newImplementation: AddressLike, data: BytesLike],
    [void],
    "payable"
  >;
  getFunction(
    nameOrSignature: "veBetterPassport"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "version"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "voterRewards"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "votingPeriod"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "votingThresholdByProposalType"
  ): TypedContractMethod<[proposalTypeValue: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "withdraw"
  ): TypedContractMethod<
    [proposalId: BigNumberish, depositor: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "xAllocationVoting"
  ): TypedContractMethod<[], [string], "view">;

  getEvent(
    key: "DepositThresholdCapSet"
  ): TypedContractEvent<
    DepositThresholdCapSetEvent.InputTuple,
    DepositThresholdCapSetEvent.OutputTuple,
    DepositThresholdCapSetEvent.OutputObject
  >;
  getEvent(
    key: "DepositThresholdSetV2"
  ): TypedContractEvent<
    DepositThresholdSetV2Event.InputTuple,
    DepositThresholdSetV2Event.OutputTuple,
    DepositThresholdSetV2Event.OutputObject
  >;
  getEvent(
    key: "FunctionWhitelisted"
  ): TypedContractEvent<
    FunctionWhitelistedEvent.InputTuple,
    FunctionWhitelistedEvent.OutputTuple,
    FunctionWhitelistedEvent.OutputObject
  >;
  getEvent(
    key: "Initialized"
  ): TypedContractEvent<
    InitializedEvent.InputTuple,
    InitializedEvent.OutputTuple,
    InitializedEvent.OutputObject
  >;
  getEvent(
    key: "NavigatorGovernanceVoteSkipped"
  ): TypedContractEvent<
    NavigatorGovernanceVoteSkippedEvent.InputTuple,
    NavigatorGovernanceVoteSkippedEvent.OutputTuple,
    NavigatorGovernanceVoteSkippedEvent.OutputObject
  >;
  getEvent(
    key: "Paused"
  ): TypedContractEvent<
    PausedEvent.InputTuple,
    PausedEvent.OutputTuple,
    PausedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalBudgetSet"
  ): TypedContractEvent<
    ProposalBudgetSetEvent.InputTuple,
    ProposalBudgetSetEvent.OutputTuple,
    ProposalBudgetSetEvent.OutputObject
  >;
  getEvent(
    key: "ProposalCanceled"
  ): TypedContractEvent<
    ProposalCanceledEvent.InputTuple,
    ProposalCanceledEvent.OutputTuple,
    ProposalCanceledEvent.OutputObject
  >;
  getEvent(
    key: "ProposalCanceledWithReason"
  ): TypedContractEvent<
    ProposalCanceledWithReasonEvent.InputTuple,
    ProposalCanceledWithReasonEvent.OutputTuple,
    ProposalCanceledWithReasonEvent.OutputObject
  >;
  getEvent(
    key: "ProposalCompleted"
  ): TypedContractEvent<
    ProposalCompletedEvent.InputTuple,
    ProposalCompletedEvent.OutputTuple,
    ProposalCompletedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalContributorsSet"
  ): TypedContractEvent<
    ProposalContributorsSetEvent.InputTuple,
    ProposalContributorsSetEvent.OutputTuple,
    ProposalContributorsSetEvent.OutputObject
  >;
  getEvent(
    key: "ProposalCreated"
  ): TypedContractEvent<
    ProposalCreatedEvent.InputTuple,
    ProposalCreatedEvent.OutputTuple,
    ProposalCreatedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalCreatedWithType"
  ): TypedContractEvent<
    ProposalCreatedWithTypeEvent.InputTuple,
    ProposalCreatedWithTypeEvent.OutputTuple,
    ProposalCreatedWithTypeEvent.OutputObject
  >;
  getEvent(
    key: "ProposalDeposit"
  ): TypedContractEvent<
    ProposalDepositEvent.InputTuple,
    ProposalDepositEvent.OutputTuple,
    ProposalDepositEvent.OutputObject
  >;
  getEvent(
    key: "ProposalDevelopmentStateReset"
  ): TypedContractEvent<
    ProposalDevelopmentStateResetEvent.InputTuple,
    ProposalDevelopmentStateResetEvent.OutputTuple,
    ProposalDevelopmentStateResetEvent.OutputObject
  >;
  getEvent(
    key: "ProposalExecuted"
  ): TypedContractEvent<
    ProposalExecutedEvent.InputTuple,
    ProposalExecutedEvent.OutputTuple,
    ProposalExecutedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalInDevelopment"
  ): TypedContractEvent<
    ProposalInDevelopmentEvent.InputTuple,
    ProposalInDevelopmentEvent.OutputTuple,
    ProposalInDevelopmentEvent.OutputObject
  >;
  getEvent(
    key: "ProposalInDevelopmentDetails"
  ): TypedContractEvent<
    ProposalInDevelopmentDetailsEvent.InputTuple,
    ProposalInDevelopmentDetailsEvent.OutputTuple,
    ProposalInDevelopmentDetailsEvent.OutputObject
  >;
  getEvent(
    key: "ProposalPayoutClaimed"
  ): TypedContractEvent<
    ProposalPayoutClaimedEvent.InputTuple,
    ProposalPayoutClaimedEvent.OutputTuple,
    ProposalPayoutClaimedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalQueued"
  ): TypedContractEvent<
    ProposalQueuedEvent.InputTuple,
    ProposalQueuedEvent.OutputTuple,
    ProposalQueuedEvent.OutputObject
  >;
  getEvent(
    key: "ProposalWithdraw"
  ): TypedContractEvent<
    ProposalWithdrawEvent.InputTuple,
    ProposalWithdrawEvent.OutputTuple,
    ProposalWithdrawEvent.OutputObject
  >;
  getEvent(
    key: "QuadraticVotingToggled"
  ): TypedContractEvent<
    QuadraticVotingToggledEvent.InputTuple,
    QuadraticVotingToggledEvent.OutputTuple,
    QuadraticVotingToggledEvent.OutputObject
  >;
  getEvent(
    key: "QuorumNumeratorUpdated"
  ): TypedContractEvent<
    QuorumNumeratorUpdatedEvent.InputTuple,
    QuorumNumeratorUpdatedEvent.OutputTuple,
    QuorumNumeratorUpdatedEvent.OutputObject
  >;
  getEvent(
    key: "QuorumNumeratorUpdatedByType"
  ): TypedContractEvent<
    QuorumNumeratorUpdatedByTypeEvent.InputTuple,
    QuorumNumeratorUpdatedByTypeEvent.OutputTuple,
    QuorumNumeratorUpdatedByTypeEvent.OutputObject
  >;
  getEvent(
    key: "RequiredGMLevelSet"
  ): TypedContractEvent<
    RequiredGMLevelSetEvent.InputTuple,
    RequiredGMLevelSetEvent.OutputTuple,
    RequiredGMLevelSetEvent.OutputObject
  >;
  getEvent(
    key: "RoleAdminChanged"
  ): TypedContractEvent<
    RoleAdminChangedEvent.InputTuple,
    RoleAdminChangedEvent.OutputTuple,
    RoleAdminChangedEvent.OutputObject
  >;
  getEvent(
    key: "RoleGranted"
  ): TypedContractEvent<
    RoleGrantedEvent.InputTuple,
    RoleGrantedEvent.OutputTuple,
    RoleGrantedEvent.OutputObject
  >;
  getEvent(
    key: "RoleRevoked"
  ): TypedContractEvent<
    RoleRevokedEvent.InputTuple,
    RoleRevokedEvent.OutputTuple,
    RoleRevokedEvent.OutputObject
  >;
  getEvent(
    key: "TimelockChange"
  ): TypedContractEvent<
    TimelockChangeEvent.InputTuple,
    TimelockChangeEvent.OutputTuple,
    TimelockChangeEvent.OutputObject
  >;
  getEvent(
    key: "Unpaused"
  ): TypedContractEvent<
    UnpausedEvent.InputTuple,
    UnpausedEvent.OutputTuple,
    UnpausedEvent.OutputObject
  >;
  getEvent(
    key: "Upgraded"
  ): TypedContractEvent<
    UpgradedEvent.InputTuple,
    UpgradedEvent.OutputTuple,
    UpgradedEvent.OutputObject
  >;
  getEvent(
    key: "VeBetterPassportSet"
  ): TypedContractEvent<
    VeBetterPassportSetEvent.InputTuple,
    VeBetterPassportSetEvent.OutputTuple,
    VeBetterPassportSetEvent.OutputObject
  >;
  getEvent(
    key: "VoteCast"
  ): TypedContractEvent<
    VoteCastEvent.InputTuple,
    VoteCastEvent.OutputTuple,
    VoteCastEvent.OutputObject
  >;
  getEvent(
    key: "VotingPowerSeeded"
  ): TypedContractEvent<
    VotingPowerSeededEvent.InputTuple,
    VotingPowerSeededEvent.OutputTuple,
    VotingPowerSeededEvent.OutputObject
  >;
  getEvent(
    key: "VotingThresholdSetV2"
  ): TypedContractEvent<
    VotingThresholdSetV2Event.InputTuple,
    VotingThresholdSetV2Event.OutputTuple,
    VotingThresholdSetV2Event.OutputObject
  >;

  filters: {
    "DepositThresholdCapSet(uint8,uint256,uint256)": TypedContractEvent<
      DepositThresholdCapSetEvent.InputTuple,
      DepositThresholdCapSetEvent.OutputTuple,
      DepositThresholdCapSetEvent.OutputObject
    >;
    DepositThresholdCapSet: TypedContractEvent<
      DepositThresholdCapSetEvent.InputTuple,
      DepositThresholdCapSetEvent.OutputTuple,
      DepositThresholdCapSetEvent.OutputObject
    >;

    "DepositThresholdSetV2(uint8,uint256,uint256)": TypedContractEvent<
      DepositThresholdSetV2Event.InputTuple,
      DepositThresholdSetV2Event.OutputTuple,
      DepositThresholdSetV2Event.OutputObject
    >;
    DepositThresholdSetV2: TypedContractEvent<
      DepositThresholdSetV2Event.InputTuple,
      DepositThresholdSetV2Event.OutputTuple,
      DepositThresholdSetV2Event.OutputObject
    >;

    "FunctionWhitelisted(address,bytes4,bool)": TypedContractEvent<
      FunctionWhitelistedEvent.InputTuple,
      FunctionWhitelistedEvent.OutputTuple,
      FunctionWhitelistedEvent.OutputObject
    >;
    FunctionWhitelisted: TypedContractEvent<
      FunctionWhitelistedEvent.InputTuple,
      FunctionWhitelistedEvent.OutputTuple,
      FunctionWhitelistedEvent.OutputObject
    >;

    "Initialized(uint64)": TypedContractEvent<
      InitializedEvent.InputTuple,
      InitializedEvent.OutputTuple,
      InitializedEvent.OutputObject
    >;
    Initialized: TypedContractEvent<
      InitializedEvent.InputTuple,
      InitializedEvent.OutputTuple,
      InitializedEvent.OutputObject
    >;

    "NavigatorGovernanceVoteSkipped(address,address,uint256)": TypedContractEvent<
      NavigatorGovernanceVoteSkippedEvent.InputTuple,
      NavigatorGovernanceVoteSkippedEvent.OutputTuple,
      NavigatorGovernanceVoteSkippedEvent.OutputObject
    >;
    NavigatorGovernanceVoteSkipped: TypedContractEvent<
      NavigatorGovernanceVoteSkippedEvent.InputTuple,
      NavigatorGovernanceVoteSkippedEvent.OutputTuple,
      NavigatorGovernanceVoteSkippedEvent.OutputObject
    >;

    "Paused(address)": TypedContractEvent<
      PausedEvent.InputTuple,
      PausedEvent.OutputTuple,
      PausedEvent.OutputObject
    >;
    Paused: TypedContractEvent<
      PausedEvent.InputTuple,
      PausedEvent.OutputTuple,
      PausedEvent.OutputObject
    >;

    "ProposalBudgetSet(uint256,uint256)": TypedContractEvent<
      ProposalBudgetSetEvent.InputTuple,
      ProposalBudgetSetEvent.OutputTuple,
      ProposalBudgetSetEvent.OutputObject
    >;
    ProposalBudgetSet: TypedContractEvent<
      ProposalBudgetSetEvent.InputTuple,
      ProposalBudgetSetEvent.OutputTuple,
      ProposalBudgetSetEvent.OutputObject
    >;

    "ProposalCanceled(uint256)": TypedContractEvent<
      ProposalCanceledEvent.InputTuple,
      ProposalCanceledEvent.OutputTuple,
      ProposalCanceledEvent.OutputObject
    >;
    ProposalCanceled: TypedContractEvent<
      ProposalCanceledEvent.InputTuple,
      ProposalCanceledEvent.OutputTuple,
      ProposalCanceledEvent.OutputObject
    >;

    "ProposalCanceledWithReason(uint256,address,string)": TypedContractEvent<
      ProposalCanceledWithReasonEvent.InputTuple,
      ProposalCanceledWithReasonEvent.OutputTuple,
      ProposalCanceledWithReasonEvent.OutputObject
    >;
    ProposalCanceledWithReason: TypedContractEvent<
      ProposalCanceledWithReasonEvent.InputTuple,
      ProposalCanceledWithReasonEvent.OutputTuple,
      ProposalCanceledWithReasonEvent.OutputObject
    >;

    "ProposalCompleted(uint256)": TypedContractEvent<
      ProposalCompletedEvent.InputTuple,
      ProposalCompletedEvent.OutputTuple,
      ProposalCompletedEvent.OutputObject
    >;
    ProposalCompleted: TypedContractEvent<
      ProposalCompletedEvent.InputTuple,
      ProposalCompletedEvent.OutputTuple,
      ProposalCompletedEvent.OutputObject
    >;

    "ProposalContributorsSet(uint256,string[])": TypedContractEvent<
      ProposalContributorsSetEvent.InputTuple,
      ProposalContributorsSetEvent.OutputTuple,
      ProposalContributorsSetEvent.OutputObject
    >;
    ProposalContributorsSet: TypedContractEvent<
      ProposalContributorsSetEvent.InputTuple,
      ProposalContributorsSetEvent.OutputTuple,
      ProposalContributorsSetEvent.OutputObject
    >;

    "ProposalCreated(uint256,address,address[],uint256[],string[],bytes[],string,uint256,uint256)": TypedContractEvent<
      ProposalCreatedEvent.InputTuple,
      ProposalCreatedEvent.OutputTuple,
      ProposalCreatedEvent.OutputObject
    >;
    ProposalCreated: TypedContractEvent<
      ProposalCreatedEvent.InputTuple,
      ProposalCreatedEvent.OutputTuple,
      ProposalCreatedEvent.OutputObject
    >;

    "ProposalCreatedWithType(uint256,uint8)": TypedContractEvent<
      ProposalCreatedWithTypeEvent.InputTuple,
      ProposalCreatedWithTypeEvent.OutputTuple,
      ProposalCreatedWithTypeEvent.OutputObject
    >;
    ProposalCreatedWithType: TypedContractEvent<
      ProposalCreatedWithTypeEvent.InputTuple,
      ProposalCreatedWithTypeEvent.OutputTuple,
      ProposalCreatedWithTypeEvent.OutputObject
    >;

    "ProposalDeposit(address,uint256,uint256)": TypedContractEvent<
      ProposalDepositEvent.InputTuple,
      ProposalDepositEvent.OutputTuple,
      ProposalDepositEvent.OutputObject
    >;
    ProposalDeposit: TypedContractEvent<
      ProposalDepositEvent.InputTuple,
      ProposalDepositEvent.OutputTuple,
      ProposalDepositEvent.OutputObject
    >;

    "ProposalDevelopmentStateReset(uint256)": TypedContractEvent<
      ProposalDevelopmentStateResetEvent.InputTuple,
      ProposalDevelopmentStateResetEvent.OutputTuple,
      ProposalDevelopmentStateResetEvent.OutputObject
    >;
    ProposalDevelopmentStateReset: TypedContractEvent<
      ProposalDevelopmentStateResetEvent.InputTuple,
      ProposalDevelopmentStateResetEvent.OutputTuple,
      ProposalDevelopmentStateResetEvent.OutputObject
    >;

    "ProposalExecuted(uint256)": TypedContractEvent<
      ProposalExecutedEvent.InputTuple,
      ProposalExecutedEvent.OutputTuple,
      ProposalExecutedEvent.OutputObject
    >;
    ProposalExecuted: TypedContractEvent<
      ProposalExecutedEvent.InputTuple,
      ProposalExecutedEvent.OutputTuple,
      ProposalExecutedEvent.OutputObject
    >;

    "ProposalInDevelopment(uint256)": TypedContractEvent<
      ProposalInDevelopmentEvent.InputTuple,
      ProposalInDevelopmentEvent.OutputTuple,
      ProposalInDevelopmentEvent.OutputObject
    >;
    ProposalInDevelopment: TypedContractEvent<
      ProposalInDevelopmentEvent.InputTuple,
      ProposalInDevelopmentEvent.OutputTuple,
      ProposalInDevelopmentEvent.OutputObject
    >;

    "ProposalInDevelopmentDetails(uint256,address,string,string)": TypedContractEvent<
      ProposalInDevelopmentDetailsEvent.InputTuple,
      ProposalInDevelopmentDetailsEvent.OutputTuple,
      ProposalInDevelopmentDetailsEvent.OutputObject
    >;
    ProposalInDevelopmentDetails: TypedContractEvent<
      ProposalInDevelopmentDetailsEvent.InputTuple,
      ProposalInDevelopmentDetailsEvent.OutputTuple,
      ProposalInDevelopmentDetailsEvent.OutputObject
    >;

    "ProposalPayoutClaimed(uint256,address,uint256)": TypedContractEvent<
      ProposalPayoutClaimedEvent.InputTuple,
      ProposalPayoutClaimedEvent.OutputTuple,
      ProposalPayoutClaimedEvent.OutputObject
    >;
    ProposalPayoutClaimed: TypedContractEvent<
      ProposalPayoutClaimedEvent.InputTuple,
      ProposalPayoutClaimedEvent.OutputTuple,
      ProposalPayoutClaimedEvent.OutputObject
    >;

    "ProposalQueued(uint256,uint256)": TypedContractEvent<
      ProposalQueuedEvent.InputTuple,
      ProposalQueuedEvent.OutputTuple,
      ProposalQueuedEvent.OutputObject
    >;
    ProposalQueued: TypedContractEvent<
      ProposalQueuedEvent.InputTuple,
      ProposalQueuedEvent.OutputTuple,
      ProposalQueuedEvent.OutputObject
    >;

    "ProposalWithdraw(address,uint256,uint256)": TypedContractEvent<
      ProposalWithdrawEvent.InputTuple,
      ProposalWithdrawEvent.OutputTuple,
      ProposalWithdrawEvent.OutputObject
    >;
    ProposalWithdraw: TypedContractEvent<
      ProposalWithdrawEvent.InputTuple,
      ProposalWithdrawEvent.OutputTuple,
      ProposalWithdrawEvent.OutputObject
    >;

    "QuadraticVotingToggled(bool)": TypedContractEvent<
      QuadraticVotingToggledEvent.InputTuple,
      QuadraticVotingToggledEvent.OutputTuple,
      QuadraticVotingToggledEvent.OutputObject
    >;
    QuadraticVotingToggled: TypedContractEvent<
      QuadraticVotingToggledEvent.InputTuple,
      QuadraticVotingToggledEvent.OutputTuple,
      QuadraticVotingToggledEvent.OutputObject
    >;

    "QuorumNumeratorUpdated(uint256,uint256)": TypedContractEvent<
      QuorumNumeratorUpdatedEvent.InputTuple,
      QuorumNumeratorUpdatedEvent.OutputTuple,
      QuorumNumeratorUpdatedEvent.OutputObject
    >;
    QuorumNumeratorUpdated: TypedContractEvent<
      QuorumNumeratorUpdatedEvent.InputTuple,
      QuorumNumeratorUpdatedEvent.OutputTuple,
      QuorumNumeratorUpdatedEvent.OutputObject
    >;

    "QuorumNumeratorUpdatedByType(uint256,uint256,uint8)": TypedContractEvent<
      QuorumNumeratorUpdatedByTypeEvent.InputTuple,
      QuorumNumeratorUpdatedByTypeEvent.OutputTuple,
      QuorumNumeratorUpdatedByTypeEvent.OutputObject
    >;
    QuorumNumeratorUpdatedByType: TypedContractEvent<
      QuorumNumeratorUpdatedByTypeEvent.InputTuple,
      QuorumNumeratorUpdatedByTypeEvent.OutputTuple,
      QuorumNumeratorUpdatedByTypeEvent.OutputObject
    >;

    "RequiredGMLevelSet(uint8,uint256,uint256)": TypedContractEvent<
      RequiredGMLevelSetEvent.InputTuple,
      RequiredGMLevelSetEvent.OutputTuple,
      RequiredGMLevelSetEvent.OutputObject
    >;
    RequiredGMLevelSet: TypedContractEvent<
      RequiredGMLevelSetEvent.InputTuple,
      RequiredGMLevelSetEvent.OutputTuple,
      RequiredGMLevelSetEvent.OutputObject
    >;

    "RoleAdminChanged(bytes32,bytes32,bytes32)": TypedContractEvent<
      RoleAdminChangedEvent.InputTuple,
      RoleAdminChangedEvent.OutputTuple,
      RoleAdminChangedEvent.OutputObject
    >;
    RoleAdminChanged: TypedContractEvent<
      RoleAdminChangedEvent.InputTuple,
      RoleAdminChangedEvent.OutputTuple,
      RoleAdminChangedEvent.OutputObject
    >;

    "RoleGranted(bytes32,address,address)": TypedContractEvent<
      RoleGrantedEvent.InputTuple,
      RoleGrantedEvent.OutputTuple,
      RoleGrantedEvent.OutputObject
    >;
    RoleGranted: TypedContractEvent<
      RoleGrantedEvent.InputTuple,
      RoleGrantedEvent.OutputTuple,
      RoleGrantedEvent.OutputObject
    >;

    "RoleRevoked(bytes32,address,address)": TypedContractEvent<
      RoleRevokedEvent.InputTuple,
      RoleRevokedEvent.OutputTuple,
      RoleRevokedEvent.OutputObject
    >;
    RoleRevoked: TypedContractEvent<
      RoleRevokedEvent.InputTuple,
      RoleRevokedEvent.OutputTuple,
      RoleRevokedEvent.OutputObject
    >;

    "TimelockChange(address,address)": TypedContractEvent<
      TimelockChangeEvent.InputTuple,
      TimelockChangeEvent.OutputTuple,
      TimelockChangeEvent.OutputObject
    >;
    TimelockChange: TypedContractEvent<
      TimelockChangeEvent.InputTuple,
      TimelockChangeEvent.OutputTuple,
      TimelockChangeEvent.OutputObject
    >;

    "Unpaused(address)": TypedContractEvent<
      UnpausedEvent.InputTuple,
      UnpausedEvent.OutputTuple,
      UnpausedEvent.OutputObject
    >;
    Unpaused: TypedContractEvent<
      UnpausedEvent.InputTuple,
      UnpausedEvent.OutputTuple,
      UnpausedEvent.OutputObject
    >;

    "Upgraded(address)": TypedContractEvent<
      UpgradedEvent.InputTuple,
      UpgradedEvent.OutputTuple,
      UpgradedEvent.OutputObject
    >;
    Upgraded: TypedContractEvent<
      UpgradedEvent.InputTuple,
      UpgradedEvent.OutputTuple,
      UpgradedEvent.OutputObject
    >;

    "VeBetterPassportSet(address,address)": TypedContractEvent<
      VeBetterPassportSetEvent.InputTuple,
      VeBetterPassportSetEvent.OutputTuple,
      VeBetterPassportSetEvent.OutputObject
    >;
    VeBetterPassportSet: TypedContractEvent<
      VeBetterPassportSetEvent.InputTuple,
      VeBetterPassportSetEvent.OutputTuple,
      VeBetterPassportSetEvent.OutputObject
    >;

    "VoteCast(address,uint256,uint8,uint256,uint256,string)": TypedContractEvent<
      VoteCastEvent.InputTuple,
      VoteCastEvent.OutputTuple,
      VoteCastEvent.OutputObject
    >;
    VoteCast: TypedContractEvent<
      VoteCastEvent.InputTuple,
      VoteCastEvent.OutputTuple,
      VoteCastEvent.OutputObject
    >;

    "VotingPowerSeeded(address,uint256)": TypedContractEvent<
      VotingPowerSeededEvent.InputTuple,
      VotingPowerSeededEvent.OutputTuple,
      VotingPowerSeededEvent.OutputObject
    >;
    VotingPowerSeeded: TypedContractEvent<
      VotingPowerSeededEvent.InputTuple,
      VotingPowerSeededEvent.OutputTuple,
      VotingPowerSeededEvent.OutputObject
    >;

    "VotingThresholdSetV2(uint8,uint256,uint256)": TypedContractEvent<
      VotingThresholdSetV2Event.InputTuple,
      VotingThresholdSetV2Event.OutputTuple,
      VotingThresholdSetV2Event.OutputObject
    >;
    VotingThresholdSetV2: TypedContractEvent<
      VotingThresholdSetV2Event.InputTuple,
      VotingThresholdSetV2Event.OutputTuple,
      VotingThresholdSetV2Event.OutputObject
    >;
  };
}
