import type { TemplateResult } from 'lit-html'; import type { I18n } from '../I18n/I18n'; export declare enum Type { NameValuePair = "name_value_pair", Attribute = "attribute", Boolean = "boolean", String = "string", Number = "number", Date = "date", Any = "any" } export declare enum Operator { LessThanOrEqual = "lessthanorequal", LessThan = "lessthan", GreaterThanOrEqual = "greaterthanorequal", GreaterThan = "greaterthan", IsDefined = "isdefined", Not = "not", In = "in" } export declare type Option = { group?: { name: string; layout?: string; }; label: string; list?: ({ value: string; } & ({ label: string; } | { rawLabel: string; }))[]; path: string; type: Type; min?: number | string; }; export declare type Rule = { operator: Operator | null; invalid?: boolean; value: string; name?: string; path: string; }; export declare type SimpleRuleComponent = (params: { disabled: boolean; readonly: boolean; option: Option; rule: Rule | undefined; t: I18n['t']; onChange: (newValue: Partial> | null) => void; }) => TemplateResult; export declare type ConditionalOperator = { type: Operator; paths: string[]; };