import type { UmbMenuItemExpansionEntryModel } from '../../../components/menu/types.js'; import { UmbControllerBase } from '../../../../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../../../../libs/controller-api/index.js'; import type { Observable } from '../../../../../../libs/observable-api/index.js'; import { type UmbEntityExpansionModel } from '../../../../utils/index.js'; /** * Manages the expansion state of a section sidebar menu. * @exports * @class UmbSectionSidebarMenuSectionExpansionManager * @augments {UmbControllerBase} */ export declare class UmbSectionSidebarMenuSectionExpansionManager extends UmbControllerBase { #private; readonly expansion: Observable; constructor(host: UmbControllerHost); /** * Checks if an entry is expanded * @param {UmbMenuItemExpansionEntryModel} entry The entry to check * @returns {Observable} True if the entry is expanded * @memberof UmbSectionSidebarMenuSectionExpansionManager */ isExpanded(entry: UmbMenuItemExpansionEntryModel): Observable; /** * Sets the expansion state * @param {UmbEntityExpansionModel | undefined} expansion The expansion state * @memberof UmbSectionSidebarMenuSectionExpansionManager * @returns {void} */ setExpansion(expansion: UmbEntityExpansionModel): void; /** * Gets the expansion state * @memberof UmbSectionSidebarMenuSectionExpansionManager * @returns {UmbEntityExpansionModel} The expansion state */ getExpansion(): UmbEntityExpansionModel; /** * Opens a menu item * @param {UmbMenuItemExpansionEntryModel} entry The item to open * @memberof UmbSectionSidebarMenuSectionExpansionManager * @returns {Promise} */ expandItem(entry: UmbMenuItemExpansionEntryModel): Promise; /** * Expands multiple entities * @param {UmbEntityExpansionModel} entries The entities to open * @memberof UmbEntityExpansionManager * @returns {void} */ expandItems(entries: UmbEntityExpansionModel): void; /** * Closes a menu item * @param {UmbMenuItemExpansionEntryModel} entry The item to close * @memberof UmbSectionSidebarMenuSectionExpansionManager * @returns {Promise} */ collapseItem(entry: UmbMenuItemExpansionEntryModel): Promise; /** * Closes all menu items * @memberof UmbSectionSidebarMenuSectionExpansionManager * @returns {Promise} */ collapseAll(): Promise; }