import { LitElement, TemplateResult } from 'lit'; import '../shared/lit-select.js'; import '../shared/lit-input.js'; import '../shared/lit-responsive-button.js'; import '../shared/lit-button.js'; import '../shared/lit-icon-button.js'; import '../shared/lit-date-picker.js'; import { FieldType, Operator } from '../utils/getOperatorByType.js'; export interface FilterField { value: string; label: string; type: FieldType; valueOptions?: { value: string; label: string; }[]; } export interface FilterOperator { value: string; label: string; supportedTypes: FieldType[]; } export interface FilterCondition { id: string; field: string; operator: Operator | string; value: string | number | boolean; isVariableMode?: boolean; } export interface FilterGroup { id: string; logicOperator: 'AND' | 'OR'; conditions: FilterCondition[]; } export interface LitFilterBuilderData { filterGroups: FilterGroup[]; groupLogicOperator: 'AND' | 'OR'; } export declare class LitFilterBuilder extends LitElement { data: LitFilterBuilderData; fields: FilterField[]; variables: { value: string; label: string; }[]; disabled: boolean; locale: string; private _generateConditionId; private _generateGroupId; private _getDefaultValueForType; static styles: import("lit").CSSResult; private _getFieldOptions; private _getOperatorOptions; private _getConjunctionOptions; private _getSelectedField; private _addGroup; private _removeGroup; private _addCondition; private _removeCondition; private _updateCondition; private _updateGroupLogicOperator; private _updateGlobalLogicOperator; private _toggleVariableMode; private _handleVariableSelect; private _handleValueChangeWithVariableDetection; private _handleFieldChange; private _handleOperatorChange; private _handleValueChange; private _handleLogicOperatorChange; private _handleGlobalLogicOperatorChange; private _dispatchChangeEvent; private _renderValueInput; private _renderCondition; private _renderGroup; render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'lit-filter-builder': LitFilterBuilder; } }