import { ContractEntity } from '../../domain/entities/ContractEntity'; import { Result } from '../../shared/result'; import { ValidationError } from '../../domain/errors/ValidationError'; import { RegistryStats } from './RegistryStats'; /** * Interface for Contract Registry * Defines operations for contract management, discovery, and monitoring */ export interface IContractRegistry { /** * Register a contract in the registry */ register(contract: ContractEntity): Promise>; /** * Unregister a contract from the registry */ unregister(contractId: string): Promise>; /** * Get contract by ID */ getById(contractId: string): Promise>; /** * Get contract by name */ getByName(name: string): Promise>; /** * Get all contracts in a category */ getByCategory(category: string): Promise>; /** * Get all registered contracts */ getAll(): Promise>; /** * Get active contracts only */ getActive(): Promise>; /** * Check if contract exists */ exists(contractId: string): Promise>; /** * Refresh registry from repository */ refresh(): Promise>; /** * Get registry statistics */ getStats(): RegistryStats; /** * Clear local registry (for testing) */ clear(): void; } //# sourceMappingURL=IContractRegistry.d.ts.map