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 IFeeManagerAbiInterface extends utils.Interface { functions: { "claimProtocolFees()": FunctionFragment; "emitFees(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "claimProtocolFees" | "emitFees"): FunctionFragment; encodeFunctionData(functionFragment: "claimProtocolFees", values?: undefined): string; encodeFunctionData(functionFragment: "emitFees", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "claimProtocolFees", data: BytesLike): Result; decodeFunctionResult(functionFragment: "emitFees", data: BytesLike): Result; events: { "FeesEmitted(address,uint256,uint256)": EventFragment; "ProtocolFeesClaimed(address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "FeesEmitted"): EventFragment; getEvent(nameOrSignatureOrTopic: "ProtocolFeesClaimed"): EventFragment; } export interface FeesEmittedEventObject { lendingPoolAddress: string; ecosystemFeeAmount: BigNumber; protocolFeeAmount: BigNumber; } export type FeesEmittedEvent = TypedEvent<[ string, BigNumber, BigNumber ], FeesEmittedEventObject>; export type FeesEmittedEventFilter = TypedEventFilter; export interface ProtocolFeesClaimedEventObject { user: string; amount: BigNumber; } export type ProtocolFeesClaimedEvent = TypedEvent<[ string, BigNumber ], ProtocolFeesClaimedEventObject>; export type ProtocolFeesClaimedEventFilter = TypedEventFilter; export interface IFeeManagerAbi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IFeeManagerAbiInterface; 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: { claimProtocolFees(overrides?: Overrides & { from?: string; }): Promise; emitFees(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; claimProtocolFees(overrides?: Overrides & { from?: string; }): Promise; emitFees(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { claimProtocolFees(overrides?: CallOverrides): Promise; emitFees(amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: { "FeesEmitted(address,uint256,uint256)"(lendingPoolAddress?: string | null, ecosystemFeeAmount?: null, protocolFeeAmount?: null): FeesEmittedEventFilter; FeesEmitted(lendingPoolAddress?: string | null, ecosystemFeeAmount?: null, protocolFeeAmount?: null): FeesEmittedEventFilter; "ProtocolFeesClaimed(address,uint256)"(user?: string | null, amount?: null): ProtocolFeesClaimedEventFilter; ProtocolFeesClaimed(user?: string | null, amount?: null): ProtocolFeesClaimedEventFilter; }; estimateGas: { claimProtocolFees(overrides?: Overrides & { from?: string; }): Promise; emitFees(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { claimProtocolFees(overrides?: Overrides & { from?: string; }): Promise; emitFees(amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }