import { LitElement, TemplateResult } from 'lit'; import '../shared/lit-icon.js'; import '../shared/lit-select.js'; import '../shared/lit-input.js'; import '../shared/lit-date-picker.js'; import '../shared/lit-button.js'; import '../shared/lit-icon-button.js'; import { Operator } from '../utils/getOperatorByType.js'; import type { Column } from './lit-data-grid-tanstack.js'; export type GridFilterItem = { field: string; operator: Operator; value?: any; }; export type GridFilterData = { logicOperator: 'and' | 'or'; items: GridFilterItem[]; }; export type LitFilterModalProp = { columns: Column[]; filterData: GridFilterData; onFilterChange?: (filterData: GridFilterData) => void; }; export declare class LitFilterModal extends LitElement { columns: Column[]; filterData: GridFilterData; onFilterChange: ((filterData: GridFilterData) => void) | undefined; protected firstUpdated(): void; private getOperatorsForField; private initializeDefaultFilterValues; private createNewFilterData; private addFilterRow; private removeFilterRow; private removeAll; private updateFilterData; private handleLogicOperatorChange; private handleFieldChange; private handleOperatorChange; private handleValueChange; private clearDatePicker; private renderFilterRows; static styles: import("lit").CSSResult[]; private renderFilterRow; private renderValueInput; protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'lit-filter-modal': LitFilterModal; } }