using DataConnection.REST.Models; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; namespace DataConnection.REST.Interfaces { /// /// Interface for discovering metadata (entities, properties) from a REST service. /// public interface IRestMetadataDiscovery { /// /// Discovers a list of available entities from the REST service without detailed field information. /// /// Cancellation token. /// A list of discovered entity summaries. Task> DiscoverEntitySummariesAsync(CancellationToken cancellationToken = default); /// /// Discovers detailed information for a specific entity including all its properties. /// /// The name of the entity to get details for. /// Cancellation token. /// Detailed entity information or null if not found. Task DiscoverEntityDetailsAsync(string entityName, CancellationToken cancellationToken = default); /// /// Discovers entities and their properties from the REST service metadata. /// /// Cancellation token. /// A list of discovered entity information. Task> DiscoverEntitiesAsync(CancellationToken cancellationToken = default); } }