services:
  _defaults:
    autowire: true
    autoconfigure: true
    public: false

  TYPO3\CMS\Frontend\:
    resource: '../Classes/*'

  # @deprecated since v11, will be removed in v12 - TypoScriptFrontendController is stateful and must be retrieved from the request attribute frontend.controller.
  TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController:
    factory: ['TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController', getGlobalInstance]
    shared: false
    autoconfigure: false
    autowire: false
    deprecated:
      package: 'typo3/cms-core'
      version: '11.5'
      message: 'Injection of "%service_id%" breaks subrequests. Please use the PSR-7 request attribute "frontend.controller".'

  TYPO3\CMS\Frontend\ContentObject\ContentDataProcessor:
    public: true

  TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer:
    public: true
    shared: false
    arguments:
      $typoScriptFrontendController: null

  TYPO3\CMS\Frontend\ContentObject\Exception\ProductionExceptionHandler:
    public: true
    shared: false

  TYPO3\CMS\Frontend\Resource\PublicUrlPrefixer:
    public: true

  TYPO3\CMS\Frontend\Aspect\FileMetadataOverlayAspect:
    tags:
      - name: event.listener
        identifier: 'typo3-frontend/overlay'
        method: 'languageAndWorkspaceOverlay'

  TYPO3\CMS\Frontend\Html\HtmlWorker:
    public: true

  TYPO3\CMS\Frontend\Typolink\LinkResultFactory:
    public: true
