import type { UmbTreeExpansionModel } from './types.js'; import { UmbControllerBase } from '../../../../libs/class-api/index.js'; import type { Observable } from '../../../../libs/observable-api/index.js'; import type { UmbEntityExpansionEntryModel } from '../../utils/index.js'; import type { UmbEntityModel } from '../../entity/index.js'; /** * Manages the expansion state of a tree * @exports * @class UmbTreeExpansionManager * @augments {UmbControllerBase} */ export declare class UmbTreeExpansionManager extends UmbControllerBase { #private; expansion: Observable; /** * Observe the expansion entry for a specific entity * @param {UmbEntityModel} entity - The entity to observe * @returns {Observable} - An observable of the expansion entry * @memberof UmbTreeExpansionManager */ entry(entity: UmbEntityModel): Observable; /** * Checks if an entity is expanded * @param {UmbEntityModel} entity The entity to check * @param {string} entity.entityType The entity type * @param {string} entity.unique The unique key * @returns {Observable} True if the entity is expanded * @memberof UmbTreeExpansionManager */ isExpanded(entity: UmbEntityModel): Observable; /** * Sets the expansion state * @param {UmbTreeExpansionModel | undefined} expansion The expansion state * @memberof UmbTreeExpansionManager * @returns {void} */ setExpansion(expansion: UmbTreeExpansionModel): void; /** * Gets the expansion state * @memberof UmbTreeExpansionManager * @returns {UmbTreeExpansionModel} The expansion state */ getExpansion(): UmbTreeExpansionModel; /** * Opens a child tree item * @param {UmbEntityModel} entity The entity to open * @param {string} entity.entityType The entity type * @param {string} entity.unique The unique key * @memberof UmbTreeExpansionManager * @returns {Promise} */ expandItem(entity: UmbEntityExpansionEntryModel): Promise; /** * Closes a child tree item * @param {UmbEntityModel} entity The entity to close * @param {string} entity.entityType The entity type * @param {string} entity.unique The unique key * @memberof UmbTreeExpansionManager * @returns {Promise} */ collapseItem(entity: UmbEntityModel): Promise; /** * Closes all child tree items * @memberof UmbTreeExpansionManager * @returns {Promise} */ collapseAll(): Promise; /** * Gets a tree item from the expansion state * @param {UmbEntityModel} entity The entity to get * @param {string} entity.entityType The entity type * @param {string} entity.unique The unique key * @returns {*} {(Promise)} * @memberof UmbEntityExpansionManager */ getItem(entity: UmbEntityModel): Promise; }