import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../common"; export interface ERC721CheckpointableInterface extends utils.Interface { functions: { "DELEGATION_TYPEHASH()": FunctionFragment; "DOMAIN_TYPEHASH()": FunctionFragment; "approve(address,uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; "checkpoints(address,uint32)": FunctionFragment; "decimals()": FunctionFragment; "delegate(address)": FunctionFragment; "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": FunctionFragment; "delegates(address)": FunctionFragment; "getApproved(uint256)": FunctionFragment; "getCurrentVotes(address)": FunctionFragment; "getPriorVotes(address,uint256)": FunctionFragment; "isApprovedForAll(address,address)": FunctionFragment; "name()": FunctionFragment; "nonces(address)": FunctionFragment; "numCheckpoints(address)": FunctionFragment; "ownerOf(uint256)": FunctionFragment; "safeTransferFrom(address,address,uint256)": FunctionFragment; "safeTransferFrom(address,address,uint256,bytes)": FunctionFragment; "setApprovalForAll(address,bool)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "symbol()": FunctionFragment; "tokenByIndex(uint256)": FunctionFragment; "tokenOfOwnerByIndex(address,uint256)": FunctionFragment; "tokenURI(uint256)": FunctionFragment; "totalSupply()": FunctionFragment; "transferFrom(address,address,uint256)": FunctionFragment; "votesToDelegate(address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "DELEGATION_TYPEHASH" | "DOMAIN_TYPEHASH" | "approve" | "balanceOf" | "checkpoints" | "decimals" | "delegate" | "delegateBySig" | "delegates" | "getApproved" | "getCurrentVotes" | "getPriorVotes" | "isApprovedForAll" | "name" | "nonces" | "numCheckpoints" | "ownerOf" | "safeTransferFrom(address,address,uint256)" | "safeTransferFrom(address,address,uint256,bytes)" | "setApprovalForAll" | "supportsInterface" | "symbol" | "tokenByIndex" | "tokenOfOwnerByIndex" | "tokenURI" | "totalSupply" | "transferFrom" | "votesToDelegate"): FunctionFragment; encodeFunctionData(functionFragment: "DELEGATION_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "DOMAIN_TYPEHASH", values?: undefined): string; encodeFunctionData(functionFragment: "approve", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "balanceOf", values: [string]): string; encodeFunctionData(functionFragment: "checkpoints", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "delegate", values: [string]): string; encodeFunctionData(functionFragment: "delegateBySig", values: [ string, BigNumberish, BigNumberish, BigNumberish, BytesLike, BytesLike ]): string; encodeFunctionData(functionFragment: "delegates", values: [string]): string; encodeFunctionData(functionFragment: "getApproved", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getCurrentVotes", values: [string]): string; encodeFunctionData(functionFragment: "getPriorVotes", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "isApprovedForAll", values: [string, string]): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "nonces", values: [string]): string; encodeFunctionData(functionFragment: "numCheckpoints", values: [string]): string; encodeFunctionData(functionFragment: "ownerOf", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256)", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", values: [string, string, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "setApprovalForAll", values: [string, boolean]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "tokenByIndex", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "tokenOfOwnerByIndex", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "tokenURI", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transferFrom", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "votesToDelegate", values: [string]): string; decodeFunctionResult(functionFragment: "DELEGATION_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DOMAIN_TYPEHASH", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkpoints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateBySig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegates", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getApproved", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCurrentVotes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPriorVotes", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isApprovedForAll", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nonces", data: BytesLike): Result; decodeFunctionResult(functionFragment: "numCheckpoints", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "safeTransferFrom(address,address,uint256,bytes)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setApprovalForAll", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenByIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenOfOwnerByIndex", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tokenURI", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "votesToDelegate", data: BytesLike): Result; events: { "Approval(address,address,uint256)": EventFragment; "ApprovalForAll(address,address,bool)": EventFragment; "DelegateChanged(address,address,address)": EventFragment; "DelegateVotesChanged(address,uint256,uint256)": EventFragment; "Transfer(address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "ApprovalForAll"): EventFragment; getEvent(nameOrSignatureOrTopic: "DelegateChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "DelegateVotesChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "Transfer"): EventFragment; } export interface ApprovalEventObject { owner: string; approved: string; tokenId: BigNumber; } export declare type ApprovalEvent = TypedEvent<[ string, string, BigNumber ], ApprovalEventObject>; export declare type ApprovalEventFilter = TypedEventFilter; export interface ApprovalForAllEventObject { owner: string; operator: string; approved: boolean; } export declare type ApprovalForAllEvent = TypedEvent<[ string, string, boolean ], ApprovalForAllEventObject>; export declare type ApprovalForAllEventFilter = TypedEventFilter; export interface DelegateChangedEventObject { delegator: string; fromDelegate: string; toDelegate: string; } export declare type DelegateChangedEvent = TypedEvent<[ string, string, string ], DelegateChangedEventObject>; export declare type DelegateChangedEventFilter = TypedEventFilter; export interface DelegateVotesChangedEventObject { delegate: string; previousBalance: BigNumber; newBalance: BigNumber; } export declare type DelegateVotesChangedEvent = TypedEvent<[ string, BigNumber, BigNumber ], DelegateVotesChangedEventObject>; export declare type DelegateVotesChangedEventFilter = TypedEventFilter; export interface TransferEventObject { from: string; to: string; tokenId: BigNumber; } export declare type TransferEvent = TypedEvent<[ string, string, BigNumber ], TransferEventObject>; export declare type TransferEventFilter = TypedEventFilter; export interface ERC721Checkpointable extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ERC721CheckpointableInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { DELEGATION_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise<[string]>; approve(to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise<[BigNumber]>; checkpoints(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[number, BigNumber] & { fromBlock: number; votes: BigNumber; }>; decimals(overrides?: CallOverrides): Promise<[number]>; delegate(delegatee: string, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBySig(delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegates(delegator: string, overrides?: CallOverrides): Promise<[string]>; getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; getCurrentVotes(account: string, overrides?: CallOverrides): Promise<[BigNumber]>; getPriorVotes(account: string, blockNumber: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise<[boolean]>; name(overrides?: CallOverrides): Promise<[string]>; nonces(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>; numCheckpoints(arg0: string, overrides?: CallOverrides): Promise<[number]>; ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; "safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; "safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; setApprovalForAll(operator: string, approved: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; symbol(overrides?: CallOverrides): Promise<[string]>; tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise<[string]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; votesToDelegate(delegator: string, overrides?: CallOverrides): Promise<[BigNumber]>; }; DELEGATION_TYPEHASH(overrides?: CallOverrides): Promise; DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise; approve(to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; checkpoints(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[number, BigNumber] & { fromBlock: number; votes: BigNumber; }>; decimals(overrides?: CallOverrides): Promise; delegate(delegatee: string, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBySig(delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegates(delegator: string, overrides?: CallOverrides): Promise; getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; getCurrentVotes(account: string, overrides?: CallOverrides): Promise; getPriorVotes(account: string, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; numCheckpoints(arg0: string, overrides?: CallOverrides): Promise; ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; "safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; "safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; setApprovalForAll(operator: string, approved: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; votesToDelegate(delegator: string, overrides?: CallOverrides): Promise; callStatic: { DELEGATION_TYPEHASH(overrides?: CallOverrides): Promise; DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise; approve(to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; checkpoints(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[number, BigNumber] & { fromBlock: number; votes: BigNumber; }>; decimals(overrides?: CallOverrides): Promise; delegate(delegatee: string, overrides?: CallOverrides): Promise; delegateBySig(delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: CallOverrides): Promise; delegates(delegator: string, overrides?: CallOverrides): Promise; getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; getCurrentVotes(account: string, overrides?: CallOverrides): Promise; getPriorVotes(account: string, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; numCheckpoints(arg0: string, overrides?: CallOverrides): Promise; ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; "safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; "safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: BigNumberish, _data: BytesLike, overrides?: CallOverrides): Promise; setApprovalForAll(operator: string, approved: boolean, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: CallOverrides): Promise; votesToDelegate(delegator: string, overrides?: CallOverrides): Promise; }; filters: { "Approval(address,address,uint256)"(owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null): ApprovalEventFilter; Approval(owner?: string | null, approved?: string | null, tokenId?: BigNumberish | null): ApprovalEventFilter; "ApprovalForAll(address,address,bool)"(owner?: string | null, operator?: string | null, approved?: null): ApprovalForAllEventFilter; ApprovalForAll(owner?: string | null, operator?: string | null, approved?: null): ApprovalForAllEventFilter; "DelegateChanged(address,address,address)"(delegator?: string | null, fromDelegate?: string | null, toDelegate?: string | null): DelegateChangedEventFilter; DelegateChanged(delegator?: string | null, fromDelegate?: string | null, toDelegate?: string | null): DelegateChangedEventFilter; "DelegateVotesChanged(address,uint256,uint256)"(delegate?: string | null, previousBalance?: null, newBalance?: null): DelegateVotesChangedEventFilter; DelegateVotesChanged(delegate?: string | null, previousBalance?: null, newBalance?: null): DelegateVotesChangedEventFilter; "Transfer(address,address,uint256)"(from?: string | null, to?: string | null, tokenId?: BigNumberish | null): TransferEventFilter; Transfer(from?: string | null, to?: string | null, tokenId?: BigNumberish | null): TransferEventFilter; }; estimateGas: { DELEGATION_TYPEHASH(overrides?: CallOverrides): Promise; DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise; approve(to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; checkpoints(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; delegate(delegatee: string, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBySig(delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegates(delegator: string, overrides?: CallOverrides): Promise; getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; getCurrentVotes(account: string, overrides?: CallOverrides): Promise; getPriorVotes(account: string, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; numCheckpoints(arg0: string, overrides?: CallOverrides): Promise; ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; "safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; "safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; setApprovalForAll(operator: string, approved: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; votesToDelegate(delegator: string, overrides?: CallOverrides): Promise; }; populateTransaction: { DELEGATION_TYPEHASH(overrides?: CallOverrides): Promise; DOMAIN_TYPEHASH(overrides?: CallOverrides): Promise; approve(to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; balanceOf(owner: string, overrides?: CallOverrides): Promise; checkpoints(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise; decimals(overrides?: CallOverrides): Promise; delegate(delegatee: string, overrides?: Overrides & { from?: string | Promise; }): Promise; delegateBySig(delegatee: string, nonce: BigNumberish, expiry: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; delegates(delegator: string, overrides?: CallOverrides): Promise; getApproved(tokenId: BigNumberish, overrides?: CallOverrides): Promise; getCurrentVotes(account: string, overrides?: CallOverrides): Promise; getPriorVotes(account: string, blockNumber: BigNumberish, overrides?: CallOverrides): Promise; isApprovedForAll(owner: string, operator: string, overrides?: CallOverrides): Promise; name(overrides?: CallOverrides): Promise; nonces(arg0: string, overrides?: CallOverrides): Promise; numCheckpoints(arg0: string, overrides?: CallOverrides): Promise; ownerOf(tokenId: BigNumberish, overrides?: CallOverrides): Promise; "safeTransferFrom(address,address,uint256)"(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; "safeTransferFrom(address,address,uint256,bytes)"(from: string, to: string, tokenId: BigNumberish, _data: BytesLike, overrides?: Overrides & { from?: string | Promise; }): Promise; setApprovalForAll(operator: string, approved: boolean, overrides?: Overrides & { from?: string | Promise; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; symbol(overrides?: CallOverrides): Promise; tokenByIndex(index: BigNumberish, overrides?: CallOverrides): Promise; tokenOfOwnerByIndex(owner: string, index: BigNumberish, overrides?: CallOverrides): Promise; tokenURI(tokenId: BigNumberish, overrides?: CallOverrides): Promise; totalSupply(overrides?: CallOverrides): Promise; transferFrom(from: string, to: string, tokenId: BigNumberish, overrides?: Overrides & { from?: string | Promise; }): Promise; votesToDelegate(delegator: string, overrides?: CallOverrides): Promise; }; }