import { type TemplateResult } from "lit"; import "@openremote/or-asset-tree"; import "@openremote/or-translate"; import type { Attribute, AttributeDescriptor } from "@openremote/model"; import { type DialogAction, type DialogActionBase, OrMwcDialog } from "@openremote/or-mwc-components/or-mwc-dialog"; import type { OrVaadinButton } from "@openremote/or-vaadin-components/or-vaadin-button"; export declare abstract class AttributePickerPickedEvent extends CustomEvent { } /** * @summary Abstract implementation of the Attribute Picker UI. Wraps around OrMwcDialog and provides some utility properties and functions to inherit. * * @attribute {boolean} multiSelect - Whether selecting multiple attributes is allowed or not. * @attribute {boolean} showOnlyDatapointAttrs - Whether only attributes with the 'STORE_DATAPOINT' meta item should be shown. * @attribute {boolean} showOnlyRuleStateAttrs - Whether only attributes with the 'RULE_STATE' meta item should be shown. * @attribute {boolean} showPredictedDataAttrs - Whether attributes with the 'HAS_PREDICTED_DATA_POINTS' meta item should be shown. Composes additively with the other flags. * * @remarks This class is abstract */ export declare abstract class AttributePicker extends OrMwcDialog { protected abstract _setDialogContent(): void; protected abstract _setDialogActions(): void; multiSelect?: boolean; showOnlyDatapointAttrs?: boolean; showOnlyRuleStateAttrs?: boolean; showPredictedDataAttrs?: boolean; protected addBtn: OrVaadinButton; connectedCallback(): void; setShowOnlyDatapointAttrs(showOnlyDatapointAttrs: boolean | undefined): this; setShowOnlyRuleStateAttrs(showOnlyRuleStateAttrs: boolean | undefined): this; setShowPredictedDataAttrs(showPredictedDataAttrs: boolean | undefined): this; setMultiSelect(multiSelect: boolean | undefined): this; setOpen(isOpen: boolean): this; setHeading(heading: TemplateResult | string | undefined): this; setContent(_content: TemplateResult | (() => TemplateResult) | undefined): this; setActions(_actions: DialogAction[] | undefined): this; setDismissAction(_action: DialogActionBase | null | undefined): this; setStyles(_styles: string | TemplateResult | undefined): this; setAvatar(_avatar: boolean | undefined): this; /** * Convenient function to update the dialog content manually, * since updating the UI is handled different for {@link OrMwcDialog}. */ protected _updateDialogContent(): void; /** * Convenient function to update the dialog actions manually, * since updating the UI is handled different for {@link OrMwcDialog}. */ protected _updateDialogActions(): void; /** * Function that creates the HTML template for selecting attributes. * Currently uses {@link OrVaadinListBox} with or without checkboxes, and uses {@link Util.getAttributeLabel} to formulate the text. * * @remarks TODO: Move this template into a separate component, such as an "or-attribute-list" */ protected _getAttributesTemplate(attributes?: Attribute[], descriptors?: AttributeDescriptor[], selectedNames?: string[], multi?: boolean, onSelect?: (attrNames: string[]) => void): Promise; /** * Simple function that creates the CSS styles for this component */ protected _getStyles(): string; } //# sourceMappingURL=attribute-picker.d.ts.map