import { ContractFactory, ContractTransactionResponse } from "ethers"; import type { Signer, AddressLike, ContractDeployTransaction, ContractRunner } from "ethers"; import type { NonPayableOverrides } from "../../common"; import type { ProductRegistry, ProductRegistryInterface } from "../../registry/ProductRegistry"; type ProductRegistryConstructorParams = [signer?: Signer] | ConstructorParameters; export declare class ProductRegistry__factory extends ContractFactory { constructor(...args: ProductRegistryConstructorParams); getDeployTransaction(_contractRegistry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; deploy(_contractRegistry: AddressLike, overrides?: NonPayableOverrides & { from?: string; }): Promise; connect(runner: ContractRunner | null): ProductRegistry__factory; static readonly bytecode = "0x60806040523480156200001157600080fd5b50604051620027f6380380620027f683398101604081905262000034916200005a565b600080546001600160a01b0319166001600160a01b03929092169190911790556200008c565b6000602082840312156200006d57600080fd5b81516001600160a01b03811681146200008557600080fd5b9392505050565b61275a806200009c6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80637b103999116100c3578063e1bd77551161007c578063e1bd775514610332578063e2c335de14610345578063edac43ee14610358578063f4743ff014610379578063f530119d1461038c578063f898bb591461039f57600080fd5b80637b1039991461028e57806381062080146102b9578063865051e9146102cc57806397f2303b146102ec578063b9db15b4146102ff578063dc95cf611461031f57600080fd5b80632745ad08116101155780632745ad081461020e578063422d20cd14610221578063437b2185146102425780635b2cfe1c14610255578063664fbdbb14610268578063695f55121461027b57600080fd5b806301ffc9a71461015d57806305ad595514610185578063116020731461019a578063181e7797146101bb5780632242d79b146101ce578063257eefcc146101ee575b600080fd5b61017061016b3660046119a8565b6103b6565b60405190151581526020015b60405180910390f35b6101986101933660046119e0565b610408565b005b6101ad6101a8366004611ac4565b610472565b60405161017c929190611d1a565b6101986101c9366004611db8565b610589565b6101e16101dc366004611ac4565b6105f8565b60405161017c9190611e79565b6102016101fc366004611ac4565b610738565b60405161017c9190611fbb565b61019861021c366004611db8565b61081e565b61023461022f366004611fce565b61084f565b60405161017c929190612018565b610198610250366004611db8565b61095d565b610170610263366004612088565b6109c3565b6101986102763660046120c9565b610a25565b610198610289366004612114565b610bdd565b6000546102a1906001600160a01b031681565b6040516001600160a01b03909116815260200161017c565b6101986102c73660046119e0565b610c9f565b6102df6102da366004611fce565b610d25565b60405161017c9190612140565b6101986102fa366004611db8565b610d3f565b61031261030d366004611fce565b610d70565b60405161017c9190612153565b61019861032d3660046120c9565b61109d565b610198610340366004612166565b6111dd565b6102df610353366004611fce565b6112de565b61036b610366366004611fce565b6112f8565b60405161017c9291906121df565b610198610387366004612204565b611320565b61017061039a36600461223e565b611435565b6103a860365481565b60405190815260200161017c565b60006001600160e01b031982166301ffc9a760e01b14806103e757506001600160e01b0319821663c0087dd960e01b145b8061040257506001600160e01b031982166316cb3f8760e21b145b92915050565b60008281526034602052604090205461042081611454565b60008381526034602052604080822060058101805460ff19168615151790558054915190928692917f1a58b4c176a67828ebe2456bc637af85e69b115be11597e049b0669d13bea9999190a350505050565b60608082516001600160401b0381111561048e5761048e611a10565b6040519080825280602002602001820160405280156104c157816020015b60608152602001906001900390816104ac5790505b50915082516001600160401b038111156104dd576104dd611a10565b60405190808252806020026020018201604052801561051057816020015b60608152602001906001900390816104fb5790505b50905060005b83518110156105835761054184828151811061053457610534612260565b602002602001015161084f565b84838151811061055357610553612260565b6020026020010184848151811061056c5761056c612260565b602090810291909101019190915252600101610516565b50915091565b6000838152603460205260409020546105a181611454565b60008481526034602052604090206105ba8185856114ac565b60008581526034602052604080822054905187927f1a58b4c176a67828ebe2456bc637af85e69b115be11597e049b0669d13bea99991a35050505050565b606081516001600160401b0381111561061357610613611a10565b60405190808252806020026020018201604052801561064657816020015b60608152602001906001900390816106315790505b50905060005b8251811015610732576034600084838151811061066b5761066b612260565b60200260200101518152602001908152602001600020600101805461068f90612276565b80601f01602080910402602001604051908101604052809291908181526020018280546106bb90612276565b80156107085780601f106106dd57610100808354040283529160200191610708565b820191906000526020600020905b8154815290600101906020018083116106eb57829003601f168201915b505050505082828151811061071f5761071f612260565b602090810291909101015260010161064c565b50919050565b606081516001600160401b0381111561075357610753611a10565b6040519080825280602002602001820160405280156107c857816020015b6107b56040518060e0016040528060008152602001606081526020016060815260200160608152602001606081526020016000151581526020016000151581525090565b8152602001906001900390816107715790505b50905060005b8251811015610732576107f98382815181106107ec576107ec612260565b6020026020010151610d70565b82828151811061080b5761080b612260565b60209081029190910101526001016107ce565b60008381526034602052604090205461083681611454565b60008481526034602052604090206105ba8185856114e3565b6000818152603560205260408120606091829161086b90611537565b90508060008054906101000a90046001600160a01b03166001600160a01b0316630a6413926040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e391906122c6565b6001600160a01b031663d4ca8b70836040518263ffffffff1660e01b815260040161090e9190612140565b600060405180830381865afa15801561092b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095391908101906123a8565b9250925050915091565b60008381526034602052604090205461097581611454565b600084815260346020526040902061098e818585611544565b80546040518691907f1a58b4c176a67828ebe2456bc637af85e69b115be11597e049b0669d13bea99990600090a35050505050565b6000805b82811015610a1b57603460008585848181106109e5576109e5612260565b602090810292909201358352508101919091526040016000206005015460ff16610a13576000915050610402565b6001016109c7565b5060019392505050565b600083815260346020526040902054610a3d81611454565b60008054906101000a90046001600160a01b03166001600160a01b0316630a6413926040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab291906122c6565b60008581526034602052604090819020549051631817a1f560e11b81526001600160a01b03929092169163302f43ea91610af29187908790600401612504565b60006040518083038186803b158015610b0a57600080fd5b505afa158015610b1e573d6000803e3d6000fd5b5050505060005b82811015610bd657610b5f848483818110610b4257610b42612260565b600089815260356020908152604090912093910201359050611597565b5060008581526034602052604090205485907fef587ef69fe3a09b433fb0597677c35bc301ddd54ef302619c0f851dc3f20aea868685818110610ba457610ba4612260565b905060200201356001604051610bc69291909182521515602082015260400190565b60405180910390a3600101610b25565b5050505050565b6000838152603360205260409020610bf590836115a3565b610c21576040516361cacf3b60e01b815260048101849052602481018390526044015b60405180910390fd5b6000828152603560205260409020610c3990826115a3565b610c6057604051637267c82b60e01b81526004810183905260248101829052604401610c18565b600082815260346020526040902060050154610100900460ff16610c9a576040516301c2348760e51b815260048101839052602401610c18565b505050565b600082815260346020526040902054610cb781611454565b600083815260346020526040908190206005810180548515156101000261ff001990911617905580549151909185917fd18e73c86bf3651386c9e54dd5163a55fdf452f4c3fee5dcd891cb879fc1b09090610d1790871515815260200190565b60405180910390a350505050565b600081815260336020526040902060609061040290611537565b600083815260346020526040902054610d5781611454565b60008481526034602052604090206105ba8185856115bb565b610db46040518060e0016040528060008152602001606081526020016060815260200160608152602001606081526020016000151581526020016000151581525090565b600082118015610dc657506036548211155b610e065760405162461bcd60e51b8152602060048201526011602482015270141c9bd91d58dd081b9bdd08199bdd5b99607a1b6044820152606401610c18565b603460008381526020019081526020016000206040518060e001604052908160008201548152602001600182018054610e3e90612276565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6a90612276565b8015610eb75780601f10610e8c57610100808354040283529160200191610eb7565b820191906000526020600020905b815481529060010190602001808311610e9a57829003601f168201915b50505050508152602001600282018054610ed090612276565b80601f0160208091040260200160405190810160405280929190818152602001828054610efc90612276565b8015610f495780601f10610f1e57610100808354040283529160200191610f49565b820191906000526020600020905b815481529060010190602001808311610f2c57829003601f168201915b50505050508152602001600382018054610f6290612276565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8e90612276565b8015610fdb5780601f10610fb057610100808354040283529160200191610fdb565b820191906000526020600020905b815481529060010190602001808311610fbe57829003601f168201915b50505050508152602001600482018054610ff490612276565b80601f016020809104026020016040519081016040528092919081815260200182805461102090612276565b801561106d5780601f106110425761010080835404028352916020019161106d565b820191906000526020600020905b81548152906001019060200180831161105057829003601f168201915b50505091835250506005919091015460ff8082161515602084015261010090910416151560409091015292915050565b6000838152603460205260409020546110b581611454565b60005b82811015610bd6576110f28484838181106110d5576110d5612260565b6000898152603560209081526040909120939102013590506115a3565b611134578484848381811061110957611109612260565b90506020020135604051637267c82b60e01b8152600401610c18929190918252602082015260400190565b61116684848381811061114957611149612260565b6000898152603560209081526040909120939102013590506115ec565b5060008581526034602052604090205485907fef587ef69fe3a09b433fb0597677c35bc301ddd54ef302619c0f851dc3f20aea8686858181106111ab576111ab612260565b9050602002013560006040516111cd9291909182521515602082015260400190565b60405180910390a36001016110b8565b826112215760405162461bcd60e51b8152602060048201526014602482015273139bc81c1c9bd91d58dd1cc81c1c9bdd9a59195960621b6044820152606401610c18565b8281146112885760405162461bcd60e51b815260206004820152602f60248201527f50726f6475637420616e642070726963696e6720494473206d7573742062652060448201526e0e8d0ca40e6c2daca40d8cadccee8d608b1b6064820152608401610c18565b60005b838110156112d6576112ce868686848181106112a9576112a9612260565b905060200201358585858181106112c2576112c2612260565b90506020020135610bdd565b60010161128b565b505050505050565b600081815260356020526040902060609061040290611537565b6000818152603360205260408120606091829161131490611537565b90508061095382610738565b803561132b81611454565b6036805490600061133b8361255b565b90915550506036546000908152603460209081526040909120833581559061137090829061136b90860186612574565b611544565b611386816113816040860186612574565b6114e3565b61139c816113976060860186612574565b6114ac565b6113b2816113ad6080860186612574565b6115bb565b6113c260c0840160a085016125ba565b60058201805461ff00199215159290921661ffff19909216919091176101001790556036548335600090815260336020526040902061140091611597565b506036546040518435907f2a60815e9d2622a909b3c2b731fa879a529c93b5fecdb1cfea183695707572cc90600090a3505050565b600082815260336020526040812061144d90836115a3565b9392505050565b61145d816115f8565b6114a95760405162461bcd60e51b815260206004820181905260248201527f4e6f7420616e2061646d696e206f6620746865206f7267616e697a6174696f6e6044820152606401610c18565b50565b60808111156114ce57604051634a26265360e01b815260040160405180910390fd5b600383016114dd82848361261f565b50505050565b60008190036115055760405163d18b8ecd60e01b815260040160405180910390fd5b61020081111561152857604051634a26265360e01b815260040160405180910390fd5b600283016114dd82848361261f565b6060600061144d83611604565b60008190036115665760405163d18b8ecd60e01b815260040160405180910390fd5b604081111561158857604051634a26265360e01b815260040160405180910390fd5b600183016114dd82848361261f565b600061144d8383611660565b6000818152600183016020526040812054151561144d565b60808111156115dd57604051634a26265360e01b815260040160405180910390fd5b600483016114dd82848361261f565b600061144d83836116af565b600061040282336117a2565b60608160000180548060200260200160405190810160405280929190818152602001828054801561165457602002820191906000526020600020905b815481526020019060010190808311611640575b50505050509050919050565b60008181526001830160205260408120546116a757508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610402565b506000610402565b600081815260018301602052604081205480156117985760006116d36001836126de565b85549091506000906116e7906001906126de565b905080821461174c57600086600001828154811061170757611707612260565b906000526020600020015490508087600001848154811061172a5761172a612260565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061175d5761175d6126f1565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610402565b6000915050610402565b60006117ae838361189c565b8061144d575060008054906101000a90046001600160a01b03166001600160a01b031663595439736040518163ffffffff1660e01b8152600401602060405180830381865afa158015611805573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061182991906122c6565b60405163146a291160e01b8152600481018590526001600160a01b038481166024830152919091169063146a291190604401602060405180830381865afa158015611878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144d9190612707565b6000816001600160a01b03166118b1846118c2565b6001600160a01b0316149392505050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663cfd8fe0c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611916573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193a91906122c6565b6001600160a01b0316636352211e836040518263ffffffff1660e01b815260040161196791815260200190565b602060405180830381865afa158015611984573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040291906122c6565b6000602082840312156119ba57600080fd5b81356001600160e01b03198116811461144d57600080fd5b80151581146114a957600080fd5b600080604083850312156119f357600080fd5b823591506020830135611a05816119d2565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715611a4857611a48611a10565b60405290565b60405161012081016001600160401b0381118282101715611a4857611a48611a10565b604051601f8201601f191681016001600160401b0381118282101715611a9957611a99611a10565b604052919050565b60006001600160401b03821115611aba57611aba611a10565b5060051b60200190565b60006020808385031215611ad757600080fd5b82356001600160401b03811115611aed57600080fd5b8301601f81018513611afe57600080fd5b8035611b11611b0c82611aa1565b611a71565b81815260059190911b82018301908381019087831115611b3057600080fd5b928401925b82841015611b4e57833582529284019290840190611b35565b979650505050505050565b634e487b7160e01b600052602160045260246000fd5b60068110611b7f57611b7f611b59565b9052565b60058110611b7f57611b7f611b59565b60008151808452602080850194506020840160005b83811015611be4578151805188528381015184890152604080820151908901526060908101519088015260809096019590820190600101611ba8565b509495945050505050565b600082825180855260208086019550808260051b84010181860160005b84811015611cc057601f1986840301895281516101208151855285820151611c3687870182611b6f565b50604080830151611c4982880182611b83565b50506060808301518282880152611c6283880182611b93565b92505050608080830151611c80828801826001600160a01b03169052565b505060a0828101519086015260c0808301519086015260e08083015115159086015261010091820151151591909401529783019790830190600101611c0c565b5090979650505050505050565b60008282518085526020808601955060208260051b8401016020860160005b84811015611cc057601f19868403018952611d08838351611bef565b98840198925090830190600101611cec565b6000604082016040835280855180835260608501915060608160051b860101925060208088016000805b84811015611d9857888703605f19018652825180518089529085019085890190845b81811015611d8257835183529287019291870191600101611d66565b5090985050509483019491830191600101611d44565b50505085840381870152505050611daf8185611ccd565b95945050505050565b600080600060408486031215611dcd57600080fd5b8335925060208401356001600160401b0380821115611deb57600080fd5b818601915086601f830112611dff57600080fd5b813581811115611e0e57600080fd5b876020828501011115611e2057600080fd5b6020830194508093505050509250925092565b6000815180845260005b81811015611e5957602081850181015186830182015201611e3d565b506000602082860101526020601f19601f83011685010191505092915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015611ed057603f19888603018452611ebe858351611e33565b94509285019290850190600101611ea2565b5092979650505050505050565b805182526000602082015160e06020850152611efc60e0850182611e33565b905060408301518482036040860152611f158282611e33565b91505060608301518482036060860152611f2f8282611e33565b91505060808301518482036080860152611f498282611e33565b91505060a0830151151560a085015260c0830151151560c08501528091505092915050565b60008282518085526020808601955060208260051b8401016020860160005b84811015611cc057601f19868403018952611fa9838351611edd565b98840198925090830190600101611f8d565b60208152600061144d6020830184611f6e565b600060208284031215611fe057600080fd5b5035919050565b60008151808452602080850194506020840160005b83811015611be457815187529582019590820190600101611ffc565b60408152600061202b6040830185611fe7565b8281036020840152611daf8185611bef565b60008083601f84011261204f57600080fd5b5081356001600160401b0381111561206657600080fd5b6020830191508360208260051b850101111561208157600080fd5b9250929050565b6000806020838503121561209b57600080fd5b82356001600160401b038111156120b157600080fd5b6120bd8582860161203d565b90969095509350505050565b6000806000604084860312156120de57600080fd5b8335925060208401356001600160401b038111156120fb57600080fd5b6121078682870161203d565b9497909650939450505050565b60008060006060848603121561212957600080fd5b505081359360208301359350604090920135919050565b60208152600061144d6020830184611fe7565b60208152600061144d6020830184611edd565b60008060008060006060868803121561217e57600080fd5b8535945060208601356001600160401b038082111561219c57600080fd5b6121a889838a0161203d565b909650945060408801359150808211156121c157600080fd5b506121ce8882890161203d565b969995985093965092949392505050565b6040815260006121f26040830185611fe7565b8281036020840152611daf8185611f6e565b60006020828403121561221657600080fd5b81356001600160401b0381111561222c57600080fd5b820160c0818503121561144d57600080fd5b6000806040838503121561225157600080fd5b50508035926020909101359150565b634e487b7160e01b600052603260045260246000fd5b600181811c9082168061228a57607f821691505b60208210810361073257634e487b7160e01b600052602260045260246000fd5b80516001600160a01b03811681146122c157600080fd5b919050565b6000602082840312156122d857600080fd5b61144d826122aa565b8051600681106122c157600080fd5b8051600581106122c157600080fd5b600082601f83011261231057600080fd5b81516020612320611b0c83611aa1565b82815260079290921b8401810191818101908684111561233f57600080fd5b8286015b84811015612392576080818903121561235c5760008081fd5b612364611a26565b8151815284820151858201526040808301519082015260608083015190820152835291830191608001612343565b509695505050505050565b80516122c1816119d2565b600060208083850312156123bb57600080fd5b82516001600160401b03808211156123d257600080fd5b818501915085601f8301126123e657600080fd5b81516123f4611b0c82611aa1565b81815260059190911b8301840190848101908883111561241357600080fd5b8585015b838110156124f75780518581111561242e57600080fd5b8601610120818c03601f190181131561244657600080fd5b61244e611a4e565b898301518152612460604084016122e1565b8a820152612470606084016122f0565b6040820152608080840151898111156124895760008081fd5b6124978f8d838801016122ff565b60608401525060a06124aa8186016122aa565b8284015260c0915081850151818401525060e0808501518284015261010091506124d582860161239d565b908301526124e484840161239d565b9082015285525050918601918601612417565b5098975050505050505050565b838152604060208201819052810182905260006001600160fb1b0383111561252b57600080fd5b8260051b8085606085013791909101606001949350505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161256d5761256d612545565b5060010190565b6000808335601e1984360301811261258b57600080fd5b8301803591506001600160401b038211156125a557600080fd5b60200191503681900382131561208157600080fd5b6000602082840312156125cc57600080fd5b813561144d816119d2565b601f821115610c9a576000816000526020600020601f850160051c810160208610156126005750805b601f850160051c820191505b818110156112d65782815560010161260c565b6001600160401b0383111561263657612636611a10565b61264a836126448354612276565b836125d7565b6000601f84116001811461267e57600085156126665750838201355b600019600387901b1c1916600186901b178355610bd6565b600083815260209020601f19861690835b828110156126af578685013582556020948501946001909201910161268f565b50868210156126cc5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b8181038181111561040257610402612545565b634e487b7160e01b600052603160045260246000fd5b60006020828403121561271957600080fd5b815161144d816119d256fea26469706673582212202a9e4991ff1362f552a5b295710895e0e9ca4f731f3e4f0818a8d1b707ebd81164736f6c63430008180033"; static readonly abi: readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "_contractRegistry"; readonly type: "address"; }]; readonly stateMutability: "nonpayable"; readonly type: "constructor"; }, { 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: "_productIds"; readonly type: "uint256[]"; }]; readonly name: "isTransferable"; 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 name: "registry"; readonly outputs: readonly [{ readonly internalType: "contract IContractRegistry"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; 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 internalType: "bytes4"; readonly name: "interfaceId"; readonly type: "bytes4"; }]; readonly name: "supportsInterface"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "pure"; 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(): ProductRegistryInterface; static connect(address: string, runner?: ContractRunner | null): ProductRegistry; } export {};