| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | // SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.5.0) (governance/utils/IVotes.sol)pragma solidity ^0.8.0;/** * @dev Common interface for {ERC20Votes}, {ERC721Votes}, and other {Votes}-enabled contracts. * * _Available since v4.5._ */interface IVotes {    /**     * @dev Emitted when an account changes their delegate.     */    event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);    /**     * @dev Emitted when a token transfer or delegate change results in changes to a delegate's number of votes.     */    event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance);    /**     * @dev Returns the current amount of votes that `account` has.     */    function getVotes(address account) external view returns (uint256);    /**     * @dev Returns the amount of votes that `account` had at the end of a past block (`blockNumber`).     */    function getPastVotes(address account, uint256 blockNumber) external view returns (uint256);    /**     * @dev Returns the total supply of votes available at the end of a past block (`blockNumber`).     *     * NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes.     * Votes that have not been delegated are still part of total supply, even though they would not participate in a     * vote.     */    function getPastTotalSupply(uint256 blockNumber) external view returns (uint256);    /**     * @dev Returns the delegate that `account` has chosen.     */    function delegates(address account) external view returns (address);    /**     * @dev Delegates votes from the sender to `delegatee`.     */    function delegate(address delegatee) external;    /**     * @dev Delegates votes from signer to `delegatee`.     */    function delegateBySig(        address delegatee,        uint256 nonce,        uint256 expiry,        uint8 v,        bytes32 r,        bytes32 s    ) external;}
 |