import { AttributePicker, AttributePickerPickedEvent } from "./attribute-picker"; import { type Asset, type Attribute, type AttributeRef } from "@openremote/model"; import type { OrAssetTreeSelectionEvent } from "@openremote/or-asset-tree"; /** * Custom Event that is dispatched upon closing the dialog. * Contains a list of {@link AttributeRef} of the selected attributes. */ export declare class OrAssetAttributePickerPickedEvent extends AttributePickerPickedEvent { static readonly NAME = "or-asset-attribute-picker-picked"; constructor(attrRefs: AttributeRef[]); } declare global { export interface HTMLElementEventMap { [OrAssetAttributePickerPickedEvent.NAME]: OrAssetAttributePickerPickedEvent; } } /** * The "Attribute Picker" component using the {@link OrAssetTree} component for selecting assets and its attributes. * * @attribute {object} attributeFilter - Callback method for consumers to filter the attribute list shown. Returning true will make the attribute visible, returning false hides it. */ export declare class OrAssetAttributePicker extends AttributePicker { attributeFilter?: (attribute: Attribute) => boolean; protected _assetAttributes?: Attribute[]; selectedAssets: string[]; selectedAttributes: AttributeRef[]; protected _asset?: Asset; setAttributeFilter(attributeFilter: ((attribute: Attribute) => boolean) | undefined): this; setSelectedAssets(selectedAssets: string[]): this; setSelectedAttributes(selectedAttributes: AttributeRef[]): this; protected _setDialogActions(): void; protected _setDialogContent(): void; /** * Event callback function that is triggered once a user selects an asset. * It fetches the attributes of that specific asset, and caches these to be displayed later. * Also applies the filtering such as {@link showOnlyDatapointAttrs}, {@link showOnlyRuleStateAttrs} and {@link attributeFilter} if set. */ protected _onAssetSelectionChanged(event: OrAssetTreeSelectionEvent): Promise; /** * HTML Callback function when the selected attributes have been updated. * * @remarks * The {@link attrNames} parameter contains a list of attribute names VISIBLE in the list. * So, selected attributes of other assets, will merge together with the new {@link attrNames}. */ protected _onAttributesSelect(attrNames: string[]): void; } //# sourceMappingURL=asset-attribute-picker.d.ts.map