/**
* @license Copyright © HatioLab Inc. All rights reserved.
*/
import '@operato/input/ox-buttons-radio.js';
import '@operato/input/ox-input-code.js';
import '@operato/i18n/ox-i18n.js';
import '@operato/help/ox-help-icon.js';
import './data-binding-value-map.js';
import './data-binding-value-range.js';
import { LitElement, PropertyValues } from 'lit';
import { Properties, Scene } from '@hatiolab/things-scene';
export type Rule = {
map?: Properties;
range?: Properties[];
eval?: string;
scale?: {
scale: number;
offset: number;
};
} | any;
export type Mapping = {
source?: string;
rule: 'map' | 'range' | 'scale' | 'eval' | 'value';
accessor?: string;
target?: string;
property?: string;
param?: Rule;
ndnsp?: boolean;
partial?: boolean;
};
/**
element for mapping data value editing
Example:
*/
export declare class DataBindingMapper extends LitElement {
static styles: import("lit").CSSResult[];
mapping: Mapping;
rule: Rule;
properties: Properties[];
scene?: Scene;
_valueTypes: any;
_componentIds: {
value: string;
description: string;
}[];
editor: HTMLInputElement;
source: HTMLInputElement;
target: HTMLInputElement;
firstUpdated(): void;
updated(changes: PropertyValues): void;
findComponentIds(): void;
render(): import("lit-html").TemplateResult<1>;
_valuetype(property: string): any;
private _keep_saved_rule_params;
_onChangedMapping(): Promise;
_onChangeRule(e: Event): void;
_onChange(e: Event): void;
}