/* eslint-disable @typescript-eslint/no-explicit-any */ import { FilterTargetType, Operator, OperatorCreiteria } from "../../enum"; import { ValueLoadType } from "../../type"; export type AdvancedSearchData = { appliedQuery: { criteria: string; filters: FilterExpression[] }; filterRows: FilterExpressionViewModel[]; criteria: string; }; export type FilterExpression = { id: string; propertyToFilter: FilterTarget; operator: { label: string; value: Operator | null }; value?: FilterValue | FilterValue[]; selectedCriteria: OperatorCreiteria; }; export type FilterTarget = { label: string; value: any; apiPropertyName: string; dataProvider?: { key?: string; value?: FilterValue | FilterValue[]; valueLoadType: ValueLoadType; }; type: FilterTargetType; }; export type FilterValue = | { label: string; value: any } | string | number | Date | boolean; export type FilterExpressionViewModel = { id: string; idLabel: string; allPropertieseToFilter: FilterTarget[]; alloperators: { label: string; value: Operator | null }[]; allValues?: FilterValue[] | FilterValue; selectedFilter: FilterExpression; };