import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from 'ethers'; import type { FunctionFragment, Result } from '@ethersproject/abi'; import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from './common'; export interface WETHInterface extends utils.Interface { functions: { 'deposit()': FunctionFragment; 'withdraw(uint256)': FunctionFragment; }; getFunction(nameOrSignatureOrTopic: 'deposit' | 'withdraw'): FunctionFragment; encodeFunctionData(functionFragment: 'deposit', values?: undefined): string; encodeFunctionData(functionFragment: 'withdraw', values: [BigNumberish]): string; decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result; decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result; events: {}; } export interface WETH extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: WETHInterface; 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: { deposit(overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(wad: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; deposit(overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(wad: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { deposit(overrides?: CallOverrides): Promise; withdraw(wad: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { deposit(overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(wad: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { deposit(overrides?: PayableOverrides & { from?: string; }): Promise; withdraw(wad: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }