import type { UmbTreeItemModel } from '../../types.js'; import { UmbControllerBase } from '../../../../../libs/class-api/index.js'; export interface UmbTableTreeViewRowChangeCallbacks { onNoAccessChange: () => void; onPathChange: () => void; onActiveChange: () => void; } /** * Owns the per-row resources of a table tree view: the element-backed host that * provides the entity and tree-item-api contexts onto the row, the api itself, * and the observers that track the row's access, path and active state. * * Destroying the controller tears down everything it owns in a single call. */ export declare class UmbTableTreeViewRowController extends UmbControllerBase { #private; get currentNoAccess(): boolean; get currentPath(): string; get currentIsActive(): boolean; constructor(element: HTMLElement, entityType: string | undefined, unique: string, treeItem: UmbTreeItemModel | undefined); /** * Starts observing the api. Call this only after the controller has been * registered by its owner, so the synchronous initial emissions can resolve * the controller while updating the row. * @param {UmbTableTreeViewRowChangeCallbacks} callbacks - invoked when the observed values change. */ observeApi(callbacks: UmbTableTreeViewRowChangeCallbacks): void; setItem(entityType: string | undefined, unique: string, treeItem: UmbTreeItemModel | undefined): void; destroy(): void; }