import { IBusinessLogicResolver } from '@contracts'; import { GetFacetsByConfigurationIdAndVersionQuery, GetFacetsByConfigurationIdAndVersionResult, RegisterBusinessLogicsCommand, RegisterDeployedContractBusinessLogicsCommand } from '@scripts'; export interface BusinessLogicRegistryData { businessLogicKey: string; businessLogicAddress: string; } export interface FacetConfiguration { id: string; version: number; } export declare let businessLogicResolver: IBusinessLogicResolver; export declare function getFacetsByConfigurationIdAndVersion({ businessLogicResolverAddress, configurationId, provider, }: GetFacetsByConfigurationIdAndVersionQuery): Promise; export declare function registerDeployedContractBusinessLogics({ deployedContractAddressList, businessLogicResolverProxyAddress, signer, overrides, }: RegisterDeployedContractBusinessLogicsCommand): Promise; /** * Registers business logic contracts with a resolver. * * This function performs the following steps: * 1. Gets business logic keys from each contract in the provided address list * 2. Creates registry data objects containing keys and addresses * 3. Registers the business logics with the resolver contract * 4. Validates the transaction response * * @param deployedContractAddressList - Object containing addresses of deployed contracts to register * @param businessLogicResolver - Address of the business logic resolver contract * @param signer - Ethereum signer to execute transactions * * @throws Will throw an error if registration transaction fails validation * * @remarks * Each contract in the address list must implement the IStaticFunctionSelectors interface */ export declare function registerBusinessLogics({ contractAddressListToRegister, businessLogicResolverProxyAddress, signer, overrides, }: RegisterBusinessLogicsCommand): Promise;