import { UmbControllerBase } from '../../../../libs/class-api/index.js'; import type { UmbApi } from '../../../../libs/extension-api/index.js'; /** * A tree-level action, rendered in the tree's header to operate on the tree as a whole. */ export interface UmbTreeAction extends UmbApi { /** * The href location, the action will act as a link. * @returns {undefined | Promise} */ getHref?: () => Promise; /** * Determine if the UI should indicate that more options will appear when interacting with this. * @returns {undefined | Promise} */ hasAdditionalOptions?: () => Promise; /** * The `execute` method, the action will act as a button. * @returns {Promise} */ execute(): Promise; } /** * Base class for {@link UmbTreeAction} implementations. */ export declare abstract class UmbTreeActionBase extends UmbControllerBase implements UmbTreeAction { abstract execute(): Promise; }