1: <?php
2:
3: namespace LaravelUi5\Core\Ui5\Contracts;
4:
5: use Flat3\Lodata\EntityType;
6:
7: /**
8: * Marker interface for DataProviders that expose metadata for
9: * automatic UI generation (e.g., selection masks, table columns).
10: *
11: * If a provider implements this interface, the SDK can render
12: * a generic UI5 selection mask based on the EntityType definition.
13: */
14: interface MetadataAwareInterface
15: {
16: /**
17: * Returns the entity type definition used for this report.
18: *
19: * The entity type defines the available properties (columns),
20: * their data types, and optionally labels or formatting hints.
21: */
22: public function getEntityType(): EntityType;
23: }
24: