import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, 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 type PlanStruct = { indexer: string; price: BigNumberish; templateId: BigNumberish; deploymentId: BytesLike; active: boolean; }; export type PlanStructOutput = [ string, BigNumber, BigNumber, string, boolean ] & { indexer: string; price: BigNumber; templateId: BigNumber; deploymentId: string; active: boolean; }; export type PlanTemplateV2Struct = { period: BigNumberish; dailyReqCap: BigNumberish; rateLimit: BigNumberish; priceToken: string; metadata: BytesLike; active: boolean; }; export type PlanTemplateV2StructOutput = [ BigNumber, BigNumber, BigNumber, string, string, boolean ] & { period: BigNumber; dailyReqCap: BigNumber; rateLimit: BigNumber; priceToken: string; metadata: string; active: boolean; }; export interface IPlanManagerInterface extends utils.Interface { functions: { "getLimits(address,bytes32)": FunctionFragment; "getPlan(uint256)": FunctionFragment; "getPlanTemplate(uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getLimits" | "getPlan" | "getPlanTemplate"): FunctionFragment; encodeFunctionData(functionFragment: "getLimits", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "getPlan", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getPlanTemplate", values: [BigNumberish]): string; decodeFunctionResult(functionFragment: "getLimits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPlan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPlanTemplate", data: BytesLike): Result; events: {}; } export interface IPlanManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: IPlanManagerInterface; 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: { getLimits(indexer: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise<[PlanStructOutput]>; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise<[PlanTemplateV2StructOutput]>; }; getLimits(indexer: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; callStatic: { getLimits(indexer: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getLimits(indexer: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; }; populateTransaction: { getLimits(indexer: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; }; }