import { ISystemFilterConfig } from "./ISystemFilterConfig";
import { IUserFilterConfig } from "./IUserFilterConfig";
import { FilterOperand } from "./index";
import { DataType, UserInterface } from "@sankhyalabs/core";
export interface IPropertiesExpressionItem {
  name: string;
  value: any;
}
export interface IExpressionItem {
  id: string;
  entityName: string;
  fieldName: string;
  description: string;
  fieldLabel?: string;
  type?: DataType;
  userInterface?: UserInterface;
  expression: string;
  operand: keyof typeof FilterOperand;
  paramVariable: boolean;
  value: string;
  label?: string;
  props?: Array<IPropertiesExpressionItem>;
  systemConfig?: ISystemFilterConfig;
  userConfig?: IUserFilterConfig;
}
export interface IExpressionGroup {
  id: string;
  items: Array<IExpressionItem>;
  childrenGroups?: Array<IExpressionGroup>;
  operand: FilterGroupCondition;
}
export declare enum FilterGroupCondition {
  AND = "AND",
  OR = "OR"
}
