/*! * Copyright (C) Microsoft Corporation. All rights reserved. */ interface BooleanManagedProperty { CanBeChanged: boolean; ManagedPropertyLogicalName: string; Value: boolean; } declare const entityClusterModeEnum: { readonly 0: "Partitioned"; readonly 1: "Replicated"; readonly 2: "Local"; }; type EntityClusterMode = keyof typeof entityClusterModeEnum; export declare function getEntityClusterModeName(value: EntityClusterMode): "Partitioned" | "Replicated" | "Local"; declare const ownershipTypeEnum: { readonly 0: "None"; readonly 1: "UserOwned"; readonly 2: "TeamOwned"; readonly 4: "BusinessOwned"; readonly 8: "OrganizationOwned"; readonly 16: "BusinessParented"; readonly 32: "Filtered"; }; type OwnershipType = keyof typeof ownershipTypeEnum; export declare function getOwnershipTypeName(value: OwnershipType): "None" | "UserOwned" | "TeamOwned" | "BusinessOwned" | "OrganizationOwned" | "BusinessParented" | "Filtered"; interface LocalizedLabel { HasChanged: boolean; IsManaged: boolean; Label: string; LanguageCode: number; MetadataId: string; } interface Label { LocalizedLabels: LocalizedLabel[]; UserLocalizedLabel: LocalizedLabel; } declare const privilegeTypeEnum: { readonly 0: "None"; readonly 1: "Create"; readonly 2: "Read"; readonly 3: "Write"; readonly 4: "Delete"; readonly 5: "Assign"; readonly 6: "Share"; readonly 7: "Append"; readonly 8: "AppendTo"; }; type PrivilegeType = keyof typeof privilegeTypeEnum; export declare function getPrivilegeTypeName(value: PrivilegeType): "None" | "Create" | "Read" | "Write" | "Delete" | "Assign" | "Share" | "Append" | "AppendTo"; interface SecurityPrivilegeMetadata { CanBeBasic: boolean; CanBeDeep: boolean; CanBeEntityReference: boolean; CanBeGlobal: boolean; CanBeLocal: boolean; CanBeParentEntityReference: boolean; CanBeRecordFilter: boolean; Name: string; PrivilegeId: string; PrivilegeType: PrivilegeType; } interface EntitySetting { ChildSettings: EntitySetting[]; Name: string; } export interface EntityMetadataSelects { ActivityTypeMask: number; AutoCreateAccessTeams: boolean; AutoReplicateClusterRecords: boolean; AutoRouteToOwnerQueue: boolean; CanBeInCustomEntityAssociation: BooleanManagedProperty; CanBeInManyToMany: BooleanManagedProperty; CanBePrimaryEntityInRelationship: BooleanManagedProperty; CanBeRelatedEntityInRelationship: BooleanManagedProperty; CanChangeClusterMode: boolean; CanChangeHierarchicalRelationship: BooleanManagedProperty; CanChangeTrackingBeEnabled: BooleanManagedProperty; CanCreateAttributes: BooleanManagedProperty; CanCreateCharts: BooleanManagedProperty; CanCreateForms: BooleanManagedProperty; CanCreateViews: BooleanManagedProperty; CanEnableSyncToExternalSearchIndex: BooleanManagedProperty; CanModifyAdditionalSettings: BooleanManagedProperty; CanTriggerWorkflow: boolean; ChangeTrackingEnabled: boolean; ClusterMode: EntityClusterMode; CollectionSchemaName: string; CreatedOn: number; DataProviderId: string; DataSourceId: string; DaysSinceRecordLastModified: number; Description: Label; DisplayCollectionName: Label; DisplayName: Label; EnforceStateTransitions: boolean; EntityColor: string; EntityHelpUrl: string; EntityHelpUrlEnabled: boolean; EntitySetName: string; ExternalCollectionName: string; ExternalName: string; HasActivities: boolean; HasChanged: boolean; HasEmailAddresses: boolean; HasFeedback: boolean; HasNotes: boolean; IconLargeName: string; IconMediumName: string; IconSmallName: string; IconVectorName: string; IntroducedVersion: string; IsActivity: boolean; IsActivityParty: boolean; IsAIRUpdated: boolean; IsArchivalEnabled: boolean; IsAuditEnabled: BooleanManagedProperty; IsAvailableOffline: boolean; IsBPFEntity: boolean; IsBusinessProcessEnabled: boolean; IsChildEntity: boolean; IsConnectionsEnabled: BooleanManagedProperty; IsCustomEntity: boolean; IsCustomizable: BooleanManagedProperty; IsDocumentManagementEnabled: boolean; IsDocumentRecommendationsEnabled: boolean; IsDuplicateDetectionEnabled: BooleanManagedProperty; IsEnabledForCharts: boolean; IsEnabledForExternalChannels: boolean; IsEnabledForTrace: boolean; IsImportable: boolean; IsInteractionCentricEnabled: boolean; IsIntersect: boolean; IsKnowledgeManagementEnabled: boolean; IsLogicalEntity: boolean; IsMailMergeEnabled: BooleanManagedProperty; IsManaged: boolean; IsMappable: BooleanManagedProperty; IsMSTeamsIntegrationEnabled: boolean; IsOfflineInMobileClient: BooleanManagedProperty; IsOneNoteIntegrationEnabled: boolean; IsOptimisticConcurrencyEnabled: boolean; IsPrivate: boolean; IsQuickCreateEnabled: boolean; IsReadingPaneEnabled: boolean; IsReadOnlyInMobileClient: BooleanManagedProperty; IsRenameable: BooleanManagedProperty; IsRetentionEnabled: boolean; IsRetrieveAuditEnabled: boolean; IsRetrieveMultipleAuditEnabled: boolean; IsSLAEnabled: boolean; IsSolutionAware: boolean; IsStateModelAware: boolean; IsValidForAdvancedFind: boolean; IsValidForQueue: BooleanManagedProperty; IsVisibleInMobile: BooleanManagedProperty; IsVisibleInMobileClient: BooleanManagedProperty; LogicalCollectionName: string; LogicalName: string; MetadataId: string; MobileOfflineFilters: string; ModifiedOn: number; ObjectTypeCode: number; OwnerId: string; OwnerIdType: number; OwnershipType: OwnershipType; OwningBusinessUnit: string; PrimaryIdAttribute: string; PrimaryImageAttribute: string; PrimaryKey: string[]; PrimaryNameAttribute: string; Privileges: SecurityPrivilegeMetadata[]; RecurrenceBaseEntityLogicalName: string; ReportViewName: string; SchemaName: string; SettingOf: string; Settings: EntitySetting[]; SyncToExternalSearchIndex: boolean; TableType: string; UsesBusinessDataLabelTable: boolean; } declare const attributeTypeCodeEnum: { readonly 0: "Boolean"; readonly 1: "Customer"; readonly 2: "DateTime"; readonly 3: "Decimal"; readonly 4: "Double"; readonly 5: "Integer"; readonly 6: "Lookup"; readonly 7: "Memo"; readonly 8: "Money"; readonly 9: "Owner"; readonly 10: "PartyList"; readonly 11: "Picklist"; readonly 12: "State"; readonly 13: "Status"; readonly 14: "String"; readonly 15: "Uniqueidentifier"; readonly 16: "CalendarRules"; readonly 17: "Virtual"; readonly 18: "BigInt"; readonly 19: "ManagedProperty"; readonly 20: "EntityName"; }; type AttributeTypeCode = keyof typeof attributeTypeCodeEnum; type AttributeTypeCodeName = (typeof attributeTypeCodeEnum)[AttributeTypeCode]; export declare function getAttributeTypeCodeName(value: AttributeTypeCode): "Boolean" | "Customer" | "DateTime" | "Decimal" | "Double" | "Integer" | "Lookup" | "Memo" | "Money" | "Owner" | "PartyList" | "Picklist" | "State" | "Status" | "String" | "Uniqueidentifier" | "CalendarRules" | "Virtual" | "BigInt" | "ManagedProperty" | "EntityName"; interface AttributeTypeDisplayName { Value: `${AttributeTypeCodeName}Type`; } declare const attributeRequiredLevelEnum: { readonly 0: "None"; readonly 1: "SystemRequired"; readonly 2: "ApplicationRequired"; readonly 3: "Recommended"; }; type AttributeRequiredLevel = keyof typeof attributeRequiredLevelEnum; export declare function getAttributeRequiredLevelName(value: AttributeRequiredLevel): "None" | "SystemRequired" | "ApplicationRequired" | "Recommended"; interface AttributeRequiredLevelManagedProperty { CanBeChanged: boolean; ManagedPropertyLogicalName: string; Value: AttributeRequiredLevel; } interface AttributeMetadata { AttributeOf: string; AttributeType: AttributeTypeCode; AttributeTypeName: AttributeTypeDisplayName; AutoNumberFormat: string; CanBeSecuredForCreate: boolean; CanBeSecuredForRead: boolean; CanBeSecuredForUpdate: boolean; CanModifyAdditionalSettings: BooleanManagedProperty; ColumnNumber: number; CreatedOn: number; DeprecatedVersion: string; Description: Label; DisplayName: Label; EntityLogicalName: string; ExternalName: string; HasChanged: boolean; InheritsFrom: string; IntroducedVersion: string; IsAuditEnabled: BooleanManagedProperty; IsCustomAttribute: boolean; IsCustomizable: BooleanManagedProperty; IsDataSourceSecret: boolean; IsFilterable: boolean; IsGlobalFilterEnabled: BooleanManagedProperty; IsLogical: boolean; IsManaged: boolean; IsPrimaryId: boolean; IsPrimaryName: boolean; IsRenameable: BooleanManagedProperty; IsRequiredForForm: boolean; IsRetrievable: boolean; IsSearchable: boolean; IsSecured: boolean; IsSortableEnabled: BooleanManagedProperty; IsValidForAdvancedFind: BooleanManagedProperty; IsValidForCreate: boolean; IsValidForForm: boolean; IsValidForGrid: boolean; IsValidForRead: boolean; IsValidForUpdate: boolean; IsValidODataAttribute: boolean; LinkedAttributeId: string; LogicalName: string; MetadataId: string; ModifiedOn: number; RequiredLevel: AttributeRequiredLevelManagedProperty; SchemaName: string; Settings: EntitySetting[]; SourceType: number; } interface MetadataBase { HasChanged: boolean; MetadataId: string; } declare const relationshipTypeEnum: { readonly 0: "OneToManyRelationship"; readonly 1: "ManyToManyRelationship"; }; type RelationshipType = keyof typeof relationshipTypeEnum; export declare function getRelationshipTypeName(value: RelationshipType): "OneToManyRelationship" | "ManyToManyRelationship"; declare const securityTypesEnum: { readonly 0: "None"; readonly 1: "Append"; readonly 2: "ParentChild"; readonly 8: "Pointer"; readonly 16: "Inheritance"; }; type SecurityTypes = keyof typeof securityTypesEnum; export declare function getSecurityTypesName(value: SecurityTypes): "None" | "Append" | "ParentChild" | "Pointer" | "Inheritance"; interface RelationshipMetadataBase extends MetadataBase { IntroducedVersion: string; IsCustomizable: BooleanManagedProperty; IsCustomRelationship: boolean; IsManaged: boolean; IsValidForAdvancedFind: boolean; RelationshipType: RelationshipType; SchemaName: string; SecurityTypes: SecurityTypes; } declare const associatedMenuBehaviorEnum: { readonly 0: "UseCollectionName"; readonly 1: "UseLabel"; readonly 2: "DoNotDisplay"; }; type AssociatedMenuBehavior = keyof typeof associatedMenuBehaviorEnum; export declare function getAssociatedMenuBehaviorName(value: AssociatedMenuBehavior): "UseCollectionName" | "UseLabel" | "DoNotDisplay"; declare const associatedMenuGroupEnum: { readonly 0: "Details"; readonly 1: "Sales"; readonly 2: "Service"; readonly 3: "Marketing"; }; type AssociatedMenuGroup = keyof typeof associatedMenuGroupEnum; export declare function getAssociatedMenuGroupName(value: AssociatedMenuGroup): "Details" | "Sales" | "Service" | "Marketing"; interface AssociatedMenuConfiguration { AvailableOffline: boolean; QueryApi: string; Behavior: AssociatedMenuBehavior; Group: AssociatedMenuGroup; Icon: string; IsCustomizable: boolean; Label: Label; MenuId: string; Order: number; ViewId: string; } declare const cascadeTypeEnum: { readonly 0: "NoCascade"; readonly 1: "Cascade"; readonly 2: "Active"; readonly 3: "UserOwned"; readonly 4: "RemoveLink"; readonly 5: "Restrict"; }; type CascadeType = keyof typeof cascadeTypeEnum; export declare function getCascadeTypeName(value: CascadeType): "UserOwned" | "NoCascade" | "Cascade" | "Active" | "RemoveLink" | "Restrict"; interface CascadeConfiguration { Archive: CascadeType; Assign: CascadeType; Delete: CascadeType; Merge: CascadeType; Reparent: CascadeType; RollupView: CascadeType; Share: CascadeType; Unshare: CascadeType; } interface RelationshipAttribute { ReferencedAttributeName: string; ReferencingAttributeName: string; } interface OneToManyRelationshipMetadata extends RelationshipMetadataBase { AssociatedMenuConfiguration: AssociatedMenuConfiguration; CascadeConfiguration: CascadeConfiguration; DenormalizedAttributeName: string; EntityKey: string; IsDenormalizedLookup: boolean; IsHierarchical: boolean; IsRelationshipAttributeDenormalized: boolean; ReferencedAttribute: string; ReferencedEntity: string; ReferencedEntityNavigationPropertyName: string; ReferencingAttribute: string; ReferencingEntity: string; ReferencingEntityNavigationPropertyName: string; RelationshipAttributes: RelationshipAttribute[]; RelationshipBehavior: number; } interface ManyToManyRelationshipMetadata extends RelationshipMetadataBase { Entity1AssociatedMenuConfiguration: AssociatedMenuConfiguration; Entity1IntersectAttribute: string; Entity1LogicalName: string; Entity1NavigationPropertyName: string; Entity2AssociatedMenuConfiguration: AssociatedMenuConfiguration; Entity2IntersectAttribute: string; Entity2LogicalName: string; Entity2NavigationPropertyName: string; IntersectEntityName: string; } export interface EntityMetadataExpands { Attributes: AttributeMetadata[]; ManyToOneRelationships: OneToManyRelationshipMetadata[]; OneToManyRelationships: OneToManyRelationshipMetadata[]; ManyToManyRelationships: ManyToManyRelationshipMetadata[]; } export type EntityMetadata = EntityMetadataSelects & EntityMetadataExpands; type StringKeys = Extract; export interface GetEntityMetadataOptions { metadata?: ReadonlyArray; schema?: { columns?: 'all' | ReadonlyArray>; oneToMany?: boolean; manyToOne?: boolean; manyToMany?: boolean; }; } export type DataverseMetadataRequest = { action: 'getEntityMetadata'; parameters: { tableName: string; options?: GetEntityMetadataOptions; }; }; export {}; //# sourceMappingURL=dataverseMetadata.d.ts.map