import { type ContractRunner } from "ethers"; import type { IProductRegistry, IProductRegistryInterface } from "../../registry/IProductRegistry"; export declare class IProductRegistry__factory { static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pricingId"; readonly type: "uint256"; }]; readonly name: "PricingNotLinkedToProduct"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "ProductIsNotActive"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "ProductNotFoundForOrganization"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ValueCannotBeEmpty"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ValueTooLong"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "ProductCreated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "pricingId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isLinked"; readonly type: "bool"; }]; readonly name: "ProductPricingLinkUpdate"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly name: "ProductStatusChanged"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "ProductUpdated"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pricingId"; readonly type: "uint256"; }]; readonly name: "canPurchaseProduct"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_organizationId"; readonly type: "uint256"; }, { readonly internalType: "uint256[]"; readonly name: "_productIds"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "_pricingIds"; readonly type: "uint256[]"; }]; readonly name: "canPurchaseProducts"; readonly outputs: readonly []; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "imageUrl"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "externalUrl"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isTransferable"; readonly type: "bool"; }]; readonly internalType: "struct IProductRegistry.CreateProductParams"; readonly name: "params"; readonly type: "tuple"; }]; readonly name: "createProduct"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_organizationId"; readonly type: "uint256"; }]; readonly name: "getOrgProductIds"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "_organizationId"; readonly type: "uint256"; }]; readonly name: "getOrgProducts"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "imageUrl"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "externalUrl"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isTransferable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly internalType: "struct IProductRegistry.Product[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "getProduct"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "imageUrl"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "externalUrl"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isTransferable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly internalType: "struct IProductRegistry.Product"; readonly name: ""; readonly type: "tuple"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_productIds"; readonly type: "uint256[]"; }]; readonly name: "getProductNames"; readonly outputs: readonly [{ readonly internalType: "string[]"; readonly name: "_productNames"; readonly type: "string[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "getProductPricing"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "enum PricingUtils.ChargeStyle"; readonly name: "chargeStyle"; readonly type: "uint8"; }, { readonly internalType: "enum PricingUtils.ChargeFrequency"; readonly name: "chargeFrequency"; readonly type: "uint8"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "lowerBound"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "upperBound"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pricePerUnit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "priceFlatRate"; readonly type: "uint256"; }]; readonly internalType: "struct PricingUtils.PricingTier[]"; readonly name: "tiers"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "flatPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "usageMeterId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly internalType: "struct PricingUtils.Pricing[]"; readonly name: ""; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_productIds"; readonly type: "uint256[]"; }]; readonly name: "getProductPricingBatch"; readonly outputs: readonly [{ readonly internalType: "uint256[][]"; readonly name: "pricingIds"; readonly type: "uint256[][]"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "enum PricingUtils.ChargeStyle"; readonly name: "chargeStyle"; readonly type: "uint8"; }, { readonly internalType: "enum PricingUtils.ChargeFrequency"; readonly name: "chargeFrequency"; readonly type: "uint8"; }, { readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "lowerBound"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "upperBound"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "pricePerUnit"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "priceFlatRate"; readonly type: "uint256"; }]; readonly internalType: "struct PricingUtils.PricingTier[]"; readonly name: "tiers"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "flatPrice"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "usageMeterId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isRestricted"; readonly type: "bool"; }]; readonly internalType: "struct PricingUtils.Pricing[][]"; readonly name: "pricingOptions"; readonly type: "tuple[][]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "getProductPricingIds"; readonly outputs: readonly [{ readonly internalType: "uint256[]"; readonly name: ""; readonly type: "uint256[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256[]"; readonly name: "_productIds"; readonly type: "uint256[]"; }]; readonly name: "getProductsBatch"; readonly outputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint256"; readonly name: "orgId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "imageUrl"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "externalUrl"; readonly type: "string"; }, { readonly internalType: "bool"; readonly name: "isTransferable"; readonly type: "bool"; }, { readonly internalType: "bool"; readonly name: "isActive"; readonly type: "bool"; }]; readonly internalType: "struct IProductRegistry.Product[]"; readonly name: "_products"; readonly type: "tuple[]"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "organizationId"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }]; readonly name: "isOrgProduct"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "uint256[]"; readonly name: "pricingIds"; readonly type: "uint256[]"; }]; readonly name: "linkPricing"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isActive"; readonly type: "bool"; }]; readonly name: "setProductActive"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "description"; readonly type: "string"; }]; readonly name: "setProductDescription"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "externalUrl"; readonly type: "string"; }]; readonly name: "setProductExternalUrl"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "imageUrl"; readonly type: "string"; }]; readonly name: "setProductImageUrl"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }]; readonly name: "setProductName"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "bool"; readonly name: "_isTransferable"; readonly type: "bool"; }]; readonly name: "setProductTransferable"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "totalProductSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "productId"; readonly type: "uint256"; }, { readonly internalType: "uint256[]"; readonly name: "pricingIds"; readonly type: "uint256[]"; }]; readonly name: "unlinkPricing"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): IProductRegistryInterface; static connect(address: string, runner?: ContractRunner | null): IProductRegistry; }