import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../../common"; export declare namespace ConvexStakingWrapper { type EarnedDataStruct = { token: AddressLike; amount: BigNumberish; }; type EarnedDataStructOutput = [token: string, amount: bigint] & { token: string; amount: bigint; }; } export interface ConvexStakingWrapperMorphoInterface extends Interface { getFunction(nameOrSignature: "addRewards" | "addTokenReward" | "allowance" | "approve" | "asset" | "balanceOf" | "collateralVault" | "convexBooster" | "convexPool" | "convexPoolId" | "convexToken" | "crv" | "curveToken" | "cvx" | "decimals" | "decreaseAllowance" | "deposit" | "depositFor" | "earmarkRewards" | "earned" | "getReward(address,address)" | "getReward(address)" | "increaseAllowance" | "initialize" | "invalidateReward" | "isInit" | "isShutdown" | "morpho" | "name" | "owner" | "registeredRewards" | "renounceOwnership" | "rewardHook" | "rewardLength" | "rewardRedirect" | "rewards" | "setApprovals" | "setHook" | "setMorphoId" | "setRewardRedirect" | "shutdown" | "stake" | "symbol" | "totalBalanceOf" | "totalSupply" | "transfer" | "transferFrom" | "transferOwnership" | "underlying" | "user_checkpoint" | "withdraw" | "withdrawAndUnwrap"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "Approval" | "Deposited" | "HookSet" | "OwnershipTransferred" | "RewardAdded" | "RewardInvalidated" | "RewardRedirected" | "Shutdown" | "Transfer" | "UserCheckpoint" | "Withdrawn"): EventFragment; encodeFunctionData(functionFragment: "addRewards", values?: undefined): string; encodeFunctionData(functionFragment: "addTokenReward", values: [AddressLike]): string; encodeFunctionData(functionFragment: "allowance", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "approve", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "balanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "collateralVault", values?: undefined): string; encodeFunctionData(functionFragment: "convexBooster", values?: undefined): string; encodeFunctionData(functionFragment: "convexPool", values?: undefined): string; encodeFunctionData(functionFragment: "convexPoolId", values?: undefined): string; encodeFunctionData(functionFragment: "convexToken", values?: undefined): string; encodeFunctionData(functionFragment: "crv", values?: undefined): string; encodeFunctionData(functionFragment: "curveToken", values?: undefined): string; encodeFunctionData(functionFragment: "cvx", values?: undefined): string; encodeFunctionData(functionFragment: "decimals", values?: undefined): string; encodeFunctionData(functionFragment: "decreaseAllowance", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "deposit", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "depositFor", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "earmarkRewards", values?: undefined): string; encodeFunctionData(functionFragment: "earned", values: [AddressLike]): string; encodeFunctionData(functionFragment: "getReward(address,address)", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "getReward(address)", values: [AddressLike]): string; encodeFunctionData(functionFragment: "increaseAllowance", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "invalidateReward", values: [AddressLike]): string; encodeFunctionData(functionFragment: "isInit", values?: undefined): string; encodeFunctionData(functionFragment: "isShutdown", values?: undefined): string; encodeFunctionData(functionFragment: "morpho", values?: undefined): string; encodeFunctionData(functionFragment: "name", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "registeredRewards", values: [AddressLike]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "rewardHook", values?: undefined): string; encodeFunctionData(functionFragment: "rewardLength", values?: undefined): string; encodeFunctionData(functionFragment: "rewardRedirect", values: [AddressLike]): string; encodeFunctionData(functionFragment: "rewards", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setApprovals", values?: undefined): string; encodeFunctionData(functionFragment: "setHook", values: [AddressLike]): string; encodeFunctionData(functionFragment: "setMorphoId", values: [BytesLike]): string; encodeFunctionData(functionFragment: "setRewardRedirect", values: [AddressLike]): string; encodeFunctionData(functionFragment: "shutdown", values?: undefined): string; encodeFunctionData(functionFragment: "stake", values: [BigNumberish, AddressLike]): string; encodeFunctionData(functionFragment: "symbol", values?: undefined): string; encodeFunctionData(functionFragment: "totalBalanceOf", values: [AddressLike]): string; encodeFunctionData(functionFragment: "totalSupply", values?: undefined): string; encodeFunctionData(functionFragment: "transfer", values: [AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferFrom", values: [AddressLike, AddressLike, BigNumberish]): string; encodeFunctionData(functionFragment: "transferOwnership", values: [AddressLike]): string; encodeFunctionData(functionFragment: "underlying", values?: undefined): string; encodeFunctionData(functionFragment: "user_checkpoint", values: [AddressLike]): string; encodeFunctionData(functionFragment: "withdraw", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawAndUnwrap", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "addRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addTokenReward", data: BytesLike): Result; decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateralVault", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convexBooster", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convexPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convexPoolId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convexToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "crv", data: BytesLike): Result; decodeFunctionResult(functionFragment: "curveToken", data: BytesLike): Result; decodeFunctionResult(functionFragment: "cvx", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "decreaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "depositFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "earmarkRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "earned", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReward(address,address)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getReward(address)", data: BytesLike): Result; decodeFunctionResult(functionFragment: "increaseAllowance", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "invalidateReward", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isInit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isShutdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "morpho", data: BytesLike): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registeredRewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardHook", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardLength", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewardRedirect", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rewards", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setApprovals", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setHook", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setMorphoId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setRewardRedirect", data: BytesLike): Result; decodeFunctionResult(functionFragment: "shutdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "stake", data: BytesLike): Result; decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalBalanceOf", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalSupply", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferFrom", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "underlying", data: BytesLike): Result; decodeFunctionResult(functionFragment: "user_checkpoint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawAndUnwrap", data: BytesLike): Result; } export declare namespace ApprovalEvent { type InputTuple = [ owner: AddressLike, spender: AddressLike, value: BigNumberish ]; type OutputTuple = [owner: string, spender: string, value: bigint]; interface OutputObject { owner: string; spender: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace DepositedEvent { type InputTuple = [ _user: AddressLike, _account: AddressLike, _amount: BigNumberish, _wrapped: boolean ]; type OutputTuple = [ _user: string, _account: string, _amount: bigint, _wrapped: boolean ]; interface OutputObject { _user: string; _account: string; _amount: bigint; _wrapped: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace HookSetEvent { type InputTuple = [_hook: AddressLike]; type OutputTuple = [_hook: string]; interface OutputObject { _hook: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace OwnershipTransferredEvent { type InputTuple = [previousOwner: AddressLike, newOwner: AddressLike]; type OutputTuple = [previousOwner: string, newOwner: string]; interface OutputObject { previousOwner: string; newOwner: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardAddedEvent { type InputTuple = [_token: AddressLike]; type OutputTuple = [_token: string]; interface OutputObject { _token: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardInvalidatedEvent { type InputTuple = [_rewardToken: AddressLike]; type OutputTuple = [_rewardToken: string]; interface OutputObject { _rewardToken: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace RewardRedirectedEvent { type InputTuple = [_account: AddressLike, _forward: AddressLike]; type OutputTuple = [_account: string, _forward: string]; interface OutputObject { _account: string; _forward: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace ShutdownEvent { type InputTuple = []; type OutputTuple = []; interface OutputObject { } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace TransferEvent { type InputTuple = [ from: AddressLike, to: AddressLike, value: BigNumberish ]; type OutputTuple = [from: string, to: string, value: bigint]; interface OutputObject { from: string; to: string; value: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UserCheckpointEvent { type InputTuple = [_userA: AddressLike, _userB: AddressLike]; type OutputTuple = [_userA: string, _userB: string]; interface OutputObject { _userA: string; _userB: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace WithdrawnEvent { type InputTuple = [ _user: AddressLike, _amount: BigNumberish, _unwrapped: boolean ]; type OutputTuple = [ _user: string, _amount: bigint, _unwrapped: boolean ]; interface OutputObject { _user: string; _amount: bigint; _unwrapped: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface ConvexStakingWrapperMorpho extends BaseContract { connect(runner?: ContractRunner | null): ConvexStakingWrapperMorpho; waitForDeployment(): Promise; interface: ConvexStakingWrapperMorphoInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; addRewards: TypedContractMethod<[], [void], "nonpayable">; addTokenReward: TypedContractMethod<[ _token: AddressLike ], [ void ], "nonpayable">; allowance: TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; approve: TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; asset: TypedContractMethod<[], [string], "view">; balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; collateralVault: TypedContractMethod<[], [string], "view">; convexBooster: TypedContractMethod<[], [string], "view">; convexPool: TypedContractMethod<[], [string], "view">; convexPoolId: TypedContractMethod<[], [bigint], "view">; convexToken: TypedContractMethod<[], [string], "view">; crv: TypedContractMethod<[], [string], "view">; curveToken: TypedContractMethod<[], [string], "view">; cvx: TypedContractMethod<[], [string], "view">; decimals: TypedContractMethod<[], [bigint], "view">; decreaseAllowance: TypedContractMethod<[ spender: AddressLike, subtractedValue: BigNumberish ], [ boolean ], "nonpayable">; deposit: TypedContractMethod<[ _amount: BigNumberish, _to: AddressLike ], [ void ], "nonpayable">; depositFor: TypedContractMethod<[ _to: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; earmarkRewards: TypedContractMethod<[], [boolean], "nonpayable">; earned: TypedContractMethod<[ _account: AddressLike ], [ ConvexStakingWrapper.EarnedDataStructOutput[] ], "nonpayable">; "getReward(address,address)": TypedContractMethod<[ _account: AddressLike, _forwardTo: AddressLike ], [ void ], "nonpayable">; "getReward(address)": TypedContractMethod<[ _account: AddressLike ], [ void ], "nonpayable">; increaseAllowance: TypedContractMethod<[ spender: AddressLike, addedValue: BigNumberish ], [ boolean ], "nonpayable">; initialize: TypedContractMethod<[ _poolId: BigNumberish ], [ void ], "nonpayable">; invalidateReward: TypedContractMethod<[ _token: AddressLike ], [ void ], "nonpayable">; isInit: TypedContractMethod<[], [boolean], "view">; isShutdown: TypedContractMethod<[], [boolean], "view">; morpho: TypedContractMethod<[], [string], "view">; name: TypedContractMethod<[], [string], "view">; owner: TypedContractMethod<[], [string], "view">; registeredRewards: TypedContractMethod<[arg0: AddressLike], [bigint], "view">; renounceOwnership: TypedContractMethod<[], [void], "nonpayable">; rewardHook: TypedContractMethod<[], [string], "view">; rewardLength: TypedContractMethod<[], [bigint], "view">; rewardRedirect: TypedContractMethod<[arg0: AddressLike], [string], "view">; rewards: TypedContractMethod<[ arg0: BigNumberish ], [ [ string, string, bigint, bigint ] & { reward_token: string; reward_pool: string; reward_integral: bigint; reward_remaining: bigint; } ], "view">; setApprovals: TypedContractMethod<[], [void], "nonpayable">; setHook: TypedContractMethod<[_hook: AddressLike], [void], "nonpayable">; setMorphoId: TypedContractMethod<[_id: BytesLike], [void], "nonpayable">; setRewardRedirect: TypedContractMethod<[ _to: AddressLike ], [ void ], "nonpayable">; shutdown: TypedContractMethod<[], [void], "nonpayable">; stake: TypedContractMethod<[ _amount: BigNumberish, _to: AddressLike ], [ void ], "nonpayable">; symbol: TypedContractMethod<[], [string], "view">; totalBalanceOf: TypedContractMethod<[ _account: AddressLike ], [ bigint ], "view">; totalSupply: TypedContractMethod<[], [bigint], "view">; transfer: TypedContractMethod<[ recipient: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; transferFrom: TypedContractMethod<[ sender: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; transferOwnership: TypedContractMethod<[ newOwner: AddressLike ], [ void ], "nonpayable">; underlying: TypedContractMethod<[], [string], "view">; user_checkpoint: TypedContractMethod<[ _account: AddressLike ], [ boolean ], "nonpayable">; withdraw: TypedContractMethod<[_amount: BigNumberish], [void], "nonpayable">; withdrawAndUnwrap: TypedContractMethod<[ _amount: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "addRewards"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "addTokenReward"): TypedContractMethod<[_token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "allowance"): TypedContractMethod<[ owner: AddressLike, spender: AddressLike ], [ bigint ], "view">; getFunction(nameOrSignature: "approve"): TypedContractMethod<[ spender: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "asset"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "balanceOf"): TypedContractMethod<[account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "collateralVault"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "convexBooster"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "convexPool"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "convexPoolId"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "convexToken"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "crv"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "curveToken"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "cvx"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "decimals"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "decreaseAllowance"): TypedContractMethod<[ spender: AddressLike, subtractedValue: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "deposit"): TypedContractMethod<[ _amount: BigNumberish, _to: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "depositFor"): TypedContractMethod<[ _to: AddressLike, _amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "earmarkRewards"): TypedContractMethod<[], [boolean], "nonpayable">; getFunction(nameOrSignature: "earned"): TypedContractMethod<[ _account: AddressLike ], [ ConvexStakingWrapper.EarnedDataStructOutput[] ], "nonpayable">; getFunction(nameOrSignature: "getReward(address,address)"): TypedContractMethod<[ _account: AddressLike, _forwardTo: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getReward(address)"): TypedContractMethod<[_account: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "increaseAllowance"): TypedContractMethod<[ spender: AddressLike, addedValue: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[_poolId: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "invalidateReward"): TypedContractMethod<[_token: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "isInit"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "isShutdown"): TypedContractMethod<[], [boolean], "view">; getFunction(nameOrSignature: "morpho"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "name"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "owner"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "registeredRewards"): TypedContractMethod<[arg0: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "renounceOwnership"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "rewardHook"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "rewardLength"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "rewardRedirect"): TypedContractMethod<[arg0: AddressLike], [string], "view">; getFunction(nameOrSignature: "rewards"): TypedContractMethod<[ arg0: BigNumberish ], [ [ string, string, bigint, bigint ] & { reward_token: string; reward_pool: string; reward_integral: bigint; reward_remaining: bigint; } ], "view">; getFunction(nameOrSignature: "setApprovals"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "setHook"): TypedContractMethod<[_hook: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "setMorphoId"): TypedContractMethod<[_id: BytesLike], [void], "nonpayable">; getFunction(nameOrSignature: "setRewardRedirect"): TypedContractMethod<[_to: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "shutdown"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "stake"): TypedContractMethod<[ _amount: BigNumberish, _to: AddressLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "symbol"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "totalBalanceOf"): TypedContractMethod<[_account: AddressLike], [bigint], "view">; getFunction(nameOrSignature: "totalSupply"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "transfer"): TypedContractMethod<[ recipient: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferFrom"): TypedContractMethod<[ sender: AddressLike, recipient: AddressLike, amount: BigNumberish ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "transferOwnership"): TypedContractMethod<[newOwner: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "underlying"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "user_checkpoint"): TypedContractMethod<[_account: AddressLike], [boolean], "nonpayable">; getFunction(nameOrSignature: "withdraw"): TypedContractMethod<[_amount: BigNumberish], [void], "nonpayable">; getFunction(nameOrSignature: "withdrawAndUnwrap"): TypedContractMethod<[_amount: BigNumberish], [void], "nonpayable">; getEvent(key: "Approval"): TypedContractEvent; getEvent(key: "Deposited"): TypedContractEvent; getEvent(key: "HookSet"): TypedContractEvent; getEvent(key: "OwnershipTransferred"): TypedContractEvent; getEvent(key: "RewardAdded"): TypedContractEvent; getEvent(key: "RewardInvalidated"): TypedContractEvent; getEvent(key: "RewardRedirected"): TypedContractEvent; getEvent(key: "Shutdown"): TypedContractEvent; getEvent(key: "Transfer"): TypedContractEvent; getEvent(key: "UserCheckpoint"): TypedContractEvent; getEvent(key: "Withdrawn"): TypedContractEvent; filters: { "Approval(address,address,uint256)": TypedContractEvent; Approval: TypedContractEvent; "Deposited(address,address,uint256,bool)": TypedContractEvent; Deposited: TypedContractEvent; "HookSet(address)": TypedContractEvent; HookSet: TypedContractEvent; "OwnershipTransferred(address,address)": TypedContractEvent; OwnershipTransferred: TypedContractEvent; "RewardAdded(address)": TypedContractEvent; RewardAdded: TypedContractEvent; "RewardInvalidated(address)": TypedContractEvent; RewardInvalidated: TypedContractEvent; "RewardRedirected(address,address)": TypedContractEvent; RewardRedirected: TypedContractEvent; "Shutdown()": TypedContractEvent; Shutdown: TypedContractEvent; "Transfer(address,address,uint256)": TypedContractEvent; Transfer: TypedContractEvent; "UserCheckpoint(address,address)": TypedContractEvent; UserCheckpoint: TypedContractEvent; "Withdrawn(address,uint256,bool)": TypedContractEvent; Withdrawn: TypedContractEvent; }; }