1: | <?php declare(strict_types=1); |
2: | |
3: | namespace Salient\Contract\Sync; |
4: | |
5: | /** |
6: | * Resolves sync entities to provider interfaces, and vice-versa |
7: | * |
8: | * @api |
9: | */ |
10: | interface SyncClassResolverInterface |
11: | { |
12: | /** |
13: | * Get a sync entity's provider interface |
14: | * |
15: | * @param class-string<SyncEntityInterface> $entity |
16: | * @return class-string<SyncProviderInterface> |
17: | */ |
18: | public function entityToProvider(string $entity): string; |
19: | |
20: | /** |
21: | * Get sync entities serviced by a provider interface |
22: | * |
23: | * @param class-string<SyncProviderInterface> $provider |
24: | * @return array<class-string<SyncEntityInterface>> |
25: | */ |
26: | public function providerToEntity(string $provider): array; |
27: | } |
28: |