import { GuidValue } from "@omnia/fx-models/internal-do-not-import-from-here/shared/models"; import { GroupIdentity } from "./identities"; /** * Used for filtering etc * */ export declare class TargetingPropertyType { static groupMembership: number; static userProfileProperty: number; static azureAdProperty: number; static groupIdentity: number; static userProperty: number; } export interface TargetingPropertyData { /** * Uses const values and not enum so new types might be defined by others * Use type value > 4096 for none built in types * For built in type any of TargetingPropertyType * */ type: number; title: string; } export interface TargetingProperty { id: GuidValue; data: T; enterprisePropertyDefinitionId: GuidValue; } export interface TargetingPropertyGroupMembershipData extends TargetingPropertyData { mappings: { [id: string]: Array; }; } export interface TargetingPropertyGroupIdentityData extends TargetingPropertyData { taxonomyToGroupMappings: { [id: string]: Array; }; } export interface TargetingPropertyUserProfilePropertyData extends TargetingPropertyData { property: string; } export interface TargetingPropertyAzureAdPropertyData extends TargetingPropertyData { property: string; } export interface TargetingPropertyUserPropertyData extends TargetingPropertyData { propertyBindingId: GuidValue; } export interface TargetingValue { id: GuidValue; parentId: GuidValue; parent: TargetingValue; } export interface TargetingPropertyQuery { enterprisePropertyDefinitionId: GuidValue; includeChildTerms: boolean; targetingPropertyIds: Array; } export interface TargetingPropertyResult { enterprisePropertyDefinitionId: GuidValue; internalName: string; values: Array; targetingPropertyValues: { [key: string]: Array; }; languages: string[]; } export interface TargetingPropertyFlatResult { enterprisePropertyDefinitionId: GuidValue; internalName: string; values: Array; includeChildTerms: boolean; languages: string[]; }