import { DateOperator, EnterprisePropertyDefinition, GuidValue, IVersionedDataIdentifier, MultilingualString, TimePeriodSettings } from "@omnia/fx-models"; import { PageId } from "."; import { ChildStructureType } from ".."; import { QueryFilter } from "../query"; import { PagePermissionInfo } from "./PagePermissionInfo"; import { PlainPageData } from "./PlainPageData"; import { DistributionChannelRule } from "./PageCollectionDistributionChannel"; export interface PageCreationSettings { creationDialogTitle: MultilingualString; showUrl: boolean; showProperties: boolean; autoPublish: boolean; } export interface ActivityPointSettings { enableActivityPoints: boolean; pointsPerActivity: { [id: number]: number; }; } export interface OpenAIPropertiesMapping { imgProp: string; summaryProp: string; textProp: string; } export interface PageCollectionData extends PlainPageData { availablePageTypes: Array; contentAnalysisRules: Array; pageCreationSettings: PageCreationSettings; activityPointSettings: ActivityPointSettings; enableNotificationReset: boolean; enableActivityTracking: boolean; enableSendPageEmail: boolean; automaticPageCreationRules: Array; distributionChannelRules?: Array; schedulingSettings: SchedulingSettings; breakPermissionInheritance: boolean; allowInvitationOfCoAuthors: boolean; enableAutoSubscription?: boolean; enablePublishingToChannel: boolean; yammerIntegrationRules: Array; overriddenPageTypeSettings?: OverriddenPageTypeSetting[]; taxonomyPropertyConnectionSettings: TaxonomyPropertyConnectionSettings; enableMandatoryChannels: boolean; enableOpenAISetting: boolean; openAIPropertiesMapping?: OpenAIPropertiesMapping; imgPropOpenAIRatioUniqueId?: GuidValue; semanticSearchEnabled: boolean; enableWCAGPageChecker?: boolean; overridePageNotificationEnabled?: boolean; /** * This property is used as inital value for creating Page Collection Navigation Node. * */ childStructureType?: ChildStructureType; } export interface AutomaticPageCreationRule { id: GuidValue; connectedTenantId: GuidValue; name: string; targetParentPageId: PageId; targetPageTypeId: PageId; matchCriterias: Array; reuseContentSettings: ReuseContentSettings; variationMappings: Array; autoPublish: boolean; } export interface ReuseContentSettings { propertyInternalNames: Array; enterprisePropertyInternalNameMapping: Array; mode: ReuseContentMode; } export declare enum ReuseContentMode { enableReuseContent = 0, copyOnCreation = 1 } export interface VariationMapping { sourceVariationId?: number; targetVariationId?: number; } export interface EnterprisePropertyInternalNameMapping { sourcePropertyInternalName: string; targetPropertyInternalName: string; } export interface SchedulingSettings { enableScheduling: boolean; schedulingEnterprisePropertyName: string; } export interface TaxonomyPropertyConnectionSettings { enableTaxonomyConnection: boolean; taxonomyConnectionEnterprisePropertyName: string; } export interface PageCollectionLayoutRefData extends PageCollectionData { layoutVersionedDataIdentifier: IVersionedDataIdentifier; } export interface PageCollectionPermissionData extends PageCollectionData { permissions?: PagePermissionInfo; } export interface CreatePageCollectionLayoutRefData extends PageCollectionLayoutRefData { urlSegment: string; childStructureType: ChildStructureType; } export interface YammerIntegrationRule { id: GuidValue; yammerGroupId: number; matchCriterias: Array; propertiesMapping: Record; } export declare enum YammerProperties { Title = "Title", Summary = "Summary", Content = "Content" } export interface OverriddenPageTypeSetting { pageTypeId: number; overriddenProperties: Array; } export interface ContentAnalysisSetting { id: number; properties: Array; } export interface OverriddenProperty { propertyId?: GuidValue; defaultValue?: any; calculatedFromProperty?: string; timePeriodSettingsForDefaultValue?: TimePeriodSettings; dateOperatorForDefaultValue?: DateOperator; readonly?: boolean; }