Issue #3615034: Introduce interfaces for all public services
MyrestHelperInterface declares the 98 public methods of MyrestHelper. The docblocks moved to the interface and the implementation carries {@inheritdoc}, so the helper drops from 6257 to 5531 lines.
The 24 facade methods left over from the service split keep their @deprecated tags on the interface, where consumers see them through the type hint. They cannot be dropped yet: the resources and the normalizer still reach the image builder, the menu builder and the page URL resolver through the facade in 60+ places.
MyrestNormalizer and MyrestResourceBase now type-hint the interface, as does MyrestNormalizerTest, which mocks it instead of the class. The five public interfaces are registered as container aliases so downstream services can autowire them, and the five concrete classes behind them are marked @internal.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
Closes #3615140