import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common"; export declare namespace ISubscriptionEscrow { type SubscriptionStruct = { orgId: BigNumberish; pricingId: BigNumberish; startDate: BigNumberish; endDate: BigNumberish; timeRemaining: BigNumberish; isCancelled: boolean; isPaused: boolean; }; type SubscriptionStructOutput = [ orgId: bigint, pricingId: bigint, startDate: bigint, endDate: bigint, timeRemaining: bigint, isCancelled: boolean, isPaused: boolean ] & { orgId: bigint; pricingId: bigint; startDate: bigint; endDate: bigint; timeRemaining: bigint; isCancelled: boolean; isPaused: boolean; }; type UnitQuantityStruct = { orgId: BigNumberish; quantity: BigNumberish; maxQuantity: BigNumberish; }; type UnitQuantityStructOutput = [ orgId: bigint, quantity: bigint, maxQuantity: bigint ] & { orgId: bigint; quantity: bigint; maxQuantity: bigint; }; } export interface SubscriptionEscrowInterface extends Interface { getFunction(nameOrSignature: "cancelSubscription" | "changeSubscriptionPricing" | "changeSubscriptionUnitQuantity" | "createSubscriptions" | "getPassSubs" | "getRenewalCost" | "getRenewalCostBatch" | "getSubscription" | "getSubscriptionBatch" | "getUnitQuantity" | "getUnitQuantityFull" | "isTransferable" | "ownerChangePricing" | "pauseSubscription" | "registry" | "renewSubscription" | "setOwnerChangePricing" | "setSubscriptionsPausable" | "subscriptionsPauseable" | "supportsInterface"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "OwnerChangePricingSet" | "SubscriptionCycleUpdated" | "SubscriptionPausableSet" | "SubscriptionPricingChanged" | "UnitQuantitySet"): EventFragment; encodeFunctionData(functionFragment: "cancelSubscription", values: [BigNumberish, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "changeSubscriptionPricing", values: [BigNumberish, BigNumberish, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "changeSubscriptionUnitQuantity", values: [BigNumberish, BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "createSubscriptions", values: [ BigNumberish, BigNumberish, BigNumberish[], BigNumberish[], BigNumberish[], BigNumberish[], boolean ]): string; encodeFunctionData(functionFragment: "getPassSubs", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getRenewalCost", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getRenewalCostBatch", values: [BigNumberish, BigNumberish[]]): string; encodeFunctionData(functionFragment: "getSubscription", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getSubscriptionBatch", values: [BigNumberish, BigNumberish[]]): string; encodeFunctionData(functionFragment: "getUnitQuantity", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "getUnitQuantityFull", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "isTransferable", values: [BigNumberish, BigNumberish[]]): string; encodeFunctionData(functionFragment: "ownerChangePricing", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "pauseSubscription", values: [BigNumberish, BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "registry", values?: undefined): string; encodeFunctionData(functionFragment: "renewSubscription", values: [BigNumberish, BigNumberish]): string; encodeFunctionData(functionFragment: "setOwnerChangePricing", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "setSubscriptionsPausable", values: [BigNumberish, boolean]): string; encodeFunctionData(functionFragment: "subscriptionsPauseable", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; decodeFunctionResult(functionFragment: "cancelSubscription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeSubscriptionPricing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "changeSubscriptionUnitQuantity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createSubscriptions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getPassSubs", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRenewalCost", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRenewalCostBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSubscription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSubscriptionBatch", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUnitQuantity", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUnitQuantityFull", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isTransferable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ownerChangePricing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pauseSubscription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renewSubscription", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setOwnerChangePricing", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setSubscriptionsPausable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "subscriptionsPauseable", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; } export declare namespace OwnerChangePricingSetEvent { type InputTuple = [organizationId: BigNumberish, canChange: boolean]; type OutputTuple = [organizationId: bigint, canChange: boolean]; interface OutputObject { organizationId: bigint; canChange: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SubscriptionCycleUpdatedEvent { type InputTuple = [ organizationId: BigNumberish, productPassId: BigNumberish, productId: BigNumberish, status: BigNumberish, startDate: BigNumberish, endDate: BigNumberish ]; type OutputTuple = [ organizationId: bigint, productPassId: bigint, productId: bigint, status: bigint, startDate: bigint, endDate: bigint ]; interface OutputObject { organizationId: bigint; productPassId: bigint; productId: bigint; status: bigint; startDate: bigint; endDate: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SubscriptionPausableSetEvent { type InputTuple = [organizationId: BigNumberish, pausable: boolean]; type OutputTuple = [organizationId: bigint, pausable: boolean]; interface OutputObject { organizationId: bigint; pausable: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace SubscriptionPricingChangedEvent { type InputTuple = [ organizationId: BigNumberish, productPassId: BigNumberish, productId: BigNumberish, newPricingId: BigNumberish ]; type OutputTuple = [ organizationId: bigint, productPassId: bigint, productId: bigint, newPricingId: bigint ]; interface OutputObject { organizationId: bigint; productPassId: bigint; productId: bigint; newPricingId: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UnitQuantitySetEvent { type InputTuple = [ productPassId: BigNumberish, productId: BigNumberish, quantity: BigNumberish, maxQuantity: BigNumberish ]; type OutputTuple = [ productPassId: bigint, productId: bigint, quantity: bigint, maxQuantity: bigint ]; interface OutputObject { productPassId: bigint; productId: bigint; quantity: bigint; maxQuantity: bigint; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface SubscriptionEscrow extends BaseContract { connect(runner?: ContractRunner | null): SubscriptionEscrow; waitForDeployment(): Promise; interface: SubscriptionEscrowInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; cancelSubscription: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, cancel: boolean ], [ boolean ], "nonpayable">; changeSubscriptionPricing: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, newPricingId: BigNumberish, isPassOwner: boolean ], [ [string, bigint] & { token: string; amount: bigint; } ], "nonpayable">; changeSubscriptionUnitQuantity: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, quantity: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; amount: bigint; } ], "nonpayable">; createSubscriptions: TypedContractMethod<[ _organizationId: BigNumberish, _productPassId: BigNumberish, _productIds: BigNumberish[], _pricingIds: BigNumberish[], _cycleDurations: BigNumberish[], _unitQuantities: BigNumberish[], _pause: boolean ], [ void ], "nonpayable">; getPassSubs: TypedContractMethod<[ productPassId: BigNumberish ], [ bigint[] ], "view">; getRenewalCost: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; price: bigint; } ], "view">; getRenewalCostBatch: TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ [ bigint, string[], bigint[] ] & { orgId: bigint; tokens: string[]; prices: bigint[]; } ], "view">; getSubscription: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ISubscriptionEscrow.SubscriptionStructOutput, bigint] ], "view">; getSubscriptionBatch: TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ [ ISubscriptionEscrow.SubscriptionStructOutput[], bigint[] ] & { _subs: ISubscriptionEscrow.SubscriptionStructOutput[]; _statuses: bigint[]; } ], "view">; getUnitQuantity: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ bigint ], "view">; getUnitQuantityFull: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ ISubscriptionEscrow.UnitQuantityStructOutput ], "view">; isTransferable: TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ boolean ], "view">; ownerChangePricing: TypedContractMethod<[ arg0: BigNumberish ], [ boolean ], "view">; pauseSubscription: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, pause: boolean ], [ boolean ], "nonpayable">; registry: TypedContractMethod<[], [string], "view">; renewSubscription: TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; price: bigint; } ], "nonpayable">; setOwnerChangePricing: TypedContractMethod<[ orgId: BigNumberish, canChange: boolean ], [ void ], "nonpayable">; setSubscriptionsPausable: TypedContractMethod<[ orgId: BigNumberish, _pausable: boolean ], [ void ], "nonpayable">; subscriptionsPauseable: TypedContractMethod<[ arg0: BigNumberish ], [ boolean ], "view">; supportsInterface: TypedContractMethod<[ interfaceId: BytesLike ], [ boolean ], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "cancelSubscription"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, cancel: boolean ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "changeSubscriptionPricing"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, newPricingId: BigNumberish, isPassOwner: boolean ], [ [string, bigint] & { token: string; amount: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "changeSubscriptionUnitQuantity"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, quantity: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; amount: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "createSubscriptions"): TypedContractMethod<[ _organizationId: BigNumberish, _productPassId: BigNumberish, _productIds: BigNumberish[], _pricingIds: BigNumberish[], _cycleDurations: BigNumberish[], _unitQuantities: BigNumberish[], _pause: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "getPassSubs"): TypedContractMethod<[productPassId: BigNumberish], [bigint[]], "view">; getFunction(nameOrSignature: "getRenewalCost"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; price: bigint; } ], "view">; getFunction(nameOrSignature: "getRenewalCostBatch"): TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ [ bigint, string[], bigint[] ] & { orgId: bigint; tokens: string[]; prices: bigint[]; } ], "view">; getFunction(nameOrSignature: "getSubscription"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ISubscriptionEscrow.SubscriptionStructOutput, bigint] ], "view">; getFunction(nameOrSignature: "getSubscriptionBatch"): TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ [ ISubscriptionEscrow.SubscriptionStructOutput[], bigint[] ] & { _subs: ISubscriptionEscrow.SubscriptionStructOutput[]; _statuses: bigint[]; } ], "view">; getFunction(nameOrSignature: "getUnitQuantity"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ bigint ], "view">; getFunction(nameOrSignature: "getUnitQuantityFull"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ ISubscriptionEscrow.UnitQuantityStructOutput ], "view">; getFunction(nameOrSignature: "isTransferable"): TypedContractMethod<[ productPassId: BigNumberish, productIds: BigNumberish[] ], [ boolean ], "view">; getFunction(nameOrSignature: "ownerChangePricing"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "pauseSubscription"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish, pause: boolean ], [ boolean ], "nonpayable">; getFunction(nameOrSignature: "registry"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "renewSubscription"): TypedContractMethod<[ productPassId: BigNumberish, productId: BigNumberish ], [ [ bigint, string, bigint ] & { orgId: bigint; token: string; price: bigint; } ], "nonpayable">; getFunction(nameOrSignature: "setOwnerChangePricing"): TypedContractMethod<[ orgId: BigNumberish, canChange: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "setSubscriptionsPausable"): TypedContractMethod<[ orgId: BigNumberish, _pausable: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "subscriptionsPauseable"): TypedContractMethod<[arg0: BigNumberish], [boolean], "view">; getFunction(nameOrSignature: "supportsInterface"): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; getEvent(key: "OwnerChangePricingSet"): TypedContractEvent; getEvent(key: "SubscriptionCycleUpdated"): TypedContractEvent; getEvent(key: "SubscriptionPausableSet"): TypedContractEvent; getEvent(key: "SubscriptionPricingChanged"): TypedContractEvent; getEvent(key: "UnitQuantitySet"): TypedContractEvent; filters: { "OwnerChangePricingSet(uint256,bool)": TypedContractEvent; OwnerChangePricingSet: TypedContractEvent; "SubscriptionCycleUpdated(uint256,uint256,uint256,uint8,uint256,uint256)": TypedContractEvent; SubscriptionCycleUpdated: TypedContractEvent; "SubscriptionPausableSet(uint256,bool)": TypedContractEvent; SubscriptionPausableSet: TypedContractEvent; "SubscriptionPricingChanged(uint256,uint256,uint256,uint256)": TypedContractEvent; SubscriptionPricingChanged: TypedContractEvent; "UnitQuantitySet(uint256,uint256,uint256,uint256)": TypedContractEvent; UnitQuantitySet: TypedContractEvent; }; }