import { Enums } from '../extensibility';
import { ICSOMPeoplePickerPrincipal } from "./ICSOMPeoplePickerPrincipal";
export interface ITargetingDefinitionMembershipMapping {
    title?: string;
    group?: ICSOMPeoplePickerPrincipal;
}
export interface ITargetingDefinitionFilter {
    id?: string;
    type?: Enums.TargetingDefinitionFilterType;
    displayName?: string;
    userProfileProperty?: string;
    termStoreId?: string;
    termGroupId?: string;
    termSetId?: string;
    includeChildTerms?: boolean;
    membershipMappings?: Array<ITargetingDefinitionMembershipMapping>;
    required?: boolean;
    defaultValue?: Array<any>;
    mappingTitle?: string;
    mappingGroup?: Array<ICSOMPeoplePickerPrincipal>;
}
export interface ITargetingDefinitionConditionMapping {
    firstFilterId?: string;
    secondFilterId?: string;
    conditionOperator?: Enums.TargetingDefinitionConditionOperator;
}
export interface ITargetingDefinition {
    id?: string;
    title?: string;
    filters?: Array<ITargetingDefinitionFilter>;
    conditions?: Array<ITargetingDefinitionConditionMapping>;
    isDeleting?: boolean;
}
export interface ITargetingFilter {
    targetingDefinition?: ITargetingDefinition;
    filterValues?: {
        [filterId: string]: Array<string>;
    };
}
export interface ITargetingValue {
    value?: any;
    plainValue?: string;
}
