import type { UmbPropertyEditorConfigCollection } from '../../config/index.js'; import type { UmbPropertyEditorUiElement } from '../../extensions/property-editor-ui-element.interface.js'; import { UmbLitElement } from '../../../lit-element/index.js'; import type { UmbReferenceByUnique } from '../../../models/index.js'; /** * The value of a start-node-access property editor: either unrestricted ("root") access, or access * limited to the given set of start nodes. */ export type UmbStartNodeAccessValue = { rootAccess: boolean; startNodes: Array; }; /** * Abstract base for a property editor UI that offers either unrestricted ("root") access or access * limited to a set of picked start nodes, toggled by a single boolean. * * Subclasses only need to implement `renderPicker()`, rendering the entity-specific input bound to * `_selection`/`_onPick` and forwarding `readonly`/`_min`/`_max`. */ export declare abstract class UmbStartNodeAccessPropertyEditorUiElementBase extends UmbLitElement implements UmbPropertyEditorUiElement { #private; /** * Sets the input to readonly mode, meaning the value cannot be changed but the toggle and picker can still be read. * @type {boolean} * @attr * @default false */ readonly: boolean; /** * The current start-node-access value. * @type {UmbStartNodeAccessValue} */ set value(value: UmbStartNodeAccessValue | undefined); get value(): UmbStartNodeAccessValue; /** * The property editor config. Reads the `rootAccessLabel` alias for the root-access toggle label, and the * `validationLimit` alias (`{min, max}`) forwarded to the picker as selection limits. * @type {UmbPropertyEditorConfigCollection} */ set config(config: UmbPropertyEditorConfigCollection | undefined); protected _rootAccess: boolean; protected _startNodes: Array; private _rootAccessLabel; protected _min: number; protected _max: number; protected get _selection(): Array; /** * Renders the entity-specific picker, shown whenever root access is off. Implementations should * bind their selection to `_selection`, forward `readonly`/`_min`/`_max`, and call `_onPick` on change. */ protected abstract renderPicker(): unknown; protected _onPick(selection: Array): void; render(): import("lit-html").TemplateResult<1>; static readonly styles: import("lit").CSSResult[]; }