import { LitElement, PropertyValues, TemplateResult } from "lit";
import { RulesConfig } from "../index";
import { Asset, AssetTypeInfo, RuleActionUpdateAttribute, RuleActionWriteAttribute, AssetQuery } from "@openremote/model";
import "@openremote/or-attribute-input";
declare const OrRuleActionAttribute_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 LitElement;
export declare class OrRuleActionAttribute extends OrRuleActionAttribute_base {
    static get styles(): import("lit").CSSResult;
    action: RuleActionWriteAttribute | RuleActionUpdateAttribute;
    targetTypeMap?: [string, string?][];
    readonly?: boolean;
    config?: RulesConfig;
    assetInfos?: AssetTypeInfo[];
    assetProvider: (type: string, query?: AssetQuery) => Promise<Asset[] | undefined>;
    protected _cache?: {
        query: AssetQuery;
        assets: Asset[];
    };
    protected _selected?: Asset;
    protected _loading: boolean;
    shouldUpdate(changedProps: PropertyValues): boolean;
    refresh(): void;
    protected _getAssetType(): string | undefined;
    protected render(): TemplateResult<1>;
    protected set _assetId(assetId: string | undefined);
    protected setActionAttributeName(name: string | undefined): void;
    protected setActionAttributeValue(value: any): 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<Asset[] | undefined>;
}
export {};
//# sourceMappingURL=or-rule-action-attribute.d.ts.map