import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export interface IERC4626Interface extends utils.Interface { functions: { "asset()": FunctionFragment; "convertToAssets(uint256)": FunctionFragment; "convertToShares(uint256)": FunctionFragment; "deposit(uint256,address)": FunctionFragment; "maxDeposit(address)": FunctionFragment; "maxMint(address)": FunctionFragment; "maxRedeem(address)": FunctionFragment; "maxWithdraw(address)": FunctionFragment; "mint(uint256,address)": FunctionFragment; "previewDeposit(uint256)": FunctionFragment; "previewMint(uint256)": FunctionFragment; "previewRedeem(uint256)": FunctionFragment; "previewWithdraw(uint256)": FunctionFragment; "redeem(uint256,address,address)": FunctionFragment; "totalAssets()": FunctionFragment; "withdraw(uint256,address,address)": FunctionFragment; }; encodeFunctionData(functionFragment: "asset", values?: undefined): string; encodeFunctionData(functionFragment: "convertToAssets", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "convertToShares", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "deposit", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [string]): string; encodeFunctionData(functionFragment: "maxMint", values: [string]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [string]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [string]): string; encodeFunctionData(functionFragment: "mint", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "previewDeposit", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "previewMint", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "previewRedeem", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "previewWithdraw", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "redeem", values: [BigNumberish, string, string]): string; encodeFunctionData(functionFragment: "totalAssets", values?: undefined): string; encodeFunctionData(functionFragment: "withdraw", values: [BigNumberish, string, string]): string; decodeFunctionResult(functionFragment: "asset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convertToAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "convertToShares", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxWithdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewDeposit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewRedeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "previewWithdraw", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalAssets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { "Deposit(address,address,uint256,uint256)": EventFragment; "Withdraw(address,address,address,uint256,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Deposit"): EventFragment; getEvent(nameOrSignatureOrTopic: "Withdraw"): EventFragment; } export declare type DepositEvent = TypedEvent<[ string, string, BigNumber, BigNumber ], { caller: string; owner: string; assets: BigNumber; shares: BigNumber; }>; export declare type DepositEventFilter = TypedEventFilter; export declare type WithdrawEvent = TypedEvent<[ string, string, string, BigNumber, BigNumber ], { caller: string; receiver: string; owner: string; assets: BigNumber; shares: BigNumber; }>; export declare type WithdrawEventFilter = TypedEventFilter; export interface IERC4626 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IERC4626Interface; 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: { asset(overrides?: CallOverrides): Promise<[string] & { assetTokenAddress: string; }>; convertToAssets(shares: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; convertToShares(assets: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; deposit(assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise<[BigNumber] & { maxAssets: BigNumber; }>; maxMint(receiver: string, overrides?: CallOverrides): Promise<[BigNumber] & { maxShares: BigNumber; }>; maxRedeem(owner: string, overrides?: CallOverrides): Promise<[BigNumber] & { maxShares: BigNumber; }>; maxWithdraw(owner: string, overrides?: CallOverrides): Promise<[BigNumber] & { maxAssets: BigNumber; }>; mint(shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; previewDeposit(assets: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; previewMint(shares: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; previewRedeem(shares: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { assets: BigNumber; }>; previewWithdraw(assets: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { shares: BigNumber; }>; redeem(shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; totalAssets(overrides?: CallOverrides): Promise<[BigNumber] & { totalManagedAssets: BigNumber; }>; withdraw(assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; asset(overrides?: CallOverrides): Promise; convertToAssets(shares: BigNumberish, overrides?: CallOverrides): Promise; convertToShares(assets: BigNumberish, overrides?: CallOverrides): Promise; deposit(assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint(shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; previewDeposit(assets: BigNumberish, overrides?: CallOverrides): Promise; previewMint(shares: BigNumberish, overrides?: CallOverrides): Promise; previewRedeem(shares: BigNumberish, overrides?: CallOverrides): Promise; previewWithdraw(assets: BigNumberish, overrides?: CallOverrides): Promise; redeem(shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; totalAssets(overrides?: CallOverrides): Promise; withdraw(assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; callStatic: { asset(overrides?: CallOverrides): Promise; convertToAssets(shares: BigNumberish, overrides?: CallOverrides): Promise; convertToShares(assets: BigNumberish, overrides?: CallOverrides): Promise; deposit(assets: BigNumberish, receiver: string, overrides?: CallOverrides): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint(shares: BigNumberish, receiver: string, overrides?: CallOverrides): Promise; previewDeposit(assets: BigNumberish, overrides?: CallOverrides): Promise; previewMint(shares: BigNumberish, overrides?: CallOverrides): Promise; previewRedeem(shares: BigNumberish, overrides?: CallOverrides): Promise; previewWithdraw(assets: BigNumberish, overrides?: CallOverrides): Promise; redeem(shares: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides): Promise; totalAssets(overrides?: CallOverrides): Promise; withdraw(assets: BigNumberish, receiver: string, owner: string, overrides?: CallOverrides): Promise; }; filters: { "Deposit(address,address,uint256,uint256)"(caller?: string | null, owner?: string | null, assets?: null, shares?: null): DepositEventFilter; Deposit(caller?: string | null, owner?: string | null, assets?: null, shares?: null): DepositEventFilter; "Withdraw(address,address,address,uint256,uint256)"(caller?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null): WithdrawEventFilter; Withdraw(caller?: string | null, receiver?: string | null, owner?: string | null, assets?: null, shares?: null): WithdrawEventFilter; }; estimateGas: { asset(overrides?: CallOverrides): Promise; convertToAssets(shares: BigNumberish, overrides?: CallOverrides): Promise; convertToShares(assets: BigNumberish, overrides?: CallOverrides): Promise; deposit(assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint(shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; previewDeposit(assets: BigNumberish, overrides?: CallOverrides): Promise; previewMint(shares: BigNumberish, overrides?: CallOverrides): Promise; previewRedeem(shares: BigNumberish, overrides?: CallOverrides): Promise; previewWithdraw(assets: BigNumberish, overrides?: CallOverrides): Promise; redeem(shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; totalAssets(overrides?: CallOverrides): Promise; withdraw(assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; populateTransaction: { asset(overrides?: CallOverrides): Promise; convertToAssets(shares: BigNumberish, overrides?: CallOverrides): Promise; convertToShares(assets: BigNumberish, overrides?: CallOverrides): Promise; deposit(assets: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; maxDeposit(receiver: string, overrides?: CallOverrides): Promise; maxMint(receiver: string, overrides?: CallOverrides): Promise; maxRedeem(owner: string, overrides?: CallOverrides): Promise; maxWithdraw(owner: string, overrides?: CallOverrides): Promise; mint(shares: BigNumberish, receiver: string, overrides?: Overrides & { from?: string | Promise; }): Promise; previewDeposit(assets: BigNumberish, overrides?: CallOverrides): Promise; previewMint(shares: BigNumberish, overrides?: CallOverrides): Promise; previewRedeem(shares: BigNumberish, overrides?: CallOverrides): Promise; previewWithdraw(assets: BigNumberish, overrides?: CallOverrides): Promise; redeem(shares: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; totalAssets(overrides?: CallOverrides): Promise; withdraw(assets: BigNumberish, receiver: string, owner: string, overrides?: Overrides & { from?: string | Promise; }): Promise; }; } //# sourceMappingURL=IERC4626.d.ts.map