import { type CSSResult, type PropertyValues, type TemplateResult } from "lit"; import { OrElement } from "@openremote/or-element"; import { type Asset, type AssetDescriptor, type Attribute, type AttributeRef } from "@openremote/model"; import "@openremote/or-translate"; export interface AttributeAction { icon: string; tooltip: string; active: boolean; disabled: boolean; color?: string; } export declare class AttributeActionEvent extends CustomEvent<{ asset: Asset; attributeRef: AttributeRef; action: AttributeAction; }> { static readonly NAME = "attribute-action"; constructor(asset: Asset, attributeRef: AttributeRef, action: AttributeAction); } export declare class AttributesSelectEvent extends CustomEvent<{ assets: Asset[]; attributeRefs: AttributeRef[]; }> { static readonly NAME = "attribute-select"; constructor(assets: Asset[], attributeRefs: AttributeRef[]); } export declare class AttributeReplaceEvent extends CustomEvent<{ oldRef: AttributeRef; newRef: AttributeRef; }> { static readonly NAME = "attribute-replace"; constructor(oldRef: AttributeRef, newRef: AttributeRef); } export declare class AttributesPanel extends OrElement { attributeRefs: AttributeRef[]; multi: boolean; onlyDataAttrs: boolean; includePredictedDataAttrs: boolean; protected attributeFilter?: (attribute: Attribute) => boolean; protected attributeIconCallback?: (asset: Asset, attribute: Attribute, descriptor?: AssetDescriptor) => TemplateResult; protected attributeLabelCallback?: (asset: Asset, attribute: Attribute, attributeLabel: string) => TemplateResult; protected attributeActionCallback?: (attribute: AttributeRef) => AttributeAction[]; protected loadedAssets: Asset[]; protected _assetsLoading: boolean; static get styles(): CSSResult[]; protected willUpdate(changedProps: PropertyValues): void; protected getLoadedAsset(attrRef: AttributeRef): Asset | undefined; protected removeWidgetAttribute(attributeRef: AttributeRef): void; protected replaceWidgetAttribute(oldRef: AttributeRef): void; protected loadAssets(): Promise; fetchAssets(attributeRefs?: AttributeRef[]): Promise; protected onAttributeActionClick(asset: Asset, attributeRef: AttributeRef, action: AttributeAction): void; protected openAttributeSelector(attributeRefs: AttributeRef[], multi: boolean, onlyDataAttrs?: boolean, attributeFilter?: (attribute: Attribute) => boolean): void; protected render(): TemplateResult; protected _getAttributeActionsTemplate(asset: Asset, attributeRef: AttributeRef): TemplateResult; protected _getBrokenAttributeActionsTemplate(attributeRef: AttributeRef): TemplateResult; protected _getAttributeActionTemplate(action: AttributeAction, asset: Asset, attributeRef: AttributeRef): TemplateResult; } //# sourceMappingURL=attributes-panel.d.ts.map