// Copyright (c) 2009-2026 SAP SE, All Rights Reserved

/**
 * @file This is an empty wrapper for the ProductSwitchProvider module implementation to document the required interface
 */
sap.ui.define([
    "sap/ushell/modules/BaseProvider"
], (
    BaseProvider
) => {
    "use strict";

    /**
     * @alias sap.ushell.modules.ProductSwitch.ProductSwitchProvider
     * @class
     * @description The required interface for a ProductSwitch module.
     *
     * @abstract
     *
     * @since 1.144.0
     * @private
     *
     * @ui5-restricted CEP
     */
    class ProductSwitchProvider extends BaseProvider {
        /**
         * Loads the search component and initializes the search functionality.
         * @param {sap.ushell.modules.ProductSwitch.ProductSwitchAPI} oProductSwitchAPI The side navigation API object.
         *
         * @since 1.144.0
         * @private
         * @ui5-restricted CEP
         */
        constructor (oProductSwitchAPI) {
            super(oProductSwitchAPI);
        }

        /**
         * Cleans up the component instance.
         *
         * @since 1.144.0
         * @private
         * @ui5-restricted CEP
         */
        exit () {
            // to be overridden by subclasses
        }
    }
    return ProductSwitchProvider;
}, false);
