import { type PropertyValues } from "lit"; import { OrElement } from "@openremote/or-element"; import { type Asset, type AssetDescriptor, type AssetQuery, type AssetTypeInfo, type Attribute, type AttributeDescriptor, type AttributePredicate, type LogicGroup, type RuleCondition, type ValueDescriptor, type ValuePredicateUnion } from "@openremote/model"; import { AssetQueryOperator, type RulesConfig } from "../index"; import "@openremote/or-attribute-input"; import "./modals/or-rule-radial-modal"; import type { ComboBoxDataProviderCallback, ComboBoxDataProviderParams } from "@openremote/or-vaadin-components/or-vaadin-combo-box"; declare const OrRuleAssetQuery_base: (new (...args: any[]) => { _i18nextJustInitialized: boolean; _language: string; connectedCallback(): void; disconnectedCallback(): void; shouldUpdate(changedProps: PropertyValues): any; initCallback: (options: import("i18next").InitOptions) => void; langChangedCallback: () => void; readonly isConnected: boolean; }) & typeof OrElement; export declare class OrRuleAssetQuery extends OrRuleAssetQuery_base { condition: RuleCondition; readonly?: boolean; config?: RulesConfig; assetInfos?: AssetTypeInfo[]; assetProvider: (type: string, query?: AssetQuery) => Promise; protected _cache?: { query: AssetQuery; assets: Asset[]; }; protected _selected?: Asset; protected _loading: boolean; protected _queryOperatorsMap: { [type: string]: AssetQueryOperator[]; }; constructor(); refresh(): void; protected attributePredicateEditorTemplate(assetTypeInfo: AssetTypeInfo, asset: Asset | undefined, attributePredicate: AttributePredicate): import("lit").TemplateResult<1>; protected attributePredicateValueEditorTemplate(assetDescriptor: AssetDescriptor, asset: Asset | undefined, attributePredicate: AttributePredicate): import("lit").TemplateResult<1> | ""; protected attributeDurationTemplate(durationMap: Map, index: number, onAdd: (index: number) => void, onChange: (index: number, duration: string | undefined) => void): import("lit").TemplateResult<1>; static get styles(): import("lit").CSSResult; shouldUpdate(changedProps: PropertyValues): boolean; protected get query(): AssetQuery; /** * Returns a Map with all configured durations of a {@link RuleCondition}. * The number represents an index of the attribute array, and the string an ISO8601 duration expression. */ protected get duration(): Map; /** * Updates the duration property in {@link condition}, based on the {@link durationMap} parameter. * The number represents an index of the attribute array, and the string an ISO8601 duration expression. */ protected set duration(durationMap: Map); protected _assetDataProvider: import("lodash").DebouncedFunc<(params: ComboBoxDataProviderParams, callback: ComboBoxDataProviderCallback<{ value: any; label: string; }>) => void>; protected render(): import("lit").TemplateResult<1>; protected set _assetId(assetId: string | undefined); protected getAttributeName(attributePredicate: AttributePredicate): string | undefined; protected setAttributeName(attributePredicate: AttributePredicate, attributeName: string | undefined): void; protected getOperatorMapValue(operatorMap: { [type: string]: AssetQueryOperator[]; }, assetType?: string, attributeName?: string, _attributeDescriptor?: AttributeDescriptor, valueDescriptor?: ValueDescriptor): AssetQueryOperator[] | undefined; protected getOperators(_assetDescriptor: AssetDescriptor, attributeDescriptor: AttributeDescriptor | undefined, valueDescriptor: ValueDescriptor | undefined, _attribute: Attribute | undefined, attributeName: string): { value: any; label: string; }[]; protected getOperator(attributePredicate: AttributePredicate): string | undefined; protected updateDurationMap(index: number): void; protected setOperator(assetDescriptor: AssetDescriptor, attribute: Attribute | undefined, attributeName: string, attributePredicate: AttributePredicate, operator: string | undefined): void; protected get attributePredicate(): AttributePredicate | undefined; protected setValuePredicateProperty(valuePredicate: ValuePredicateUnion | undefined, propertyName: string, value: any): void; protected removeAttributePredicate(group: LogicGroup, attributePredicate: AttributePredicate): void; protected addAttributePredicate(group: LogicGroup): void; protected toggleAttributeGroup(group: LogicGroup): void; /** * Fetches assets using the {@link assetProvider} from the parent component. * This is often linked to the OpenRemote HTTP API to request assets from using an {@link AssetQuery} object. * @param type - The asset type name to filter by * @param search - The asset name to filter by (acts as a search) * @param idValue - Selected asset ID to query along * @protected */ protected loadAssets(type: string, search?: string, idValue?: string): Promise; } export {}; //# sourceMappingURL=or-rule-asset-query.d.ts.map