import { EMicroServiceNames } from "../../micro-services/index.js"; export declare enum EUsedDefaultGroupingKeys { START_DATE = "startDate", DEPARTMENT = "department", DIVISION = "division", REGION = "region", POSITION = "position", GENDER = "gender", COUNTRY = "country", CITY = "city", DATE_OF_BIRTH = "dateOfBirth", LANGUAGE = "language" } export declare enum EExcludedDefaultGroupingKeys { MOBILE_NUMBER = "mobileNumber", WORK_PHONE_NUMBER = "workPhoneNumber" } export declare enum EGroupingUsageType { PAGE = "page", UPDATE = "update", FORM = "form" } export declare enum EGroupingType { ONCE_OFF = "once-off", SAVED = "saved", SYSTEM = "system" } export declare enum EGroupingBaseDefaultTypes { SYSTEM = "system" } export declare enum EGroupingBaseSubTypes { ALL = "all" } export declare enum EQueryOperators { IN = "IN" } export declare enum EQueryCondition { AND = "AND", OR = "OR" } export interface ISaveRequestBody { groupingName?: string | null; groupingType: EGroupingType; origin: EMicroServiceNames; groupingDescription?: string | null; onceOffContentId?: string | null; audience?: string[]; } export interface IBaseQuery { mainCondition: EQueryCondition; queries: IQuery[]; save?: ISaveRequestBody; } export interface IQueryRule { not: boolean; field: string; operator: EQueryOperators; value: string[]; } export interface IQuery { condition: EQueryCondition; rules: IQueryRule[]; } export interface IGroupingAttrs { _id?: string; feedIdentity: string; onceOffContentId: string | null; groupingType?: EGroupingType; tenant: string; version?: number; } export interface IGrouping { id: string; feedIdentity: string; onceOffContentId: string | null; groupingType: EGroupingType; tenant: string; version: number; } //# sourceMappingURL=interfaces.d.ts.map