// For Library Version: 0.0.1

declare namespace sap {
  /**
   * Root namespace for all the libraries related to Common User Experience.
   *
   * @since 1.121
   * @experimental As of version 1.121.
   */
  namespace cux {
    /**
     * This is an SAPUI5 library with controls specialized for common user experience.
     *
     * @since 1.121
     * @experimental As of version 1.121.
     */
    namespace home {
      /**
       * Common Interface for creating To-Do Panels displayed in the {@link sap.cux.home.ToDosContainer }.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      interface IToDoPanel {
        __implements__sap_cux_home_IToDoPanel: boolean;

        /**
         * Generate a default card template for the To Do Panel.
         * An extended panel can have it's own template by overridding
         * this method and providing a custom card template.
         *
         *
         * @returns The generated card template.
         */
        generateCardTemplate(
          /**
           * The ID for the template.
           */
          id: string,
          /**
           * The context required for the template.
           */
          context: sap.ui.model.Context
        ): sap.ui.core.Control;
        /**
         * Provides custom request URLs specific to the To-Do Panel.
         *
         *
         * @returns An array of request URLs.
         */
        generateRequestUrls(
          /**
           * - The number of cards which will be displayed in the To-Do Panel.
           */
          cardCount: number
        ): string[];
        /**
         * Retrieves the text for the "No Data" message for the To-Do Panel.
         *
         *
         * @returns The text for the "No Data" message.
         */
        getNoDataText(): string;
        /**
         * Handles the data received from a batch request.
         * This hook can be used to process the data before it is displayed.
         *
         *
         * @returns A promise that resolves when the data has been processed.
         */
        onDataReceived(
          /**
           * - The data received from the request.
           */
          data: any[],
          /**
           * - Optional request options.
           */
          options?: /* was: sap.cux.home.ToDoPanel.RequestOptions */ any
        ): Promise<void>;
      }

      /**
       * Describes the settings that can be provided to the AppsContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $AppsContainerSettings
        extends sap.cux.home.$BaseContainerSettings {}

      /**
       * Describes the settings that can be provided to the BaseContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $BaseContainerSettings extends sap.ui.core.$ControlSettings {
        /**
         * Height to be set for the container.
         */
        height?:
          | sap.ui.core.CSSSize
          | sap.ui.base.ManagedObject.PropertyBindingInfo
          | `{${string}}`;

        /**
         * Width to be set for the container.
         */
        width?:
          | sap.ui.core.CSSSize
          | sap.ui.base.ManagedObject.PropertyBindingInfo
          | `{${string}}`;

        /**
         * This aggregation contains the actions that should be displayed within the container.
         */
        actionButtons?:
          | sap.m.Button[]
          | sap.m.Button
          | sap.ui.base.ManagedObject.AggregationBindingInfo
          | `{${string}}`;

        /**
         * The container content aggregation which should be of type BasePanel.
         */
        content?:
          | sap.cux.home.BasePanel[]
          | sap.cux.home.BasePanel
          | sap.ui.base.ManagedObject.AggregationBindingInfo
          | `{${string}}`;

        /**
         * This aggregation holds the items that should be shown within the dropdown menu of the container.
         */
        menuItems?:
          | sap.cux.home.MenuItem[]
          | sap.cux.home.MenuItem
          | sap.ui.base.ManagedObject.AggregationBindingInfo
          | `{${string}}`;
      }

      /**
       * Describes the settings that can be provided to the BaseLayout constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $BaseLayoutSettings extends sap.m.$PageSettings {
        /**
         * Container ID for Ushell Personalisation.
         * This property holds the ID of the personalization container.
         * It is used to store and retrieve personalized settings for the control.
         */
        persContainerId?:
          | string
          | sap.ui.base.ManagedObject.PropertyBindingInfo;
      }

      /**
       * Describes the settings that can be provided to the BasePanel constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $BasePanelSettings extends sap.ui.core.$ElementSettings {}

      /**
       * Describes the settings that can be provided to the BaseSettingsDialog constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $BaseSettingsDialogSettings extends sap.m.$DialogSettings {}

      /**
       * Describes the settings that can be provided to the BaseSettingsPanel constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $BaseSettingsPanelSettings
        extends sap.ui.core.$ElementSettings {}

      /**
       * Describes the settings that can be provided to the CardsPanel constructor.
       *
       * @experimental As of version 1.122.0.
       */
      interface $CardsPanelSettings extends sap.cux.home.$BasePanelSettings {}

      /**
       * Describes the settings that can be provided to the InsightsContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $InsightsContainerSettings
        extends sap.cux.home.$BaseContainerSettings {}

      /**
       * Describes the settings that can be provided to the Layout constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $LayoutSettings extends sap.cux.home.$BaseLayoutSettings {}

      /**
       * Describes the settings that can be provided to the MenuItem constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $MenuItemSettings extends sap.ui.core.$ElementSettings {
        /**
         * Icon of the menu item.
         */
        icon?:
          | sap.ui.core.URI
          | sap.ui.base.ManagedObject.PropertyBindingInfo
          | `{${string}}`;

        /**
         * Title of the menu item.
         */
        title?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Type of the menu item visualization in the menu list
         */
        type?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Visibility of the menu item in the menu list
         */
        visible?:
          | boolean
          | sap.ui.base.ManagedObject.PropertyBindingInfo
          | `{${string}}`;
      }

      /**
       * Describes the settings that can be provided to the NewsAndPagesContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $NewsAndPagesContainerSettings
        extends sap.cux.home.$BaseContainerSettings {}

      /**
       * Describes the settings that can be provided to the NoDataContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $NoDataContainerSettings
        extends sap.cux.home.$BaseContainerSettings {}

      /**
       * Describes the settings that can be provided to the SituationPanel constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $SituationPanelSettings
        extends sap.cux.home.$ToDoPanelSettings {}

      /**
       * Describes the settings that can be provided to the TaskPanel constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $TaskPanelSettings extends sap.cux.home.$ToDoPanelSettings {
        /**
         * Specifies the URL that fetches the custom attributes to be displayed along with the task cards.
         */
        customAttributeUrl?:
          | string
          | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Specifies if actions should be enabled for the task cards.
         */
        enableActions?:
          | boolean
          | sap.ui.base.ManagedObject.PropertyBindingInfo
          | `{${string}}`;
      }

      /**
       * Describes the settings that can be provided to the TilesPanel constructor.
       *
       * @experimental As of version 1.122.0.
       */
      interface $TilesPanelSettings extends sap.cux.home.$BasePanelSettings {}

      /**
       * Describes the settings that can be provided to the ToDoPanel constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $ToDoPanelSettings extends sap.cux.home.$BasePanelSettings {
        /**
         * Specifies the base URL for batching requests sent from the panel.
         */
        baseUrl?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Specifies the URL for fetching the count of requested to-do cards.
         */
        countUrl?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Specifies the URL from where the to-do cards should be fetched.
         */
        dataUrl?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;

        /**
         * Specifies the URL of the target application associated with the to-do cards.
         */
        targetAppUrl?: string | sap.ui.base.ManagedObject.PropertyBindingInfo;
      }

      /**
       * Describes the settings that can be provided to the ToDosContainer constructor.
       *
       * @experimental As of version 1.121.
       */
      interface $ToDosContainerSettings
        extends sap.cux.home.$BaseContainerSettings {}

      /**
       * Parameters of the MenuItem#press event.
       */
      interface MenuItem$PressEventParameters {}

      /**
       * Container class for managing and storing apps.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class AppsContainer extends sap.cux.home.BaseContainer {
        /**
         * Constructor for a new app container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.AppsContainer.$AppsContainerSettings */ any
        );
      }
      /**
       * Abstract base class for all container controls in the Home Page Layout.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class BaseContainer extends sap.ui.core.Control {
        /**
         * Constructor for a new Base Container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseContainer.$BaseContainerSettings */ any
        );

        /**
         * Gets current value of property height.
         *
         *
         * @returns Value of property `height`
         */
        getHeight(): sap.ui.core.CSSSize;
        /**
         * Gets current value of property width.
         *
         *
         * @returns Value of property `width`
         */
        getWidth(): sap.ui.core.CSSSize;
        /**
         * Gets current value of property height.
         *
         *
         * @returns Value of property `height`
         */
        setHeight(): sap.ui.core.CSSSize;
        /**
         * Gets current value of property width.
         *
         *
         * @returns Value of property `width`
         */
        setWidth(): sap.ui.core.CSSSize;
      }
      /**
       * Abstract base class for My Home layout.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class BaseLayout extends sap.m.Page {
        /**
         * Constructor for a new Base Layout.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseLayout.$BaseLayoutSettings */ any
        );

        /**
         * Gets current value of property persContainerId.
         *
         *
         * @returns Value of property `persContainerId`
         */
        getPersContainerId(): string;
        /**
         * Gets current value of property persContainerId.
         *
         *
         * @returns Value of property `persContainerId`
         */
        setPersContainerId(): string;
        /**
         * Sets SettingsDialog aggregation.
         * Overridden to update cached settings panels.
         * Sets the aggregated settingsDialog.
         * The settings dialog aggregation which controls settings for my home controls.
         * It should be of type BaseSettingsDialog.
         * If Not provided, a default settings dialog will be created from sap.cux.home.SettingsDialog.
         * In case of only custom settings panels, the settings dialog should be created and set manually from sap.cux.home.SettingsDialog.
         *
         *
         *
         * @returns the dialog for chaining
         */
        setSettingsDialog(): this;
      }
      /**
       * Abstract base class for all panels placed in {@link sap.cux.home.BaseContainer }.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class BasePanel extends sap.ui.core.Element {
        /**
         * Constructor for a new Base Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePanel.$BasePanelSettings */ any
        );
      }
      /**
       * Abstract base class for custom settings dialog for {@link sap.cux.home.BaseLayout }.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class BaseSettingsDialog extends sap.m.Dialog {
        /**
         * Constructor for a new Base Settings Dialog.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseSettingsDialog.$BaseSettingsDialogSettings */ any
        );

        /**
         * Adds a new panel at the end of the available panels.
         * Overridden to update cached panels.
         * Adds some panel to the aggregation "panels".
         * Contains the panels aggregation and should be of type BaseSettingsPanel.
         *
         *
         *
         * @returns the dialog for chaining
         */
        addPanel(): BaseSettingsDialog;
        /**
         * Returns all the panels in the dialog.
         * Overridden to return cached panels.
         * Gets content of aggregation "panels".
         * Contains the panels aggregation and should be of type BaseSettingsPanel.
         *
         *
         *
         * @returns panel array
         */
        getPanels(): sap.cux.home.BaseSettingsPanel[];
        /**
         * Init lifecycle method
         */
        init(): void;
        /**
         * Adds a new panel to the 'panels' aggregation at the index.
         * Overridden to update cached panels.
         * Inserts a panel into the aggregation "panels".
         * Contains the panels aggregation and should be of type BaseSettingsPanel.
         *
         *
         *
         * @returns Returns 'this' to allow method chaining.
         */
        insertPanel(
          /**
           * The panel to insert.
           */
          panel: sap.cux.home.BaseSettingsPanel,
          /**
           * The index at which to insert the panel.
           */
          index: number
        ): BaseSettingsDialog;
        /**
         * Removes all panels from the dialog, clears the internal panel cache.
         * Overridden to update cached panels.
         * Removes all the controls from the aggregation "panels".
         * Additionally, it unregisters them from the hosting UIArea.
         * Contains the panels aggregation and should be of type BaseSettingsPanel.
         *
         *
         *
         * @returns An empty array representing the removed panels.
         */
        removeAllPanels(): sap.cux.home.BaseSettingsPanel[];
        /**
         * Removes a panel from the dialog and updates the cache.
         * Removes a panel from the aggregation "panels".
         * Contains the panels aggregation and should be of type BaseSettingsPanel.
         *
         *
         *
         * @returns The removed panel.
         */
        removePanel(
          /**
           * - The panel to remove.
           */
          panel: sap.cux.home.BaseSettingsPanel
        ): sap.cux.home.BaseSettingsPanel;
      }
      /**
       * Abstract base class for panels inside My Home Settings Dialog.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class BaseSettingsPanel extends sap.ui.core.Element {
        /**
         * Constructor for a new Base Settings Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseSettingsPanel.$BaseSettingsPanelSettings */ any
        );

        /**
         * Adds an action button to the panel.
         *
         *
         * @returns The instance of the panel for chaining.
         */
        addActionButton(
          /**
           * - The button to add.
           */
          button: sap.m.Button
        ): BaseSettingsPanel;
        /**
         * Add Changes made by user in case of KeyUser Settings Panel.
         */
        addKeyUserChanges(): void;
        /**
         * Clear all KeyUser Changes made by user.
         */
        clearKeyUserChanges(): void;
        /**
         * Retrieves the action buttons from the panel.
         *
         *
         * @returns array of action buttons.
         */
        getActionButtons(): sap.m.Button[];
        /**
         * Returns the KeyUser Changes made by user.
         */
        getKeyUserChanges(): /* was: sap.cux.home.interface.KeyUserInterface.IKeyUserChange */ any[];
        /**
         * Init lifecycle method
         */
        init(): void;
        /**
         * Inserts an action button at a specific index in the panel.
         *
         *
         * @returns The instance of the panel for chaining.
         */
        insertActionButton(
          /**
           * - The button to insert.
           */
          button: sap.m.Button,
          /**
           * - The index at which to insert the button.
           */
          index: number
        ): BaseSettingsPanel;
        /**
         * Checks if the panel is supported. To be overridden by subclasses.
         *
         *
         * @returns A promise that resolves to true if the panel is supported.
         */
        isSupported(): Promise<boolean>;
        /**
         * Removes an action button from the panel.
         *
         *
         * @returns The removed button or null if not found.
         */
        removeActionButton(
          /**
           * - The button to remove.
           */
          button: sap.m.Button
        ): null | sap.m.Button;
      }
      /**
       * Panel class for managing and storing Insights Cards.
       *
       * @since 1.122.0
       * @experimental As of version 1.122.0.
       */
      class CardsPanel extends sap.cux.home.BasePanel {
        /**
         * Constructor for a new card panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.CardsPanel.$CardsPanelSettings */ any
        );

        /**
         * Triggers a full refresh of the Insights Cards's data and UI.
         * Reloads all the user cards within the Insights Cards section by reinitializing relevant services
         * and re-rendering the panel.
         *
         *
         *
         * @returns A promise that resolves once the Insights Cards section has been refreshed.
         */
        refreshData(): Promise<void>;
      }
      /**
       * Provides the FavAppPanel Class.
       *
       * @since 1.121.0
       * @experimental As of version 1.121.0.
       */
      class FavAppPanel
        extends /* was: sap.cux.home.BaseAppPersPanel */ Object
      {
        /**
         * Constructor for a new favorite app panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePanel.$BasePanelSettings */ any
        );
      }
      /**
       * Provides the class for managing frequent apps.
       *
       * @since 1.121.0
       * @experimental As of version 1.121.0.
       */
      class FrequentAppPanel
        extends /* was: sap.cux.home.BaseAppPersPanel */ Object
      {
        /**
         * Constructor for a new frequent app panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePanel.$BasePanelSettings */ any
        );
      }
      /**
       * Container class for managing and storing Insights Tiles and Insights Cards.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class InsightsContainer extends sap.cux.home.BaseContainer {
        /**
         * Constructor for a new Insights container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseContainer.$BaseContainerSettings */ any
        );
      }
      /**
       * Layout class for the My Home layout.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class Layout extends sap.cux.home.BaseLayout {
        /**
         * Constructor for a new layout.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseLayout.$BaseLayoutSettings */ any
        );
      }
      /**
       * Class for managing and storing menu items.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class MenuItem extends sap.ui.core.Element {
        /**
         * Constructor for a new menu item.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.MenuItem.$MenuItemSettings */ any
        );

        /**
         * Gets current value of property icon.
         *
         *
         * @returns Value of property `icon`
         */
        getIcon(): sap.ui.core.URI;
        /**
         * Gets current value of property title.
         *
         *
         * @returns Value of property `title`
         */
        getTitle(): string;
        /**
         * Gets current value of property type.
         *
         *
         * @returns Value of property `type`
         */
        getType(): string;
        /**
         * Gets current value of property visible.
         *
         *
         * @returns Value of property `visible`
         */
        getVisible(): boolean;
        /**
         * Gets current value of property icon.
         *
         *
         * @returns Value of property `icon`
         */
        setIcon(): sap.ui.core.URI;
        /**
         * Gets current value of property title.
         *
         *
         * @returns Value of property `title`
         */
        setTitle(): string;
        /**
         * Gets current value of property type.
         *
         *
         * @returns Value of property `type`
         */
        setType(): string;
        /**
         * Gets current value of property visible.
         *
         *
         * @returns Value of property `visible`
         */
        setVisible(): boolean;
      }
      /**
       * Container class for managing and storing News and Pages.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class NewsAndPagesContainer extends sap.cux.home.BaseContainer {
        /**
         * Constructor for the new News and Pages container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.NewsAndPagesContainer.$NewsAndPagesContainerSettings */ any
        );
      }
      /**
       * Panel class for managing and storing News.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class NewsPanel extends /* was: sap.cux.home.BaseNewsPanel */ Object {
        /**
         * Constructor for a new News Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseNewsPanel.$BaseNewsPanelSettings */ any
        );

        /**
         * Gets current value of property url.
         *
         *
         * @returns Value of property `url`
         */
        getUrl(): string;
        /**
         * Gets current value of property url.
         *
         *
         * @returns Value of property `url`
         */
        setUrl(): string;
      }
      /**
       * Container class to show no data content.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class NoDataContainer extends sap.cux.home.BaseContainer {
        /**
         * Constructor for a new NoData Container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BaseContainer.$BaseContainerSettings */ any
        );
      }
      /**
       * Panel class for managing and storing Pages.
       *
       * @since 1.122
       * @experimental As of version 1.122.
       */
      class PagePanel extends /* was: sap.cux.home.BasePagePanel */ Object {
        /**
         * Constructor for a new Page panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePagePanel.$BasePagePanelSettings */ any
        );
      }
      /**
       * Provides class for managing Recently Used apps.
       *
       * @since 1.121.0
       * @experimental As of version 1.121.0.
       */
      class RecentAppPanel
        extends /* was: sap.cux.home.BaseAppPersPanel */ Object
      {
        /**
         * Constructor for a new Recently Used apps Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePanel.$BasePanelSettings */ any
        );
      }
      /**
       * Provides the RecommendedAppPanel Class.
       *
       * @since 1.128.0
       * @experimental As of version 1.128.0.
       */
      class RecommendedAppPanel
        extends /* was: sap.cux.home.BaseAppPersPanel */ Object
      {
        /**
         * Constructor for a new Recommended Apps Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.BasePanel.$BasePanelSettings */ any
        );
      }
      /**
       * Panel class for managing and storing Situation cards.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class SituationPanel extends sap.cux.home.ToDoPanel {
        /**
         * Constructor for a new Situation Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.ToDoPanel.$ToDoPanelSettings */ any
        );
      }
      /**
       * Panel class for managing and storing Task cards.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class TaskPanel extends sap.cux.home.ToDoPanel {
        /**
         * Constructor for a new Task Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.TaskPanel.$TaskPanelSettings */ any
        );

        /**
         * Gets current value of property customAttributeUrl.
         *
         *
         * @returns Value of property `customAttributeUrl`
         */
        getCustomAttributeUrl(): string;
        /**
         * Gets current value of property enableActions.
         *
         *
         * @returns Value of property `enableActions`
         */
        getEnableActions(): boolean;
        /**
         * Gets current value of property customAttributeUrl.
         *
         *
         * @returns Value of property `customAttributeUrl`
         */
        setCustomAttributeUrl(): string;
        /**
         * Gets current value of property enableActions.
         *
         *
         * @returns Value of property `enableActions`
         */
        setEnableActions(): boolean;
      }
      /**
       * Tiles Panel class for managing and storing Insights Tiles.
       *
       * @since 1.122.0
       * @experimental As of version 1.122.0.
       */
      class TilesPanel extends sap.cux.home.BasePanel {
        /**
         * Constructor for a new Tiles Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.TilesPanel.$TilesPanelSettings */ any
        );
      }
      /**
       * Abstract Panel class for managing and storing To-Do cards.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      abstract class ToDoPanel
        extends sap.cux.home.BasePanel
        implements sap.cux.home.IToDoPanel
      {
        __implements__sap_cux_home_IToDoPanel: boolean;
        /**
         * Constructor for a new To-Dos Panel.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: /* was: sap.cux.home.ToDoPanel.$ToDoPanelSettings */ any
        );

        /**
         * Generates the card template for the Current Panel.
         *
         *
         * @returns The generated card template.
         */
        generateCardTemplate(
          /**
           * The ID for the template.
           */
          id: string,
          /**
           * The context for the template.
           */
          context: sap.ui.model.Context
        ): sap.ui.core.Control;
        /**
         * Generates request URLs for fetching data based on the specified card count.
         *
         *
         * @returns An array of request URLs.
         */
        generateRequestUrls(
          /**
           * - The number of cards to retrieve.
           */
          cardCount: number
        ): string[];
        /**
         * Gets current value of property baseUrl.
         *
         *
         * @returns Value of property `baseUrl`
         */
        getBaseUrl(): string;
        /**
         * Gets current value of property countUrl.
         *
         *
         * @returns Value of property `countUrl`
         */
        getCountUrl(): string;
        /**
         * Gets current value of property dataUrl.
         *
         *
         * @returns Value of property `dataUrl`
         */
        getDataUrl(): string;
        /**
         * Get the text for the "No Data" message.
         *
         *
         * @returns The text for the "No Data" message.
         */
        getNoDataText(): string;
        /**
         * Gets current value of property targetAppUrl.
         *
         *
         * @returns Value of property `targetAppUrl`
         */
        getTargetAppUrl(): string;
        /**
         * A promise that resolves when the data has been processed.
         * This method can be overridden to perform additional data processing operations.
         */
        onDataReceived(
          /**
           * - Data retrieved from the batch call.
           */
          results?: any[],
          /**
           * - Additional options for parsing the data.
           * Structure may vary based on the backend service.
           */
          options?: /* was: sap.cux.home.ToDoPanel.RequestOptions */ any
        ): Promise<void>;
        /**
         * Gets current value of property baseUrl.
         *
         *
         * @returns Value of property `baseUrl`
         */
        setBaseUrl(): string;
        /**
         * Gets current value of property countUrl.
         *
         *
         * @returns Value of property `countUrl`
         */
        setCountUrl(): string;
        /**
         * Gets current value of property dataUrl.
         *
         *
         * @returns Value of property `dataUrl`
         */
        setDataUrl(): string;
        /**
         * Gets current value of property targetAppUrl.
         *
         *
         * @returns Value of property `targetAppUrl`
         */
        setTargetAppUrl(): string;
      }
      /**
       * Container class for managing and storing To-Do cards.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      class ToDosContainer extends sap.cux.home.BaseContainer {
        /**
         * Constructor for a new To-Dos container.
         */
        constructor(
          /**
           * Initial settings for the new control
           */
          settings?: sap.cux.home.$ToDosContainerSettings
        );
        /**
         * Constructor for a new To-Dos container.
         */
        constructor(
          /**
           * ID for the new control, generated automatically if an ID is not provided
           */
          id?: string,
          /**
           * Initial settings for the new control
           */
          settings?: sap.cux.home.$ToDosContainerSettings
        );

        /**
         * Gets the selected key of the To-Dos container.
         * If no selected key is set, it defaults to the first item.
         *
         *
         * @returns The selected key.
         */
        getSelectedKey(): string;
        /**
         * Asynchronously refreshes the section by forcing all inner panels to be reloaded.
         *
         *
         * @returns A promise that resolves when the section is successfully refreshed.
         */
        refreshData(): Promise<void>;
      }
      /**
       * Supported News Types for {@link sap.cux.home.NewsPanel }.
       *
       * @since 1.121
       * @experimental As of version 1.121.
       */
      enum NewsType {}
      /**
       * Event object of the MenuItem#press event.
       */
      type MenuItem$PressEvent = sap.ui.base.Event<
        MenuItem$PressEventParameters,
        MenuItem
      >;
    }
  }

  interface IUI5DefineDependencyNames {
    "sap/cux/home/AppsContainer": undefined;

    "sap/cux/home/BaseContainer": undefined;

    "sap/cux/home/BaseLayout": undefined;

    "sap/cux/home/BasePanel": undefined;

    "sap/cux/home/BaseSettingsDialog": undefined;

    "sap/cux/home/BaseSettingsPanel": undefined;

    "sap/cux/home/CardsPanel": undefined;

    "sap/cux/home/FavAppPanel": undefined;

    "sap/cux/home/FrequentAppPanel": undefined;

    "sap/cux/home/InsightsContainer": undefined;

    "sap/cux/home/IToDoPanel": undefined;

    "sap/cux/home/Layout": undefined;

    "sap/cux/home/library": undefined;

    "sap/cux/home/MenuItem": undefined;

    "sap/cux/home/NewsAndPagesContainer": undefined;

    "sap/cux/home/NewsPanel": undefined;

    "sap/cux/home/NoDataContainer": undefined;

    "sap/cux/home/PagePanel": undefined;

    "sap/cux/home/RecentAppPanel": undefined;

    "sap/cux/home/RecommendedAppPanel": undefined;

    "sap/cux/home/SituationPanel": undefined;

    "sap/cux/home/TaskPanel": undefined;

    "sap/cux/home/TilesPanel": undefined;

    "sap/cux/home/ToDoPanel": undefined;

    "sap/cux/home/ToDosContainer": undefined;
  }
}
