import type { UmbTreeItemModel } from '../types.js'; import { UMB_TREE_CONTEXT } from '../tree.context.token.js'; import type { UmbTreeItemApi } from './tree-item-api.interface.js'; import { UmbBooleanState, UmbObjectState } from '../../../../libs/observable-api/index.js'; import { UmbContextBase } from '../../../../libs/class-api/index.js'; import type { UmbControllerHost } from '../../../../libs/controller-api/index.js'; import type { UmbEntityModel, UmbEntityUnique } from '../../entity/index.js'; import type { ManifestBase } from '../../../../libs/extension-api/index.js'; /** * Abstract base for tree item apis. Handles item data, selection, active state, * path, and entity actions — without children, expansion, or pagination. * * Provides itself as `UMB_TREE_ITEM_BASE_CONTEXT` so entity action conditions * can discover a tree item regardless of which tree view is active. */ export declare abstract class UmbTreeItemApiContextBase extends UmbContextBase implements UmbTreeItemApi { #private; unique: UmbEntityUnique | undefined; entityType: string | undefined; get manifest(): ManifestType | undefined; set manifest(value: ManifestType | undefined); protected _treeContext?: typeof UMB_TREE_CONTEXT.TYPE; /** Exposes the tree context consumer so subclasses can call `.asPromise()` on it. */ protected readonly _treeContextConsumer: import("../../../../libs/context-api/index.js").UmbContextConsumerController, import("../tree.context.interface.js").UmbTreeContext>; protected readonly _treeItem: UmbObjectState; readonly treeItem: import("rxjs").Observable; protected readonly _isSelectable: UmbBooleanState; readonly isSelectable: import("rxjs").Observable; readonly isSelectableContext: import("rxjs").Observable; protected readonly _isSelected: UmbBooleanState; readonly isSelected: import("rxjs").Observable; protected readonly _isActive: UmbBooleanState; readonly isActive: import("rxjs").Observable; readonly hasChildren: import("rxjs").Observable; readonly hasActiveDescendant: import("rxjs").Observable; readonly noAccess: import("rxjs").Observable; readonly hasActions: import("rxjs").Observable; protected readonly _selectOnly: UmbBooleanState; readonly selectOnly: import("rxjs").Observable; readonly path: import("rxjs").Observable; /** Public accessor for the tree context. Kept public for backward compatibility. */ get treeContext(): typeof UMB_TREE_CONTEXT.TYPE | undefined; constructor(host: UmbControllerHost); setTreeItem(item: TreeItemType | undefined): void; getTreeItem(): TreeItemType | undefined; getPath(): string; getAscending(): Array | undefined; protected _observeIsSelectable(): void; protected _observeIsSelected(): void; protected _observeSelectOnly(): void; /** * Hook called when the tree context is received or changes. Subclasses can override to add additional observations. * @param _context */ protected _onTreeContextChanged(_context: typeof UMB_TREE_CONTEXT.TYPE): void; open(): void; select(): void; deselect(): void; constructPath(pathname: string, entityType: string, unique: string | null): string; destroy(): void; }