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 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 PlanManagerInterface extends utils.Interface { functions: { "acceptPlan(uint256,bytes32)": FunctionFragment; "createPlan(uint256,uint256,bytes32)": FunctionFragment; "createPlanTemplate(uint256,uint256,uint256,address,bytes32)": FunctionFragment; "getLimits(address,bytes32)": FunctionFragment; "getPlan(uint256)": FunctionFragment; "getPlanTemplate(uint256)": FunctionFragment; "initialize(address)": FunctionFragment; "limit()": FunctionFragment; "nextPlanId()": FunctionFragment; "nextTemplateId()": FunctionFragment; "owner()": FunctionFragment; "removePlan(uint256)": FunctionFragment; "renounceOwnership()": FunctionFragment; "setPlanLimit(uint256)": FunctionFragment; "setSettings(address)": FunctionFragment; "settings()": FunctionFragment; "transferOwnership(address)": FunctionFragment; "updatePlanTemplateMetadata(uint256,bytes32)": FunctionFragment; "updatePlanTemplateStatus(uint256,bool)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "acceptPlan" | "createPlan" | "createPlanTemplate" | "getLimits" | "getPlan" | "getPlanTemplate" | "initialize" | "limit" | "nextPlanId" | "nextTemplateId" | "owner" | "removePlan" | "renounceOwnership" | "setPlanLimit" | "setSettings" | "settings" | "transferOwnership" | "updatePlanTemplateMetadata" | "updatePlanTemplateStatus"): FunctionFragment; encodeFunctionData(functionFragment: "acceptPlan", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "createPlan", values: [BigNumberish, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "createPlanTemplate", values: [BigNumberish, BigNumberish, BigNumberish, string, BytesLike]): string; encodeFunctionData(functionFragment: "getLimits", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "getPlan", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getPlanTemplate", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "initialize", values: [string]): string; encodeFunctionData(functionFragment: "limit", values?: undefined): string; encodeFunctionData(functionFragment: "nextPlanId", values?: undefined): string; encodeFunctionData(functionFragment: "nextTemplateId", values?: undefined): string; encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData(functionFragment: "removePlan", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string; encodeFunctionData(functionFragment: "setPlanLimit", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setSettings", values: [string]): string; encodeFunctionData(functionFragment: "settings", values?: undefined): string; encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string; encodeFunctionData(functionFragment: "updatePlanTemplateMetadata", values: [BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "updatePlanTemplateStatus", values: [BigNumberish, boolean]): string; decodeFunctionResult(functionFragment: "acceptPlan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPlan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createPlanTemplate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getLimits", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPlan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPlanTemplate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "limit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextPlanId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextTemplateId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removePlan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPlanLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSettings", data: BytesLike): Result; decodeFunctionResult(functionFragment: "settings", data: BytesLike): Result; decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePlanTemplateMetadata", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePlanTemplateStatus", data: BytesLike): Result; events: { "Initialized(uint8)": EventFragment; "OwnershipTransferred(address,address)": EventFragment; "Parameter(string,bytes)": EventFragment; "PlanCreated(uint256,address,bytes32,uint256,uint256)": EventFragment; "PlanRemoved(uint256)": EventFragment; "PlanTemplateCreated(uint256)": EventFragment; "PlanTemplateMetadataChanged(uint256,bytes32)": EventFragment; "PlanTemplateStatusChanged(uint256,bool)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "Parameter"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlanCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlanRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlanTemplateCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlanTemplateMetadataChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "PlanTemplateStatusChanged"): EventFragment; } export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface OwnershipTransferredEventObject { previousOwner: string; newOwner: string; } export type OwnershipTransferredEvent = TypedEvent<[ string, string ], OwnershipTransferredEventObject>; export type OwnershipTransferredEventFilter = TypedEventFilter; export interface ParameterEventObject { name: string; value: string; } export type ParameterEvent = TypedEvent<[string, string], ParameterEventObject>; export type ParameterEventFilter = TypedEventFilter; export interface PlanCreatedEventObject { planId: BigNumber; creator: string; deploymentId: string; planTemplateId: BigNumber; price: BigNumber; } export type PlanCreatedEvent = TypedEvent<[ BigNumber, string, string, BigNumber, BigNumber ], PlanCreatedEventObject>; export type PlanCreatedEventFilter = TypedEventFilter; export interface PlanRemovedEventObject { planId: BigNumber; } export type PlanRemovedEvent = TypedEvent<[BigNumber], PlanRemovedEventObject>; export type PlanRemovedEventFilter = TypedEventFilter; export interface PlanTemplateCreatedEventObject { templateId: BigNumber; } export type PlanTemplateCreatedEvent = TypedEvent<[ BigNumber ], PlanTemplateCreatedEventObject>; export type PlanTemplateCreatedEventFilter = TypedEventFilter; export interface PlanTemplateMetadataChangedEventObject { templateId: BigNumber; metadata: string; } export type PlanTemplateMetadataChangedEvent = TypedEvent<[ BigNumber, string ], PlanTemplateMetadataChangedEventObject>; export type PlanTemplateMetadataChangedEventFilter = TypedEventFilter; export interface PlanTemplateStatusChangedEventObject { templateId: BigNumber; active: boolean; } export type PlanTemplateStatusChangedEvent = TypedEvent<[ BigNumber, boolean ], PlanTemplateStatusChangedEventObject>; export type PlanTemplateStatusChangedEventFilter = TypedEventFilter; export interface PlanManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PlanManagerInterface; 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: { acceptPlan(planId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlan(price: BigNumberish, templateId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlanTemplate(period: BigNumberish, dailyReqCap: BigNumberish, rateLimit: BigNumberish, priceToken: string, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; getLimits(runner: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise<[BigNumber]>; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise<[PlanStructOutput]>; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise<[PlanTemplateV2StructOutput]>; initialize(_settings: string, overrides?: Overrides & { from?: string; }): Promise; limit(overrides?: CallOverrides): Promise<[BigNumber]>; nextPlanId(overrides?: CallOverrides): Promise<[BigNumber]>; nextTemplateId(overrides?: CallOverrides): Promise<[BigNumber]>; owner(overrides?: CallOverrides): Promise<[string]>; removePlan(planId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setPlanLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setSettings(_settings: string, overrides?: Overrides & { from?: string; }): Promise; settings(overrides?: CallOverrides): Promise<[string]>; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateMetadata(templateId: BigNumberish, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateStatus(templateId: BigNumberish, active: boolean, overrides?: Overrides & { from?: string; }): Promise; }; acceptPlan(planId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlan(price: BigNumberish, templateId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlanTemplate(period: BigNumberish, dailyReqCap: BigNumberish, rateLimit: BigNumberish, priceToken: string, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; getLimits(runner: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; initialize(_settings: string, overrides?: Overrides & { from?: string; }): Promise; limit(overrides?: CallOverrides): Promise; nextPlanId(overrides?: CallOverrides): Promise; nextTemplateId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removePlan(planId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setPlanLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setSettings(_settings: string, overrides?: Overrides & { from?: string; }): Promise; settings(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateMetadata(templateId: BigNumberish, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateStatus(templateId: BigNumberish, active: boolean, overrides?: Overrides & { from?: string; }): Promise; callStatic: { acceptPlan(planId: BigNumberish, deploymentId: BytesLike, overrides?: CallOverrides): Promise; createPlan(price: BigNumberish, templateId: BigNumberish, deploymentId: BytesLike, overrides?: CallOverrides): Promise; createPlanTemplate(period: BigNumberish, dailyReqCap: BigNumberish, rateLimit: BigNumberish, priceToken: string, metadata: BytesLike, overrides?: CallOverrides): Promise; getLimits(runner: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; initialize(_settings: string, overrides?: CallOverrides): Promise; limit(overrides?: CallOverrides): Promise; nextPlanId(overrides?: CallOverrides): Promise; nextTemplateId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removePlan(planId: BigNumberish, overrides?: CallOverrides): Promise; renounceOwnership(overrides?: CallOverrides): Promise; setPlanLimit(_limit: BigNumberish, overrides?: CallOverrides): Promise; setSettings(_settings: string, overrides?: CallOverrides): Promise; settings(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: CallOverrides): Promise; updatePlanTemplateMetadata(templateId: BigNumberish, metadata: BytesLike, overrides?: CallOverrides): Promise; updatePlanTemplateStatus(templateId: BigNumberish, active: boolean, overrides?: CallOverrides): Promise; }; filters: { "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter; "Parameter(string,bytes)"(name?: null, value?: null): ParameterEventFilter; Parameter(name?: null, value?: null): ParameterEventFilter; "PlanCreated(uint256,address,bytes32,uint256,uint256)"(planId?: BigNumberish | null, creator?: null, deploymentId?: null, planTemplateId?: null, price?: null): PlanCreatedEventFilter; PlanCreated(planId?: BigNumberish | null, creator?: null, deploymentId?: null, planTemplateId?: null, price?: null): PlanCreatedEventFilter; "PlanRemoved(uint256)"(planId?: BigNumberish | null): PlanRemovedEventFilter; PlanRemoved(planId?: BigNumberish | null): PlanRemovedEventFilter; "PlanTemplateCreated(uint256)"(templateId?: BigNumberish | null): PlanTemplateCreatedEventFilter; PlanTemplateCreated(templateId?: BigNumberish | null): PlanTemplateCreatedEventFilter; "PlanTemplateMetadataChanged(uint256,bytes32)"(templateId?: BigNumberish | null, metadata?: null): PlanTemplateMetadataChangedEventFilter; PlanTemplateMetadataChanged(templateId?: BigNumberish | null, metadata?: null): PlanTemplateMetadataChangedEventFilter; "PlanTemplateStatusChanged(uint256,bool)"(templateId?: BigNumberish | null, active?: null): PlanTemplateStatusChangedEventFilter; PlanTemplateStatusChanged(templateId?: BigNumberish | null, active?: null): PlanTemplateStatusChangedEventFilter; }; estimateGas: { acceptPlan(planId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlan(price: BigNumberish, templateId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlanTemplate(period: BigNumberish, dailyReqCap: BigNumberish, rateLimit: BigNumberish, priceToken: string, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; getLimits(runner: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; initialize(_settings: string, overrides?: Overrides & { from?: string; }): Promise; limit(overrides?: CallOverrides): Promise; nextPlanId(overrides?: CallOverrides): Promise; nextTemplateId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removePlan(planId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setPlanLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setSettings(_settings: string, overrides?: Overrides & { from?: string; }): Promise; settings(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateMetadata(templateId: BigNumberish, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateStatus(templateId: BigNumberish, active: boolean, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { acceptPlan(planId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlan(price: BigNumberish, templateId: BigNumberish, deploymentId: BytesLike, overrides?: Overrides & { from?: string; }): Promise; createPlanTemplate(period: BigNumberish, dailyReqCap: BigNumberish, rateLimit: BigNumberish, priceToken: string, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; getLimits(runner: string, deploymentId: BytesLike, overrides?: CallOverrides): Promise; getPlan(planId: BigNumberish, overrides?: CallOverrides): Promise; getPlanTemplate(templateId: BigNumberish, overrides?: CallOverrides): Promise; initialize(_settings: string, overrides?: Overrides & { from?: string; }): Promise; limit(overrides?: CallOverrides): Promise; nextPlanId(overrides?: CallOverrides): Promise; nextTemplateId(overrides?: CallOverrides): Promise; owner(overrides?: CallOverrides): Promise; removePlan(planId: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceOwnership(overrides?: Overrides & { from?: string; }): Promise; setPlanLimit(_limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setSettings(_settings: string, overrides?: Overrides & { from?: string; }): Promise; settings(overrides?: CallOverrides): Promise; transferOwnership(newOwner: string, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateMetadata(templateId: BigNumberish, metadata: BytesLike, overrides?: Overrides & { from?: string; }): Promise; updatePlanTemplateStatus(templateId: BigNumberish, active: boolean, overrides?: Overrides & { from?: string; }): Promise; }; }