import { FilterOperationDataType, FilterOperationMapping, FilterOperationValueType } from './OperationMapping'; export interface IFilterConfigStringOneOfOperator { type: 'string'; operator: FilterOperationMapping['string'][number]; value: string[]; } export interface IFilterConfigNumberOperators { type: 'number'; operator: FilterOperationMapping['number'][number]; value: number; } export interface IFilterConfigBooleanOperators { type: 'boolean'; operator: FilterOperationMapping['boolean'][number]; value: boolean; } export interface IFilterConfigArrayStringOperators { type: 'Array'; operator: FilterOperationMapping['Array'][number]; value: string[]; } export interface IFilterConfigArrayBooleanOperators { type: 'Array'; operator: FilterOperationMapping['Array'][number]; value: boolean[]; } export interface IFilterConfigArrayNumberOperators { type: 'Array'; operator: FilterOperationMapping['Array'][number]; value: number[]; } export type IFilterConfigOperators = IFilterConfigStringOneOfOperator | IFilterConfigNumberOperators | IFilterConfigBooleanOperators | IFilterConfigArrayStringOperators | IFilterConfigArrayBooleanOperators | IFilterConfigArrayNumberOperators; export interface IFilterConfig { successFilters: Record[]; } export interface IFilterConfigOperatorsDTO { type: FilterOperationDataType; operator: string; value: FilterOperationValueType; }