import type { UmbEntityExpansionEntryModel, UmbEntityExpansionModel } from './types.js'; import { UmbControllerBase } from '../../../../libs/class-api/index.js'; import { UmbArrayState, type Observable } from '../../../../libs/observable-api/index.js'; /** * Manages an expansion state * @exports * @class UmbEntityExpansionManager * @augments {UmbControllerBase} */ export declare class UmbEntityExpansionManager extends UmbControllerBase { protected _expansion: UmbArrayState; expansion: Observable; /** * Checks if an entity is expanded * @param {EntryModelType} entity The entity to check * @returns {Observable} True if the entity is expanded * @memberof UmbEntityExpansionManager */ isExpanded(entity: EntryModelType): Observable; /** * Observe the expansion entry for a specific entity * @param {EntryModelType} entity The entity to observe * @returns {Observable} An observable of the expansion entry * @memberof UmbEntityExpansionManager */ entry(entity: EntryModelType): Observable; /** * Sets the expansion state * @param {UmbEntityExpansionModel | undefined} expansion The expansion state * @memberof UmbEntityExpansionManager * @returns {void} */ setExpansion(expansion: UmbEntityExpansionModel): void; /** * Gets the expansion state * @memberof UmbEntityExpansionManager * @returns {UmbEntityExpansionModel} The expansion state */ getExpansion(): UmbEntityExpansionModel; /** * Expands an entity * @param {EntryModelType} entity The entity to open * @memberof UmbEntityExpansionManager * @returns {Promise} */ expandItem(entity: EntryModelType): Promise; /** * Expands multiple entities * @param {UmbEntityExpansionModel} entities The entities to open * @memberof UmbEntityExpansionManager * @returns {void} */ expandItems(entities: UmbEntityExpansionModel): void; /** * Collapses an entity * @param {EntryModelType} entry The entity to open * @memberof UmbEntityExpansionManager * @returns {Promise} */ collapseItem(entry: EntryModelType): Promise; /** * Collapses multiple entities * @param {UmbEntityExpansionModel} entries The entities to close * @memberof UmbEntityExpansionManager * @returns {void} */ collapseItems(entries: UmbEntityExpansionModel): void; /** * Collapses all expanded entities * @memberof UmbEntityExpansionManager * @returns {Promise} */ collapseAll(): Promise; /** * Gets an item from the expansion state * @param {EntryModelType} entity The entity to get * @returns {*} {(Promise)} * @memberof UmbEntityExpansionManager */ getItem(entity: EntryModelType): Promise; }