UNPKG

@microsoft/msgraph-beta-sdk

Version:
32,747 lines 1.73 MB
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
// @ts-ignore
import { createGroupFromDiscriminatorValue, createIdentitySetFromDiscriminatorValue, createPhysicalAddressFromDiscriminatorValue, createPublicErrorFromDiscriminatorValue, createResultInfoFromDiscriminatorValue, createSiteFromDiscriminatorValue, deserializeIntoBaseCollectionPaginationCountResponse, deserializeIntoEntity, deserializeIntoIdentity, serializeBaseCollectionPaginationCountResponse, serializeEntity, serializeGroup, serializeIdentity, serializeIdentitySet, serializePhysicalAddress, serializePublicError, serializeResultInfo, serializeSite } from '../index.js';
// @ts-ignore
import { createCaseEscapedFromDiscriminatorValue as I04c8fd8d7d793fe83a2f5aea097a28f9a6cf45af6c77a616d50903ea898d91e1, createCaseTypeConfigurationFromDiscriminatorValue, serializeCaseEscaped as Icff3ea98f9032045377a20ce1bc97a20b242f7708b98448f49e29fd16056f7f5, serializeCaseTypeConfiguration } from './caseManagement/index.js';
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {A365AiExecuteTool}
 */
// @ts-ignore
export function createA365AiExecuteToolFromDiscriminatorValue(parseNode) {
    return deserializeIntoA365AiExecuteTool;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {A365AiInferenceCall}
 */
// @ts-ignore
export function createA365AiInferenceCallFromDiscriminatorValue(parseNode) {
    return deserializeIntoA365AiInferenceCall;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {A365AiInvokeAgent}
 */
// @ts-ignore
export function createA365AiInvokeAgentFromDiscriminatorValue(parseNode) {
    return deserializeIntoA365AiInvokeAgent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {A365AiRunSummary}
 */
// @ts-ignore
export function createA365AiRunSummaryFromDiscriminatorValue(parseNode) {
    return deserializeIntoA365AiRunSummary;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {A365SpanOutputs}
 */
// @ts-ignore
export function createA365SpanOutputsFromDiscriminatorValue(parseNode) {
    return deserializeIntoA365SpanOutputs;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AadRiskDetectionAuditRecord}
 */
// @ts-ignore
export function createAadRiskDetectionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAadRiskDetectionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AccountEntityMapping}
 */
// @ts-ignore
export function createAccountEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoAccountEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Account}
 */
// @ts-ignore
export function createAccountFromDiscriminatorValue(parseNode) {
    return deserializeIntoAccount;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AccountObjectIdAction}
 */
// @ts-ignore
export function createAccountObjectIdActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAccountObjectIdAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AccountSidAction}
 */
// @ts-ignore
export function createAccountSidActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAccountSidAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ActiveDirectoryDomainEvidence}
 */
// @ts-ignore
export function createActiveDirectoryDomainEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoActiveDirectoryDomainEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AddContentFooterAction}
 */
// @ts-ignore
export function createAddContentFooterActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAddContentFooterAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AddContentHeaderAction}
 */
// @ts-ignore
export function createAddContentHeaderActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAddContentHeaderAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AddWatermarkAction}
 */
// @ts-ignore
export function createAddWatermarkActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAddWatermarkAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AedAuditRecord}
 */
// @ts-ignore
export function createAedAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAedAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AgentAdminActivityRecord}
 */
// @ts-ignore
export function createAgentAdminActivityRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAgentAdminActivityRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AgentSettingAdminActivity}
 */
// @ts-ignore
export function createAgentSettingAdminActivityFromDiscriminatorValue(parseNode) {
    return deserializeIntoAgentSettingAdminActivity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AggregatedEnvironment}
 */
// @ts-ignore
export function createAggregatedEnvironmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoAggregatedEnvironment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiAgentEvidence}
 */
// @ts-ignore
export function createAiAgentEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiAgentEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiAppInteractionAuditRecord}
 */
// @ts-ignore
export function createAiAppInteractionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiAppInteractionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiExecuteToolAuditRecord}
 */
// @ts-ignore
export function createAiExecuteToolAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiExecuteToolAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiInteractionsChangeNotificationAuditRecord}
 */
// @ts-ignore
export function createAiInteractionsChangeNotificationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiInteractionsChangeNotificationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiInteractionsExportAuditRecord}
 */
// @ts-ignore
export function createAiInteractionsExportAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiInteractionsExportAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiInteractionsSubscriptionAuditRecord}
 */
// @ts-ignore
export function createAiInteractionsSubscriptionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiInteractionsSubscriptionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AiInvokeAgentAuditRecord}
 */
// @ts-ignore
export function createAiInvokeAgentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAiInvokeAgentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipDiscover}
 */
// @ts-ignore
export function createAipDiscoverFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipDiscover;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipFileDeleted}
 */
// @ts-ignore
export function createAipFileDeletedFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipFileDeleted;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipHeartBeat}
 */
// @ts-ignore
export function createAipHeartBeatFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipHeartBeat;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipProtectionActionLogRequest}
 */
// @ts-ignore
export function createAipProtectionActionLogRequestFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipProtectionActionLogRequest;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipScannerDiscoverEvent}
 */
// @ts-ignore
export function createAipScannerDiscoverEventFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipScannerDiscoverEvent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AipSensitivityLabelActionLogRequest}
 */
// @ts-ignore
export function createAipSensitivityLabelActionLogRequestFromDiscriminatorValue(parseNode) {
    return deserializeIntoAipSensitivityLabelActionLogRequest;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AirAdminActionInvestigationData}
 */
// @ts-ignore
export function createAirAdminActionInvestigationDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoAirAdminActionInvestigationData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AirInvestigationData}
 */
// @ts-ignore
export function createAirInvestigationDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoAirInvestigationData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AirManualInvestigationData}
 */
// @ts-ignore
export function createAirManualInvestigationDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoAirManualInvestigationData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AISpanOutputsAuditRecord}
 */
// @ts-ignore
export function createAISpanOutputsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAISpanOutputsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertCollectionResponse}
 */
// @ts-ignore
export function createAlertCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertComment}
 */
// @ts-ignore
export function createAlertCommentFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertComment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertCustomDetails}
 */
// @ts-ignore
export function createAlertCustomDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertCustomDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertEvidence}
 */
// @ts-ignore
export function createAlertEvidenceFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.activeDirectoryDomainEvidence":
                    return deserializeIntoActiveDirectoryDomainEvidence;
                case "#microsoft.graph.security.aiAgentEvidence":
                    return deserializeIntoAiAgentEvidence;
                case "#microsoft.graph.security.amazonResourceEvidence":
                    return deserializeIntoAmazonResourceEvidence;
                case "#microsoft.graph.security.analyzedMessageEvidence":
                    return deserializeIntoAnalyzedMessageEvidence;
                case "#microsoft.graph.security.azureResourceEvidence":
                    return deserializeIntoAzureResourceEvidence;
                case "#microsoft.graph.security.blobContainerEvidence":
                    return deserializeIntoBlobContainerEvidence;
                case "#microsoft.graph.security.blobEvidence":
                    return deserializeIntoBlobEvidence;
                case "#microsoft.graph.security.cloudApplicationEvidence":
                    return deserializeIntoCloudApplicationEvidence;
                case "#microsoft.graph.security.cloudLogonRequestEvidence":
                    return deserializeIntoCloudLogonRequestEvidence;
                case "#microsoft.graph.security.cloudLogonSessionEvidence":
                    return deserializeIntoCloudLogonSessionEvidence;
                case "#microsoft.graph.security.containerEvidence":
                    return deserializeIntoContainerEvidence;
                case "#microsoft.graph.security.containerImageEvidence":
                    return deserializeIntoContainerImageEvidence;
                case "#microsoft.graph.security.containerRegistryEvidence":
                    return deserializeIntoContainerRegistryEvidence;
                case "#microsoft.graph.security.deviceEvidence":
                    return deserializeIntoDeviceEvidence;
                case "#microsoft.graph.security.dnsEvidence":
                    return deserializeIntoDnsEvidence;
                case "#microsoft.graph.security.fileEvidence":
                    return deserializeIntoFileEvidence;
                case "#microsoft.graph.security.fileHashEvidence":
                    return deserializeIntoFileHashEvidence;
                case "#microsoft.graph.security.gitHubOrganizationEvidence":
                    return deserializeIntoGitHubOrganizationEvidence;
                case "#microsoft.graph.security.gitHubRepoEvidence":
                    return deserializeIntoGitHubRepoEvidence;
                case "#microsoft.graph.security.gitHubUserEvidence":
                    return deserializeIntoGitHubUserEvidence;
                case "#microsoft.graph.security.googleCloudResourceEvidence":
                    return deserializeIntoGoogleCloudResourceEvidence;
                case "#microsoft.graph.security.hostLogonSessionEvidence":
                    return deserializeIntoHostLogonSessionEvidence;
                case "#microsoft.graph.security.ioTDeviceEvidence":
                    return deserializeIntoIoTDeviceEvidence;
                case "#microsoft.graph.security.ipEvidence":
                    return deserializeIntoIpEvidence;
                case "#microsoft.graph.security.kubernetesClusterEvidence":
                    return deserializeIntoKubernetesClusterEvidence;
                case "#microsoft.graph.security.kubernetesControllerEvidence":
                    return deserializeIntoKubernetesControllerEvidence;
                case "#microsoft.graph.security.kubernetesNamespaceEvidence":
                    return deserializeIntoKubernetesNamespaceEvidence;
                case "#microsoft.graph.security.kubernetesPodEvidence":
                    return deserializeIntoKubernetesPodEvidence;
                case "#microsoft.graph.security.kubernetesSecretEvidence":
                    return deserializeIntoKubernetesSecretEvidence;
                case "#microsoft.graph.security.kubernetesServiceAccountEvidence":
                    return deserializeIntoKubernetesServiceAccountEvidence;
                case "#microsoft.graph.security.kubernetesServiceEvidence":
                    return deserializeIntoKubernetesServiceEvidence;
                case "#microsoft.graph.security.mailboxConfigurationEvidence":
                    return deserializeIntoMailboxConfigurationEvidence;
                case "#microsoft.graph.security.mailboxEvidence":
                    return deserializeIntoMailboxEvidence;
                case "#microsoft.graph.security.mailClusterEvidence":
                    return deserializeIntoMailClusterEvidence;
                case "#microsoft.graph.security.malwareEvidence":
                    return deserializeIntoMalwareEvidence;
                case "#microsoft.graph.security.networkConnectionEvidence":
                    return deserializeIntoNetworkConnectionEvidence;
                case "#microsoft.graph.security.nicEvidence":
                    return deserializeIntoNicEvidence;
                case "#microsoft.graph.security.oauthApplicationEvidence":
                    return deserializeIntoOauthApplicationEvidence;
                case "#microsoft.graph.security.processEvidence":
                    return deserializeIntoProcessEvidence;
                case "#microsoft.graph.security.registryKeyEvidence":
                    return deserializeIntoRegistryKeyEvidence;
                case "#microsoft.graph.security.registryValueEvidence":
                    return deserializeIntoRegistryValueEvidence;
                case "#microsoft.graph.security.sasTokenEvidence":
                    return deserializeIntoSasTokenEvidence;
                case "#microsoft.graph.security.securityGroupEvidence":
                    return deserializeIntoSecurityGroupEvidence;
                case "#microsoft.graph.security.servicePrincipalEvidence":
                    return deserializeIntoServicePrincipalEvidence;
                case "#microsoft.graph.security.submissionMailEvidence":
                    return deserializeIntoSubmissionMailEvidence;
                case "#microsoft.graph.security.teamsMessageEvidence":
                    return deserializeIntoTeamsMessageEvidence;
                case "#microsoft.graph.security.urlEvidence":
                    return deserializeIntoUrlEvidence;
                case "#microsoft.graph.security.userEvidence":
                    return deserializeIntoUserEvidence;
            }
        }
    }
    return deserializeIntoAlertEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Alert}
 */
// @ts-ignore
export function createAlertFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.manualAlert":
                    return deserializeIntoManualAlert;
            }
        }
    }
    return deserializeIntoAlert;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertSubmissionAuditRecord}
 */
// @ts-ignore
export function createAlertSubmissionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertSubmissionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertSubmissionResultDetailAuditRecord}
 */
// @ts-ignore
export function createAlertSubmissionResultDetailAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertSubmissionResultDetailAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AlertTemplate}
 */
// @ts-ignore
export function createAlertTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoAlertTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AllowFileResponseAction}
 */
// @ts-ignore
export function createAllowFileResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoAllowFileResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AmazonResourceEntityMapping}
 */
// @ts-ignore
export function createAmazonResourceEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoAmazonResourceEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AmazonResourceEvidence}
 */
// @ts-ignore
export function createAmazonResourceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoAmazonResourceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailAttachment}
 */
// @ts-ignore
export function createAnalyzedEmailAttachmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailAttachment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailAuthenticationDetail}
 */
// @ts-ignore
export function createAnalyzedEmailAuthenticationDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailAuthenticationDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailCollectionResponse}
 */
// @ts-ignore
export function createAnalyzedEmailCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailDeliveryDetail}
 */
// @ts-ignore
export function createAnalyzedEmailDeliveryDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailDeliveryDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailDlpRuleInfo}
 */
// @ts-ignore
export function createAnalyzedEmailDlpRuleInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailDlpRuleInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailExchangeTransportRuleInfo}
 */
// @ts-ignore
export function createAnalyzedEmailExchangeTransportRuleInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailExchangeTransportRuleInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmail}
 */
// @ts-ignore
export function createAnalyzedEmailFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailRecipientDetail}
 */
// @ts-ignore
export function createAnalyzedEmailRecipientDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailRecipientDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailSenderDetail}
 */
// @ts-ignore
export function createAnalyzedEmailSenderDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailSenderDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedEmailUrl}
 */
// @ts-ignore
export function createAnalyzedEmailUrlFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedEmailUrl;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AnalyzedMessageEvidence}
 */
// @ts-ignore
export function createAnalyzedMessageEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoAnalyzedMessageEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApplyLabelAction}
 */
// @ts-ignore
export function createApplyLabelActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoApplyLabelAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ArticleCollectionResponse}
 */
// @ts-ignore
export function createArticleCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoArticleCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Article}
 */
// @ts-ignore
export function createArticleFromDiscriminatorValue(parseNode) {
    return deserializeIntoArticle;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ArticleIndicatorCollectionResponse}
 */
// @ts-ignore
export function createArticleIndicatorCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoArticleIndicatorCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ArticleIndicator}
 */
// @ts-ignore
export function createArticleIndicatorFromDiscriminatorValue(parseNode) {
    return deserializeIntoArticleIndicator;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Artifact}
 */
// @ts-ignore
export function createArtifactFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.host":
                    return deserializeIntoHost;
                case "#microsoft.graph.security.hostComponent":
                    return deserializeIntoHostComponent;
                case "#microsoft.graph.security.hostCookie":
                    return deserializeIntoHostCookie;
                case "#microsoft.graph.security.hostname":
                    return deserializeIntoHostname;
                case "#microsoft.graph.security.hostSslCertificate":
                    return deserializeIntoHostSslCertificate;
                case "#microsoft.graph.security.hostTracker":
                    return deserializeIntoHostTracker;
                case "#microsoft.graph.security.ipAddress":
                    return deserializeIntoIpAddress;
                case "#microsoft.graph.security.passiveDnsRecord":
                    return deserializeIntoPassiveDnsRecord;
                case "#microsoft.graph.security.sslCertificate":
                    return deserializeIntoSslCertificate;
                case "#microsoft.graph.security.unclassifiedArtifact":
                    return deserializeIntoUnclassifiedArtifact;
            }
        }
    }
    return deserializeIntoArtifact;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttackSimAdminAuditRecord}
 */
// @ts-ignore
export function createAttackSimAdminAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttackSimAdminAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttackSimAuditRecord}
 */
// @ts-ignore
export function createAttackSimAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttackSimAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttackSimulationInfo}
 */
// @ts-ignore
export function createAttackSimulationInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttackSimulationInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditConfigAuditRecord}
 */
// @ts-ignore
export function createAuditConfigAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditConfigAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditCoreRoot}
 */
// @ts-ignore
export function createAuditCoreRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditCoreRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditData}
 */
// @ts-ignore
export function createAuditDataFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.a365AiExecuteTool":
                    return deserializeIntoA365AiExecuteTool;
                case "#microsoft.graph.security.a365AiInferenceCall":
                    return deserializeIntoA365AiInferenceCall;
                case "#microsoft.graph.security.a365AiInvokeAgent":
                    return deserializeIntoA365AiInvokeAgent;
                case "#microsoft.graph.security.a365AiRunSummary":
                    return deserializeIntoA365AiRunSummary;
                case "#microsoft.graph.security.a365SpanOutputs":
                    return deserializeIntoA365SpanOutputs;
                case "#microsoft.graph.security.aadRiskDetectionAuditRecord":
                    return deserializeIntoAadRiskDetectionAuditRecord;
                case "#microsoft.graph.security.aedAuditRecord":
                    return deserializeIntoAedAuditRecord;
                case "#microsoft.graph.security.agentAdminActivityRecord":
                    return deserializeIntoAgentAdminActivityRecord;
                case "#microsoft.graph.security.agentSettingAdminActivity":
                    return deserializeIntoAgentSettingAdminActivity;
                case "#microsoft.graph.security.aiAppInteractionAuditRecord":
                    return deserializeIntoAiAppInteractionAuditRecord;
                case "#microsoft.graph.security.aiExecuteToolAuditRecord":
                    return deserializeIntoAiExecuteToolAuditRecord;
                case "#microsoft.graph.security.aiInteractionsChangeNotificationAuditRecord":
                    return deserializeIntoAiInteractionsChangeNotificationAuditRecord;
                case "#microsoft.graph.security.aiInteractionsExportAuditRecord":
                    return deserializeIntoAiInteractionsExportAuditRecord;
                case "#microsoft.graph.security.aiInteractionsSubscriptionAuditRecord":
                    return deserializeIntoAiInteractionsSubscriptionAuditRecord;
                case "#microsoft.graph.security.aiInvokeAgentAuditRecord":
                    return deserializeIntoAiInvokeAgentAuditRecord;
                case "#microsoft.graph.security.aipDiscover":
                    return deserializeIntoAipDiscover;
                case "#microsoft.graph.security.aipFileDeleted":
                    return deserializeIntoAipFileDeleted;
                case "#microsoft.graph.security.aipHeartBeat":
                    return deserializeIntoAipHeartBeat;
                case "#microsoft.graph.security.aipProtectionActionLogRequest":
                    return deserializeIntoAipProtectionActionLogRequest;
                case "#microsoft.graph.security.aipScannerDiscoverEvent":
                    return deserializeIntoAipScannerDiscoverEvent;
                case "#microsoft.graph.security.aipSensitivityLabelActionLogRequest":
                    return deserializeIntoAipSensitivityLabelActionLogRequest;
                case "#microsoft.graph.security.airAdminActionInvestigationData":
                    return deserializeIntoAirAdminActionInvestigationData;
                case "#microsoft.graph.security.airInvestigationData":
                    return deserializeIntoAirInvestigationData;
                case "#microsoft.graph.security.airManualInvestigationData":
                    return deserializeIntoAirManualInvestigationData;
                case "#microsoft.graph.security.aISpanOutputsAuditRecord":
                    return deserializeIntoAISpanOutputsAuditRecord;
                case "#microsoft.graph.security.alertSubmissionAuditRecord":
                    return deserializeIntoAlertSubmissionAuditRecord;
                case "#microsoft.graph.security.alertSubmissionResultDetailAuditRecord":
                    return deserializeIntoAlertSubmissionResultDetailAuditRecord;
                case "#microsoft.graph.security.attackSimAdminAuditRecord":
                    return deserializeIntoAttackSimAdminAuditRecord;
                case "#microsoft.graph.security.attackSimAuditRecord":
                    return deserializeIntoAttackSimAuditRecord;
                case "#microsoft.graph.security.auditConfigAuditRecord":
                    return deserializeIntoAuditConfigAuditRecord;
                case "#microsoft.graph.security.auditSearchAuditRecord":
                    return deserializeIntoAuditSearchAuditRecord;
                case "#microsoft.graph.security.azfwApplicationRuleAggregationEventRecord":
                    return deserializeIntoAzfwApplicationRuleAggregationEventRecord;
                case "#microsoft.graph.security.azfwDnsQueryEventRecord":
                    return deserializeIntoAzfwDnsQueryEventRecord;
                case "#microsoft.graph.security.azfwNetworkRuleEventRecord":
                    return deserializeIntoAzfwNetworkRuleEventRecord;
                case "#microsoft.graph.security.azureActiveDirectoryAccountLogonAuditRecord":
                    return deserializeIntoAzureActiveDirectoryAccountLogonAuditRecord;
                case "#microsoft.graph.security.azureActiveDirectoryAuditRecord":
                    return deserializeIntoAzureActiveDirectoryAuditRecord;
                case "#microsoft.graph.security.azureActiveDirectoryStsLogonAuditRecord":
                    return deserializeIntoAzureActiveDirectoryStsLogonAuditRecord;
                case "#microsoft.graph.security.azureAISearchAuditRecord":
                    return deserializeIntoAzureAISearchAuditRecord;
                case "#microsoft.graph.security.campaignAuditRecord":
                    return deserializeIntoCampaignAuditRecord;
                case "#microsoft.graph.security.ccraiPolicyViolationRecord":
                    return deserializeIntoCcraiPolicyViolationRecord;
                case "#microsoft.graph.security.cdpClassifierHealthRecord":
                    return deserializeIntoCdpClassifierHealthRecord;
                case "#microsoft.graph.security.cdpColdCrawlStatusRecord":
                    return deserializeIntoCdpColdCrawlStatusRecord;
                case "#microsoft.graph.security.cdpConsumptionResourceRecord":
                    return deserializeIntoCdpConsumptionResourceRecord;
                case "#microsoft.graph.security.cdpContentExplorerAggregateRecord":
                    return deserializeIntoCdpContentExplorerAggregateRecord;
                case "#microsoft.graph.security.cdpdlmaiInteractionInsightsRecord":
                    return deserializeIntoCdpdlmaiInteractionInsightsRecord;
                case "#microsoft.graph.security.cdpDlpSensitiveEndpointAuditRecord":
                    return deserializeIntoCdpDlpSensitiveEndpointAuditRecord;
                case "#microsoft.graph.security.cdpLogRecord":
                    return deserializeIntoCdpLogRecord;
                case "#microsoft.graph.security.cdpOcrBillingRecord":
                    return deserializeIntoCdpOcrBillingRecord;
                case "#microsoft.graph.security.cdpResourceScopeChangeEventRecord":
                    return deserializeIntoCdpResourceScopeChangeEventRecord;
                case "#microsoft.graph.security.cloudUpdateDeviceConfigAuditRecord":
                    return deserializeIntoCloudUpdateDeviceConfigAuditRecord;
                case "#microsoft.graph.security.cloudUpdateProfileConfigAuditRecord":
                    return deserializeIntoCloudUpdateProfileConfigAuditRecord;
                case "#microsoft.graph.security.cloudUpdateTenantConfigAuditRecord":
                    return deserializeIntoCloudUpdateTenantConfigAuditRecord;
                case "#microsoft.graph.security.complianceConnectorAuditRecord":
                    return deserializeIntoComplianceConnectorAuditRecord;
                case "#microsoft.graph.security.complianceDLMExchangeAuditRecord":
                    return deserializeIntoComplianceDLMExchangeAuditRecord;
                case "#microsoft.graph.security.complianceDLMSharePointAuditRecord":
                    return deserializeIntoComplianceDLMSharePointAuditRecord;
                case "#microsoft.graph.security.complianceDLPApplicationsAuditRecord":
                    return deserializeIntoComplianceDLPApplicationsAuditRecord;
                case "#microsoft.graph.security.complianceDLPApplicationsClassificationAuditRecord":
                    return deserializeIntoComplianceDLPApplicationsClassificationAuditRecord;
                case "#microsoft.graph.security.complianceDLPEndpointAuditRecord":
                    return deserializeIntoComplianceDLPEndpointAuditRecord;
                case "#microsoft.graph.security.complianceDLPEndpointDiscoveryAuditRecord":
                    return deserializeIntoComplianceDLPEndpointDiscoveryAuditRecord;
                case "#microsoft.graph.security.complianceDLPEnforcementAuditRecord":
                    return deserializeIntoComplianceDLPEnforcementAuditRecord;
                case "#microsoft.graph.security.complianceDLPExchangeAuditRecord":
                    return deserializeIntoComplianceDLPExchangeAuditRecord;
                case "#microsoft.graph.security.complianceDLPExchangeClassificationAuditRecord":
                    return deserializeIntoComplianceDLPExchangeClassificationAuditRecord;
                case "#microsoft.graph.security.complianceDLPExchangeClassificationCdpRecord":
                    return deserializeIntoComplianceDLPExchangeClassificationCdpRecord;
                case "#microsoft.graph.security.complianceDLPExchangeDiscoveryAuditRecord":
                    return deserializeIntoComplianceDLPExchangeDiscoveryAuditRecord;
                case "#microsoft.graph.security.complianceDLPSharePointAuditRecord":
                    return deserializeIntoComplianceDLPSharePointAuditRecord;
                case "#microsoft.graph.security.complianceDLPSharePointClassificationAuditRecord":
                    return deserializeIntoComplianceDLPSharePointClassificationAuditRecord;
                case "#microsoft.graph.security.complianceDLPSharePointClassificationCdpRecord":
                    return deserializeIntoComplianceDLPSharePointClassificationCdpRecord;
                case "#microsoft.graph.security.complianceDLPSharePointClassificationExtendedAuditRecord":
                    return deserializeIntoComplianceDLPSharePointClassificationExtendedAuditRecord;
                case "#microsoft.graph.security.complianceExchangeOcrAuditRecord":
                    return deserializeIntoComplianceExchangeOcrAuditRecord;
                case "#microsoft.graph.security.complianceManagerActionRecord":
                    return deserializeIntoComplianceManagerActionRecord;
                case "#microsoft.graph.security.compliancePolicyGradingSharePointAuditRecord":
                    return deserializeIntoCompliancePolicyGradingSharePointAuditRecord;
                case "#microsoft.graph.security.complianceSettingsChangeAuditRecord":
                    return deserializeIntoComplianceSettingsChangeAuditRecord;
                case "#microsoft.graph.security.complianceSitGradingSharePointAuditRecord":
                    return deserializeIntoComplianceSitGradingSharePointAuditRecord;
                case "#microsoft.graph.security.complianceSupervisionExchangeAuditRecord":
                    return deserializeIntoComplianceSupervisionExchangeAuditRecord;
                case "#microsoft.graph.security.connectedAIAppInteractionAuditRecord":
                    return deserializeIntoConnectedAIAppInteractionAuditRecord;
                case "#microsoft.graph.security.consumptionResourceAuditRecord":
                    return deserializeIntoConsumptionResourceAuditRecord;
                case "#microsoft.graph.security.contentStoreMetadataRecord":
                    return deserializeIntoContentStoreMetadataRecord;
                case "#microsoft.graph.security.copilotAgentManagementAuditRecord":
                    return deserializeIntoCopilotAgentManagementAuditRecord;
                case "#microsoft.graph.security.copilotForSecurityLoggingAuditRecord":
                    return deserializeIntoCopilotForSecurityLoggingAuditRecord;
                case "#microsoft.graph.security.copilotForSecurityTriggerAuditRecord":
                    return deserializeIntoCopilotForSecurityTriggerAuditRecord;
                case "#microsoft.graph.security.copilotInteractionAuditRecord":
                    return deserializeIntoCopilotInteractionAuditRecord;
                case "#microsoft.graph.security.copilotPluginSettingAuditRecord":
                    return deserializeIntoCopilotPluginSettingAuditRecord;
                case "#microsoft.graph.security.copilotPromptBookSettingAuditRecord":
                    return deserializeIntoCopilotPromptBookSettingAuditRecord;
                case "#microsoft.graph.security.copilotSessionSharingAuditRecord":
                    return deserializeIntoCopilotSessionSharingAuditRecord;
                case "#microsoft.graph.security.copilotSettingAuditRecord":
                    return deserializeIntoCopilotSettingAuditRecord;
                case "#microsoft.graph.security.copilotWorkspaceSettingAuditRecord":
                    return deserializeIntoCopilotWorkspaceSettingAuditRecord;
                case "#microsoft.graph.security.coreReportingSettingsAuditRecord":
                    return deserializeIntoCoreReportingSettingsAuditRecord;
                case "#microsoft.graph.security.cortanaBriefingAuditRecord":
                    return deserializeIntoCortanaBriefingAuditRecord;
                case "#microsoft.graph.security.criticalAssetManagementClassificationRecord":
                    return deserializeIntoCriticalAssetManagementClassificationRecord;
                case "#microsoft.graph.security.crmEntityOperationAuditRecord":
                    return deserializeIntoCrmEntityOperationAuditRecord;
                case "#microsoft.graph.security.crossTenantAccessPolicyAuditRecord":
                    return deserializeIntoCrossTenantAccessPolicyAuditRecord;
                case "#microsoft.graph.security.customerKeyServiceEncryptionAuditRecord":
                    return deserializeIntoCustomerKeyServiceEncryptionAuditRecord;
                case "#microsoft.graph.security.dataCenterSecurityCmdletAuditRecord":
                    return deserializeIntoDataCenterSecurityCmdletAuditRecord;
                case "#microsoft.graph.security.dataGovernanceAuditRecord":
                    return deserializeIntoDataGovernanceAuditRecord;
                case "#microsoft.graph.security.dataInsightsRestApiAuditRecord":
                    return deserializeIntoDataInsightsRestApiAuditRecord;
                case "#microsoft.graph.security.dataLakeExportOperationAuditRecord":
                    return deserializeIntoDataLakeExportOperationAuditRecord;
                case "#microsoft.graph.security.dataSecurityInvestigationAuditRecord":
                    return deserializeIntoDataSecurityInvestigationAuditRecord;
                case "#microsoft.graph.security.dataShareOperationAuditRecord":
                    return deserializeIntoDataShareOperationAuditRecord;
                case "#microsoft.graph.security.defaultAuditData":
                    return deserializeIntoDefaultAuditData;
                case "#microsoft.graph.security.defenderCaseManagementAuditRecord":
                    return deserializeIntoDefenderCaseManagementAuditRecord;
                case "#microsoft.graph.security.defenderPreviewFeaturesRecord":
                    return deserializeIntoDefenderPreviewFeaturesRecord;
                case "#microsoft.graph.security.defenderSecurityForAIConfigurationAuditRecord":
                    return deserializeIntoDefenderSecurityForAIConfigurationAuditRecord;
                case "#microsoft.graph.security.deployFeatureActivityRecord":
                    return deserializeIntoDeployFeatureActivityRecord;
                case "#microsoft.graph.security.deviceDiscoverySettingsAuthenticatedScansRecord":
                    return deserializeIntoDeviceDiscoverySettingsAuthenticatedScansRecord;
                case "#microsoft.graph.security.deviceDiscoverySettingsExclusionRecord":
                    return deserializeIntoDeviceDiscoverySettingsExclusionRecord;
                case "#microsoft.graph.security.deviceDiscoverySettingsRecord":
                    return deserializeIntoDeviceDiscoverySettingsRecord;
                case "#microsoft.graph.security.discoveryAuditRecord":
                    return deserializeIntoDiscoveryAuditRecord;
                case "#microsoft.graph.security.dlpEndpointAuditRecord":
                    return deserializeIntoDlpEndpointAuditRecord;
                case "#microsoft.graph.security.dlpImportResultAuditRecord":
                    return deserializeIntoDlpImportResultAuditRecord;
                case "#microsoft.graph.security.dlpSensitiveInformationTypeRulePackageCmdletRecord":
                    return deserializeIntoDlpSensitiveInformationTypeRulePackageCmdletRecord;
                case "#microsoft.graph.security.dragonCopilotAccessRecord":
                    return deserializeIntoDragonCopilotAccessRecord;
                case "#microsoft.graph.security.dragonCopilotAdminRecord":
                    return deserializeIntoDragonCopilotAdminRecord;
                case "#microsoft.graph.security.dragonCopilotClinicalDataRecord":
                    return deserializeIntoDragonCopilotClinicalDataRecord;
                case "#microsoft.graph.security.dragonCopilotSessionRecord":
                    return deserializeIntoDragonCopilotSessionRecord;
                case "#microsoft.graph.security.dynamics365BusinessCentralAuditRecord":
                    return deserializeIntoDynamics365BusinessCentralAuditRecord;
                case "#microsoft.graph.security.ehrConnectorAuditBaseRecord":
                    return deserializeIntoEhrConnectorAuditBaseRecord;
                case "#microsoft.graph.security.eopSubmissionFeedEntityAuditRecord":
                    return deserializeIntoEopSubmissionFeedEntityAuditRecord;
                case "#microsoft.graph.security.exchangeAdminAuditRecord":
                    return deserializeIntoExchangeAdminAuditRecord;
                case "#microsoft.graph.security.exchangeAggregatedMailboxAuditRecord":
                    return deserializeIntoExchangeAggregatedMailboxAuditRecord;
                case "#microsoft.graph.security.exchangeAggregatedOperationRecord":
                    return deserializeIntoExchangeAggregatedOperationRecord;
                case "#microsoft.graph.security.exchangeMailboxAuditGroupRecord":
                    return deserializeIntoExchangeMailboxAuditGroupRecord;
                case "#microsoft.graph.security.exchangeMailboxAuditRecord":
                    return deserializeIntoExchangeMailboxAuditRecord;
                case "#microsoft.graph.security.fabricAuditRecord":
                    return deserializeIntoFabricAuditRecord;
                case "#microsoft.graph.security.fabricPolicyRecord":
                    return deserializeIntoFabricPolicyRecord;
                case "#microsoft.graph.security.healthcareSignalRecord":
                    return deserializeIntoHealthcareSignalRecord;
                case "#microsoft.graph.security.hostedRpaAuditRecord":
                    return deserializeIntoHostedRpaAuditRecord;
                case "#microsoft.graph.security.hrSignalAuditRecord":
                    return deserializeIntoHrSignalAuditRecord;
                case "#microsoft.graph.security.hygieneEventRecord":
                    return deserializeIntoHygieneEventRecord;
                case "#microsoft.graph.security.informationBarrierPolicyApplicationAuditRecord":
                    return deserializeIntoInformationBarrierPolicyApplicationAuditRecord;
                case "#microsoft.graph.security.informationWorkerProtectionAuditRecord":
                    return deserializeIntoInformationWorkerProtectionAuditRecord;
                case "#microsoft.graph.security.insiderRiskScopedUserInsightsRecord":
                    return deserializeIntoInsiderRiskScopedUserInsightsRecord;
                case "#microsoft.graph.security.insiderRiskScopedUsersRecord":
                    return deserializeIntoInsiderRiskScopedUsersRecord;
                case "#microsoft.graph.security.integratedAppsAppAdminActivityAuditRecord":
                    return deserializeIntoIntegratedAppsAppAdminActivityAuditRecord;
                case "#microsoft.graph.security.integratedAppsAppSettingsAdminActivityAuditRecord":
                    return deserializeIntoIntegratedAppsAppSettingsAdminActivityAuditRecord;
                case "#microsoft.graph.security.irmActivityAuditTrailRecord":
                    return deserializeIntoIrmActivityAuditTrailRecord;
                case "#microsoft.graph.security.irmUserDefinedDetectionRecord":
                    return deserializeIntoIrmUserDefinedDetectionRecord;
                case "#microsoft.graph.security.kaizalaAuditRecord":
                    return deserializeIntoKaizalaAuditRecord;
                case "#microsoft.graph.security.labelAnalyticsAggregateAuditRecord":
                    return deserializeIntoLabelAnalyticsAggregateAuditRecord;
                case "#microsoft.graph.security.labelContentExplorerAuditRecord":
                    return deserializeIntoLabelContentExplorerAuditRecord;
                case "#microsoft.graph.security.largeContentMetadataAuditRecord":
                    return deserializeIntoLargeContentMetadataAuditRecord;
                case "#microsoft.graph.security.m365ComplianceConnectorAuditRecord":
                    return deserializeIntoM365ComplianceConnectorAuditRecord;
                case "#microsoft.graph.security.m365daadAuditRecord":
                    return deserializeIntoM365daadAuditRecord;
                case "#microsoft.graph.security.m365odspAssetMetadataRecord":
                    return deserializeIntoM365odspAssetMetadataRecord;
                case "#microsoft.graph.security.m365SearchSectionsRecord":
                    return deserializeIntoM365SearchSectionsRecord;
                case "#microsoft.graph.security.mailSubmissionData":
                    return deserializeIntoMailSubmissionData;
                case "#microsoft.graph.security.managedServicesAuditRecord":
                    return deserializeIntoManagedServicesAuditRecord;
                case "#microsoft.graph.security.managedTenantsAuditRecord":
                    return deserializeIntoManagedTenantsAuditRecord;
                case "#microsoft.graph.security.mapgAlertsAuditRecord":
                    return deserializeIntoMapgAlertsAuditRecord;
                case "#microsoft.graph.security.mapgOnboardAuditRecord":
                    return deserializeIntoMapgOnboardAuditRecord;
                case "#microsoft.graph.security.mapgPolicyAuditRecord":
                    return deserializeIntoMapgPolicyAuditRecord;
                case "#microsoft.graph.security.mapgRemediationAuditRecord":
                    return deserializeIntoMapgRemediationAuditRecord;
                case "#microsoft.graph.security.mcasAlertsAuditRecord":
                    return deserializeIntoMcasAlertsAuditRecord;
                case "#microsoft.graph.security.mdaAuditRecord":
                    return deserializeIntoMdaAuditRecord;
                case "#microsoft.graph.security.mdaDataSecuritySignalRecord":
                    return deserializeIntoMdaDataSecuritySignalRecord;
                case "#microsoft.graph.security.mDASHAuditRecord":
                    return deserializeIntoMDASHAuditRecord;
                case "#microsoft.graph.security.mdatpAuditRecord":
                    return deserializeIntoMdatpAuditRecord;
                case "#microsoft.graph.security.mdcEventsRecord":
                    return deserializeIntoMdcEventsRecord;
                case "#microsoft.graph.security.mdiAuditRecord":
                    return deserializeIntoMdiAuditRecord;
                case "#microsoft.graph.security.meshWorldsAuditRecord":
                    return deserializeIntoMeshWorldsAuditRecord;
                case "#microsoft.graph.security.microsoft365BackupBackupItemAuditRecord":
                    return deserializeIntoMicrosoft365BackupBackupItemAuditRecord;
                case "#microsoft.graph.security.microsoft365BackupBackupPolicyAuditRecord":
                    return deserializeIntoMicrosoft365BackupBackupPolicyAuditRecord;
                case "#microsoft.graph.security.microsoft365BackupGranularBrowseTaskAuditRecord":
                    return deserializeIntoMicrosoft365BackupGranularBrowseTaskAuditRecord;
                case "#microsoft.graph.security.microsoft365BackupRestoreItemAuditRecord":
                    return deserializeIntoMicrosoft365BackupRestoreItemAuditRecord;
                case "#microsoft.graph.security.microsoft365BackupRestoreTaskAuditRecord":
                    return deserializeIntoMicrosoft365BackupRestoreTaskAuditRecord;
                case "#microsoft.graph.security.microsoft365CopilotScheduledPromptAuditRecord":
                    return deserializeIntoMicrosoft365CopilotScheduledPromptAuditRecord;
                case "#microsoft.graph.security.microsoftDefenderExpertsXDRAuditRecord":
                    return deserializeIntoMicrosoftDefenderExpertsXDRAuditRecord;
                case "#microsoft.graph.security.microsoftFlowAuditRecord":
                    return deserializeIntoMicrosoftFlowAuditRecord;
                case "#microsoft.graph.security.microsoftFormsAuditRecord":
                    return deserializeIntoMicrosoftFormsAuditRecord;
                case "#microsoft.graph.security.microsoftGraphDataConnectConsent":
                    return deserializeIntoMicrosoftGraphDataConnectConsent;
                case "#microsoft.graph.security.microsoftGraphDataConnectOperation":
                    return deserializeIntoMicrosoftGraphDataConnectOperation;
                case "#microsoft.graph.security.microsoftPurviewDataCatalogOperationRecord":
                    return deserializeIntoMicrosoftPurviewDataCatalogOperationRecord;
                case "#microsoft.graph.security.microsoftPurviewDataMapOperationRecord":
                    return deserializeIntoMicrosoftPurviewDataMapOperationRecord;
                case "#microsoft.graph.security.microsoftPurviewMetadataPolicyOperationRecord":
                    return deserializeIntoMicrosoftPurviewMetadataPolicyOperationRecord;
                case "#microsoft.graph.security.microsoftPurviewPolicyOperationRecord":
                    return deserializeIntoMicrosoftPurviewPolicyOperationRecord;
                case "#microsoft.graph.security.microsoftPurviewPrivacyAuditEvent":
                    return deserializeIntoMicrosoftPurviewPrivacyAuditEvent;
                case "#microsoft.graph.security.microsoftPurviewUnifiedCatalogOperationRecord":
                    return deserializeIntoMicrosoftPurviewUnifiedCatalogOperationRecord;
                case "#microsoft.graph.security.microsoftStreamAuditRecord":
                    return deserializeIntoMicrosoftStreamAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsAdminAuditRecord":
                    return deserializeIntoMicrosoftTeamsAdminAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsAnalyticsAuditRecord":
                    return deserializeIntoMicrosoftTeamsAnalyticsAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsAuditRecord":
                    return deserializeIntoMicrosoftTeamsAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsDeviceAuditRecord":
                    return deserializeIntoMicrosoftTeamsDeviceAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsRetentionLabelActionAuditRecord":
                    return deserializeIntoMicrosoftTeamsRetentionLabelActionAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsSensitivityLabelActionAuditRecord":
                    return deserializeIntoMicrosoftTeamsSensitivityLabelActionAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsShiftsAuditRecord":
                    return deserializeIntoMicrosoftTeamsShiftsAuditRecord;
                case "#microsoft.graph.security.microsoftTeamsUserConcernAuditRecord":
                    return deserializeIntoMicrosoftTeamsUserConcernAuditRecord;
                case "#microsoft.graph.security.mipAutoLabelExchangeItemAuditRecord":
                    return deserializeIntoMipAutoLabelExchangeItemAuditRecord;
                case "#microsoft.graph.security.mipAutoLabelProgressFeedbackAuditRecord":
                    return deserializeIntoMipAutoLabelProgressFeedbackAuditRecord;
                case "#microsoft.graph.security.mipAutoLabelSharePointItemAuditRecord":
                    return deserializeIntoMipAutoLabelSharePointItemAuditRecord;
                case "#microsoft.graph.security.mipAutoLabelSharePointPolicyLocationAuditRecord":
                    return deserializeIntoMipAutoLabelSharePointPolicyLocationAuditRecord;
                case "#microsoft.graph.security.mipAutoLabelSimulationSharePointCompletionRecord":
                    return deserializeIntoMipAutoLabelSimulationSharePointCompletionRecord;
                case "#microsoft.graph.security.mipAutoLabelSimulationSharePointProgressRecord":
                    return deserializeIntoMipAutoLabelSimulationSharePointProgressRecord;
                case "#microsoft.graph.security.mipAutoLabelSimulationStatisticsRecord":
                    return deserializeIntoMipAutoLabelSimulationStatisticsRecord;
                case "#microsoft.graph.security.mipExactDataMatchAuditRecord":
                    return deserializeIntoMipExactDataMatchAuditRecord;
                case "#microsoft.graph.security.mipLabelAnalyticsAuditRecord":
                    return deserializeIntoMipLabelAnalyticsAuditRecord;
                case "#microsoft.graph.security.mipLabelAuditRecord":
                    return deserializeIntoMipLabelAuditRecord;
                case "#microsoft.graph.security.mosAgentInfoRecord":
                    return deserializeIntoMosAgentInfoRecord;
                case "#microsoft.graph.security.mosAgentInfoRecordV2":
                    return deserializeIntoMosAgentInfoRecordV2;
                case "#microsoft.graph.security.ms365dCustomDetectionAuditRecord":
                    return deserializeIntoMs365dCustomDetectionAuditRecord;
                case "#microsoft.graph.security.ms365dIncidentAuditRecord":
                    return deserializeIntoMs365dIncidentAuditRecord;
                case "#microsoft.graph.security.ms365dSuppressionRuleAuditRecord":
                    return deserializeIntoMs365dSuppressionRuleAuditRecord;
                case "#microsoft.graph.security.msdeCustomCollectionAuditRecord":
                    return deserializeIntoMsdeCustomCollectionAuditRecord;
                case "#microsoft.graph.security.msdeGeneralSettingsAuditRecord":
                    return deserializeIntoMsdeGeneralSettingsAuditRecord;
                case "#microsoft.graph.security.msdeIndicatorsSettingsAuditRecord":
                    return deserializeIntoMsdeIndicatorsSettingsAuditRecord;
                case "#microsoft.graph.security.msdeResponseActionsAuditRecord":
                    return deserializeIntoMsdeResponseActionsAuditRecord;
                case "#microsoft.graph.security.msdeRolesSettingsAuditRecord":
                    return deserializeIntoMsdeRolesSettingsAuditRecord;
                case "#microsoft.graph.security.mspVectorSearchContentMetadataAuditRecord":
                    return deserializeIntoMspVectorSearchContentMetadataAuditRecord;
                case "#microsoft.graph.security.msticNationStateNotificationRecord":
                    return deserializeIntoMsticNationStateNotificationRecord;
                case "#microsoft.graph.security.multiStageDispositionAuditRecord":
                    return deserializeIntoMultiStageDispositionAuditRecord;
                case "#microsoft.graph.security.myAnalyticsSettingsAuditRecord":
                    return deserializeIntoMyAnalyticsSettingsAuditRecord;
                case "#microsoft.graph.security.noisyAlertPolicyAuditRecord":
                    return deserializeIntoNoisyAlertPolicyAuditRecord;
                case "#microsoft.graph.security.officeNativeAuditRecord":
                    return deserializeIntoOfficeNativeAuditRecord;
                case "#microsoft.graph.security.omePortalAuditRecord":
                    return deserializeIntoOmePortalAuditRecord;
                case "#microsoft.graph.security.onDemandSharePointClassificationAuditRecord":
                    return deserializeIntoOnDemandSharePointClassificationAuditRecord;
                case "#microsoft.graph.security.oneDriveAuditRecord":
                    return deserializeIntoOneDriveAuditRecord;
                case "#microsoft.graph.security.onPremisesFileShareScannerDLPAuditRecord":
                    return deserializeIntoOnPremisesFileShareScannerDLPAuditRecord;
                case "#microsoft.graph.security.onPremisesSharePointScannerDLPAuditRecord":
                    return deserializeIntoOnPremisesSharePointScannerDLPAuditRecord;
                case "#microsoft.graph.security.organizationalDataInM365AuditRecord":
                    return deserializeIntoOrganizationalDataInM365AuditRecord;
                case "#microsoft.graph.security.outlookCopilotAutomationAuditRecord":
                    return deserializeIntoOutlookCopilotAutomationAuditRecord;
                case "#microsoft.graph.security.owaGetAccessTokenForResourceAuditRecord":
                    return deserializeIntoOwaGetAccessTokenForResourceAuditRecord;
                case "#microsoft.graph.security.p4aiAssessmentCategoryRecord":
                    return deserializeIntoP4aiAssessmentCategoryRecord;
                case "#microsoft.graph.security.p4aiAssessmentFabricScannerRecord":
                    return deserializeIntoP4aiAssessmentFabricScannerRecord;
                case "#microsoft.graph.security.p4aiAssessmentLocationResultRecord":
                    return deserializeIntoP4aiAssessmentLocationResultRecord;
                case "#microsoft.graph.security.p4aiAssessmentRecord":
                    return deserializeIntoP4aiAssessmentRecord;
                case "#microsoft.graph.security.p4AIRiskScoreRecord":
                    return deserializeIntoP4AIRiskScoreRecord;
                case "#microsoft.graph.security.peopleAdminSettingsAuditRecord":
                    return deserializeIntoPeopleAdminSettingsAuditRecord;
                case "#microsoft.graph.security.physicalBadgingSignalAuditRecord":
                    return deserializeIntoPhysicalBadgingSignalAuditRecord;
                case "#microsoft.graph.security.placesDirectoryAuditRecord":
                    return deserializeIntoPlacesDirectoryAuditRecord;
                case "#microsoft.graph.security.plannerChatMessageAuditRecord":
                    return deserializeIntoPlannerChatMessageAuditRecord;
                case "#microsoft.graph.security.plannerChatMessageListAuditRecord":
                    return deserializeIntoPlannerChatMessageListAuditRecord;
                case "#microsoft.graph.security.plannerCopyPlanAuditRecord":
                    return deserializeIntoPlannerCopyPlanAuditRecord;
                case "#microsoft.graph.security.plannerGoalAuditRecord":
                    return deserializeIntoPlannerGoalAuditRecord;
                case "#microsoft.graph.security.plannerGoalListAuditRecord":
                    return deserializeIntoPlannerGoalListAuditRecord;
                case "#microsoft.graph.security.plannerPlanAuditRecord":
                    return deserializeIntoPlannerPlanAuditRecord;
                case "#microsoft.graph.security.plannerPlanListAuditRecord":
                    return deserializeIntoPlannerPlanListAuditRecord;
                case "#microsoft.graph.security.plannerPlanSensitivityLabelAuditRecord":
                    return deserializeIntoPlannerPlanSensitivityLabelAuditRecord;
                case "#microsoft.graph.security.plannerRosterAuditRecord":
                    return deserializeIntoPlannerRosterAuditRecord;
                case "#microsoft.graph.security.plannerRosterSensitivityLabelAuditRecord":
                    return deserializeIntoPlannerRosterSensitivityLabelAuditRecord;
                case "#microsoft.graph.security.plannerTaskAuditRecord":
                    return deserializeIntoPlannerTaskAuditRecord;
                case "#microsoft.graph.security.plannerTaskListAuditRecord":
                    return deserializeIntoPlannerTaskListAuditRecord;
                case "#microsoft.graph.security.plannerTenantSettingsAuditRecord":
                    return deserializeIntoPlannerTenantSettingsAuditRecord;
                case "#microsoft.graph.security.policyConfigChangeAuditRecord":
                    return deserializeIntoPolicyConfigChangeAuditRecord;
                case "#microsoft.graph.security.powerAppsAuditAppRecord":
                    return deserializeIntoPowerAppsAuditAppRecord;
                case "#microsoft.graph.security.powerAppsAuditPlanRecord":
                    return deserializeIntoPowerAppsAuditPlanRecord;
                case "#microsoft.graph.security.powerAppsAuditResourceRecord":
                    return deserializeIntoPowerAppsAuditResourceRecord;
                case "#microsoft.graph.security.powerBIAuditRecord":
                    return deserializeIntoPowerBIAuditRecord;
                case "#microsoft.graph.security.powerBIDlpAuditRecord":
                    return deserializeIntoPowerBIDlpAuditRecord;
                case "#microsoft.graph.security.powerPagesSiteAuditRecord":
                    return deserializeIntoPowerPagesSiteAuditRecord;
                case "#microsoft.graph.security.powerPlatformAdminDlpAuditRecord":
                    return deserializeIntoPowerPlatformAdminDlpAuditRecord;
                case "#microsoft.graph.security.powerPlatformAdminEnvironmentAuditRecord":
                    return deserializeIntoPowerPlatformAdminEnvironmentAuditRecord;
                case "#microsoft.graph.security.powerPlatformAdministratorActivityRecord":
                    return deserializeIntoPowerPlatformAdministratorActivityRecord;
                case "#microsoft.graph.security.powerPlatformLockboxResourceAccessRequestAuditRecord":
                    return deserializeIntoPowerPlatformLockboxResourceAccessRequestAuditRecord;
                case "#microsoft.graph.security.powerPlatformLockboxResourceCommandAuditRecord":
                    return deserializeIntoPowerPlatformLockboxResourceCommandAuditRecord;
                case "#microsoft.graph.security.powerPlatformServiceActivityAuditRecord":
                    return deserializeIntoPowerPlatformServiceActivityAuditRecord;
                case "#microsoft.graph.security.powerPlatformTenantIsolationRecord":
                    return deserializeIntoPowerPlatformTenantIsolationRecord;
                case "#microsoft.graph.security.privacyDataMatchAuditRecord":
                    return deserializeIntoPrivacyDataMatchAuditRecord;
                case "#microsoft.graph.security.privacyDataMinimizationRecord":
                    return deserializeIntoPrivacyDataMinimizationRecord;
                case "#microsoft.graph.security.privacyDigestEmailRecord":
                    return deserializeIntoPrivacyDigestEmailRecord;
                case "#microsoft.graph.security.privacyOpenAccessAuditRecord":
                    return deserializeIntoPrivacyOpenAccessAuditRecord;
                case "#microsoft.graph.security.privacyPortalAuditRecord":
                    return deserializeIntoPrivacyPortalAuditRecord;
                case "#microsoft.graph.security.privacyRemediationActionRecord":
                    return deserializeIntoPrivacyRemediationActionRecord;
                case "#microsoft.graph.security.privacyRemediationRecord":
                    return deserializeIntoPrivacyRemediationRecord;
                case "#microsoft.graph.security.privaPrivacyAssessmentOperationRecord":
                    return deserializeIntoPrivaPrivacyAssessmentOperationRecord;
                case "#microsoft.graph.security.privaPrivacyConsentOperationRecord":
                    return deserializeIntoPrivaPrivacyConsentOperationRecord;
                case "#microsoft.graph.security.projectAuditRecord":
                    return deserializeIntoProjectAuditRecord;
                case "#microsoft.graph.security.projectForTheWebAssignedToMeSettingsAuditRecord":
                    return deserializeIntoProjectForTheWebAssignedToMeSettingsAuditRecord;
                case "#microsoft.graph.security.projectForTheWebProjectAuditRecord":
                    return deserializeIntoProjectForTheWebProjectAuditRecord;
                case "#microsoft.graph.security.projectForTheWebProjectSettingsAuditRecord":
                    return deserializeIntoProjectForTheWebProjectSettingsAuditRecord;
                case "#microsoft.graph.security.projectForTheWebRoadmapAuditRecord":
                    return deserializeIntoProjectForTheWebRoadmapAuditRecord;
                case "#microsoft.graph.security.projectForTheWebRoadmapItemAuditRecord":
                    return deserializeIntoProjectForTheWebRoadmapItemAuditRecord;
                case "#microsoft.graph.security.projectForTheWebRoadmapSettingsAuditRecord":
                    return deserializeIntoProjectForTheWebRoadmapSettingsAuditRecord;
                case "#microsoft.graph.security.projectForTheWebTaskAuditRecord":
                    return deserializeIntoProjectForTheWebTaskAuditRecord;
                case "#microsoft.graph.security.publicFolderAuditRecord":
                    return deserializeIntoPublicFolderAuditRecord;
                case "#microsoft.graph.security.purviewInsiderRiskAlertsRecord":
                    return deserializeIntoPurviewInsiderRiskAlertsRecord;
                case "#microsoft.graph.security.purviewInsiderRiskCasesRecord":
                    return deserializeIntoPurviewInsiderRiskCasesRecord;
                case "#microsoft.graph.security.purviewMCRecommendationRecord":
                    return deserializeIntoPurviewMCRecommendationRecord;
                case "#microsoft.graph.security.purviewPostureAgentAuditRecord":
                    return deserializeIntoPurviewPostureAgentAuditRecord;
                case "#microsoft.graph.security.quarantineAuditRecord":
                    return deserializeIntoQuarantineAuditRecord;
                case "#microsoft.graph.security.recordsManagementAuditRecord":
                    return deserializeIntoRecordsManagementAuditRecord;
                case "#microsoft.graph.security.reportSubmission":
                    return deserializeIntoReportSubmission;
                case "#microsoft.graph.security.reportSubmissionResultDetail":
                    return deserializeIntoReportSubmissionResultDetail;
                case "#microsoft.graph.security.restrictedModeAuditRecord":
                    return deserializeIntoRestrictedModeAuditRecord;
                case "#microsoft.graph.security.retentionPolicyAuditRecord":
                    return deserializeIntoRetentionPolicyAuditRecord;
                case "#microsoft.graph.security.rtiOperationsAgentAuditRecord":
                    return deserializeIntoRtiOperationsAgentAuditRecord;
                case "#microsoft.graph.security.sbpConfigurationEventRecord":
                    return deserializeIntoSbpConfigurationEventRecord;
                case "#microsoft.graph.security.sbpUsageEventRecord":
                    return deserializeIntoSbpUsageEventRecord;
                case "#microsoft.graph.security.scoreEvidence":
                    return deserializeIntoScoreEvidence;
                case "#microsoft.graph.security.scorePlatformGenericAuditRecord":
                    return deserializeIntoScorePlatformGenericAuditRecord;
                case "#microsoft.graph.security.scriptRunAuditRecord":
                    return deserializeIntoScriptRunAuditRecord;
                case "#microsoft.graph.security.searchAuditRecord":
                    return deserializeIntoSearchAuditRecord;
                case "#microsoft.graph.security.securityComplianceAlertRecord":
                    return deserializeIntoSecurityComplianceAlertRecord;
                case "#microsoft.graph.security.securityComplianceCenterEOPCmdletAuditRecord":
                    return deserializeIntoSecurityComplianceCenterEOPCmdletAuditRecord;
                case "#microsoft.graph.security.securityComplianceInsightsAuditRecord":
                    return deserializeIntoSecurityComplianceInsightsAuditRecord;
                case "#microsoft.graph.security.securityComplianceRBACAuditRecord":
                    return deserializeIntoSecurityComplianceRBACAuditRecord;
                case "#microsoft.graph.security.securityComplianceUserChangeAuditRecord":
                    return deserializeIntoSecurityComplianceUserChangeAuditRecord;
                case "#microsoft.graph.security.securityCopilotIdentityManagementAuditRecord":
                    return deserializeIntoSecurityCopilotIdentityManagementAuditRecord;
                case "#microsoft.graph.security.securityDevelopmentLifecycleAILogAuditRecord":
                    return deserializeIntoSecurityDevelopmentLifecycleAILogAuditRecord;
                case "#microsoft.graph.security.sensitiveInfoRemediationAgentDataRecord":
                    return deserializeIntoSensitiveInfoRemediationAgentDataRecord;
                case "#microsoft.graph.security.sensitivityLabelActionAuditRecord":
                    return deserializeIntoSensitivityLabelActionAuditRecord;
                case "#microsoft.graph.security.sensitivityLabeledFileActionAuditRecord":
                    return deserializeIntoSensitivityLabeledFileActionAuditRecord;
                case "#microsoft.graph.security.sensitivityLabelPolicyMatchAuditRecord":
                    return deserializeIntoSensitivityLabelPolicyMatchAuditRecord;
                case "#microsoft.graph.security.sentinelAIToolAuditRecord":
                    return deserializeIntoSentinelAIToolAuditRecord;
                case "#microsoft.graph.security.sentinelGraphAuditRecord":
                    return deserializeIntoSentinelGraphAuditRecord;
                case "#microsoft.graph.security.sentinelJobAuditRecord":
                    return deserializeIntoSentinelJobAuditRecord;
                case "#microsoft.graph.security.sentinelKQLOnLakeAuditRecord":
                    return deserializeIntoSentinelKQLOnLakeAuditRecord;
                case "#microsoft.graph.security.sentinelLakeDataOnboardingAuditRecord":
                    return deserializeIntoSentinelLakeDataOnboardingAuditRecord;
                case "#microsoft.graph.security.sentinelLakeEncryptionAuditRecord":
                    return deserializeIntoSentinelLakeEncryptionAuditRecord;
                case "#microsoft.graph.security.sentinelLakeOnboardingAuditRecord":
                    return deserializeIntoSentinelLakeOnboardingAuditRecord;
                case "#microsoft.graph.security.sentinelNotebookOnLakeAuditRecord":
                    return deserializeIntoSentinelNotebookOnLakeAuditRecord;
                case "#microsoft.graph.security.sentinelPackageAuditRecord":
                    return deserializeIntoSentinelPackageAuditRecord;
                case "#microsoft.graph.security.sharePointAppPermissionOperationAuditRecord":
                    return deserializeIntoSharePointAppPermissionOperationAuditRecord;
                case "#microsoft.graph.security.sharePointAuditRecord":
                    return deserializeIntoSharePointAuditRecord;
                case "#microsoft.graph.security.sharePointCommentOperationAuditRecord":
                    return deserializeIntoSharePointCommentOperationAuditRecord;
                case "#microsoft.graph.security.sharePointContentSecurityPolicyAuditRecord":
                    return deserializeIntoSharePointContentSecurityPolicyAuditRecord;
                case "#microsoft.graph.security.sharePointContentTypeOperationAuditRecord":
                    return deserializeIntoSharePointContentTypeOperationAuditRecord;
                case "#microsoft.graph.security.sharePointESignatureAuditRecord":
                    return deserializeIntoSharePointESignatureAuditRecord;
                case "#microsoft.graph.security.sharePointFieldOperationAuditRecord":
                    return deserializeIntoSharePointFieldOperationAuditRecord;
                case "#microsoft.graph.security.sharePointFileOperationAuditRecord":
                    return deserializeIntoSharePointFileOperationAuditRecord;
                case "#microsoft.graph.security.sharePointListItemOperationAuditRecord":
                    return deserializeIntoSharePointListItemOperationAuditRecord;
                case "#microsoft.graph.security.sharePointListOperationAuditRecord":
                    return deserializeIntoSharePointListOperationAuditRecord;
                case "#microsoft.graph.security.sharePointSharingOperationAuditRecord":
                    return deserializeIntoSharePointSharingOperationAuditRecord;
                case "#microsoft.graph.security.skypeForBusinessCmdletsAuditRecord":
                    return deserializeIntoSkypeForBusinessCmdletsAuditRecord;
                case "#microsoft.graph.security.skypeForBusinessPSTNUsageAuditRecord":
                    return deserializeIntoSkypeForBusinessPSTNUsageAuditRecord;
                case "#microsoft.graph.security.skypeForBusinessUsersBlockedAuditRecord":
                    return deserializeIntoSkypeForBusinessUsersBlockedAuditRecord;
                case "#microsoft.graph.security.sonarDetonationContentMetadata":
                    return deserializeIntoSonarDetonationContentMetadata;
                case "#microsoft.graph.security.sonarDetonationEntityAuditRecord":
                    return deserializeIntoSonarDetonationEntityAuditRecord;
                case "#microsoft.graph.security.sonarFileDetonationEntityAuditRecord":
                    return deserializeIntoSonarFileDetonationEntityAuditRecord;
                case "#microsoft.graph.security.sonarSubmissionEntityAuditRecord":
                    return deserializeIntoSonarSubmissionEntityAuditRecord;
                case "#microsoft.graph.security.sonarUrlDetonationEntityAuditRecord":
                    return deserializeIntoSonarUrlDetonationEntityAuditRecord;
                case "#microsoft.graph.security.sparkCoreCustomLivePoolRecord":
                    return deserializeIntoSparkCoreCustomLivePoolRecord;
                case "#microsoft.graph.security.submissionEntityAuditRecord":
                    return deserializeIntoSubmissionEntityAuditRecord;
                case "#microsoft.graph.security.supervisoryReviewDayXInsightsAuditRecord":
                    return deserializeIntoSupervisoryReviewDayXInsightsAuditRecord;
                case "#microsoft.graph.security.syntheticProbeAuditRecord":
                    return deserializeIntoSyntheticProbeAuditRecord;
                case "#microsoft.graph.security.teamCopilotInteractionAuditRecord":
                    return deserializeIntoTeamCopilotInteractionAuditRecord;
                case "#microsoft.graph.security.teamsEasyApprovalsAuditRecord":
                    return deserializeIntoTeamsEasyApprovalsAuditRecord;
                case "#microsoft.graph.security.teamsEvalDataHubAdminOperationAuditRecord":
                    return deserializeIntoTeamsEvalDataHubAdminOperationAuditRecord;
                case "#microsoft.graph.security.teamsEvalDataHubDataAccessAuditRecord":
                    return deserializeIntoTeamsEvalDataHubDataAccessAuditRecord;
                case "#microsoft.graph.security.teamsEvalDataHubPermissionChangeAuditRecord":
                    return deserializeIntoTeamsEvalDataHubPermissionChangeAuditRecord;
                case "#microsoft.graph.security.teamsHealthcareAuditRecord":
                    return deserializeIntoTeamsHealthcareAuditRecord;
                case "#microsoft.graph.security.teamsUpdatesAuditRecord":
                    return deserializeIntoTeamsUpdatesAuditRecord;
                case "#microsoft.graph.security.tenantAllowBlockListAuditRecord":
                    return deserializeIntoTenantAllowBlockListAuditRecord;
                case "#microsoft.graph.security.threatFinderAuditRecord":
                    return deserializeIntoThreatFinderAuditRecord;
                case "#microsoft.graph.security.threatIntelligenceAtpContentData":
                    return deserializeIntoThreatIntelligenceAtpContentData;
                case "#microsoft.graph.security.threatIntelligenceExportAuditRecord":
                    return deserializeIntoThreatIntelligenceExportAuditRecord;
                case "#microsoft.graph.security.threatIntelligenceMailData":
                    return deserializeIntoThreatIntelligenceMailData;
                case "#microsoft.graph.security.threatIntelligenceObjectAuditRecord":
                    return deserializeIntoThreatIntelligenceObjectAuditRecord;
                case "#microsoft.graph.security.threatIntelligenceUrlClickData":
                    return deserializeIntoThreatIntelligenceUrlClickData;
                case "#microsoft.graph.security.todoAuditRecord":
                    return deserializeIntoTodoAuditRecord;
                case "#microsoft.graph.security.trainableClassifierAuditRecord":
                    return deserializeIntoTrainableClassifierAuditRecord;
                case "#microsoft.graph.security.uamOperationAuditRecord":
                    return deserializeIntoUamOperationAuditRecord;
                case "#microsoft.graph.security.unifiedGroupAuditRecord":
                    return deserializeIntoUnifiedGroupAuditRecord;
                case "#microsoft.graph.security.unifiedSimulationMatchedItemAuditRecord":
                    return deserializeIntoUnifiedSimulationMatchedItemAuditRecord;
                case "#microsoft.graph.security.unifiedSimulationSummaryAuditRecord":
                    return deserializeIntoUnifiedSimulationSummaryAuditRecord;
                case "#microsoft.graph.security.universalPrintManagementAuditRecord":
                    return deserializeIntoUniversalPrintManagementAuditRecord;
                case "#microsoft.graph.security.universalPrintPrintJobAuditRecord":
                    return deserializeIntoUniversalPrintPrintJobAuditRecord;
                case "#microsoft.graph.security.urbacAssignmentAuditRecord":
                    return deserializeIntoUrbacAssignmentAuditRecord;
                case "#microsoft.graph.security.urbacEnableStateAuditRecord":
                    return deserializeIntoUrbacEnableStateAuditRecord;
                case "#microsoft.graph.security.urbacRoleAuditRecord":
                    return deserializeIntoUrbacRoleAuditRecord;
                case "#microsoft.graph.security.userTrainingAuditRecord":
                    return deserializeIntoUserTrainingAuditRecord;
                case "#microsoft.graph.security.usxWorkspaceOnboardingAuditRecord":
                    return deserializeIntoUsxWorkspaceOnboardingAuditRecord;
                case "#microsoft.graph.security.vfamCreatePolicyAuditRecord":
                    return deserializeIntoVfamCreatePolicyAuditRecord;
                case "#microsoft.graph.security.vfamDeletePolicyAuditRecord":
                    return deserializeIntoVfamDeletePolicyAuditRecord;
                case "#microsoft.graph.security.vfamUpdatePolicyAuditRecord":
                    return deserializeIntoVfamUpdatePolicyAuditRecord;
                case "#microsoft.graph.security.vivaAmplifyAuditRecord":
                    return deserializeIntoVivaAmplifyAuditRecord;
                case "#microsoft.graph.security.vivaEngageEventsAuditRecord":
                    return deserializeIntoVivaEngageEventsAuditRecord;
                case "#microsoft.graph.security.vivaEngageNetworkAssociationAuditRecord":
                    return deserializeIntoVivaEngageNetworkAssociationAuditRecord;
                case "#microsoft.graph.security.vivaEngageSegmentAuditRecord":
                    return deserializeIntoVivaEngageSegmentAuditRecord;
                case "#microsoft.graph.security.vivaGlintAdvancedConfigurationAuditRecord":
                    return deserializeIntoVivaGlintAdvancedConfigurationAuditRecord;
                case "#microsoft.graph.security.vivaGlintAgenticCampaignAuditRecord":
                    return deserializeIntoVivaGlintAgenticCampaignAuditRecord;
                case "#microsoft.graph.security.vivaGlintFeedbackProgramAuditRecord":
                    return deserializeIntoVivaGlintFeedbackProgramAuditRecord;
                case "#microsoft.graph.security.vivaGlintOrganizationalDataAuditRecord":
                    return deserializeIntoVivaGlintOrganizationalDataAuditRecord;
                case "#microsoft.graph.security.vivaGlintPulseProgramAuditRecord":
                    return deserializeIntoVivaGlintPulseProgramAuditRecord;
                case "#microsoft.graph.security.vivaGlintPulseProgramRespondentRateAuditRecord":
                    return deserializeIntoVivaGlintPulseProgramRespondentRateAuditRecord;
                case "#microsoft.graph.security.vivaGlintQuestionAuditRecord":
                    return deserializeIntoVivaGlintQuestionAuditRecord;
                case "#microsoft.graph.security.vivaGlintRoleAuditRecord":
                    return deserializeIntoVivaGlintRoleAuditRecord;
                case "#microsoft.graph.security.vivaGlintRubiconAuditRecord":
                    return deserializeIntoVivaGlintRubiconAuditRecord;
                case "#microsoft.graph.security.vivaGlintSupportAccessAuditRecord":
                    return deserializeIntoVivaGlintSupportAccessAuditRecord;
                case "#microsoft.graph.security.vivaGlintSystemAuditRecord":
                    return deserializeIntoVivaGlintSystemAuditRecord;
                case "#microsoft.graph.security.vivaGlintUserAuditRecord":
                    return deserializeIntoVivaGlintUserAuditRecord;
                case "#microsoft.graph.security.vivaGlintUserGroupAuditRecord":
                    return deserializeIntoVivaGlintUserGroupAuditRecord;
                case "#microsoft.graph.security.vivaGoalsAuditRecord":
                    return deserializeIntoVivaGoalsAuditRecord;
                case "#microsoft.graph.security.vivaLearningAdminAuditRecord":
                    return deserializeIntoVivaLearningAdminAuditRecord;
                case "#microsoft.graph.security.vivaLearningAuditRecord":
                    return deserializeIntoVivaLearningAuditRecord;
                case "#microsoft.graph.security.vivaPulseAdminAuditRecord":
                    return deserializeIntoVivaPulseAdminAuditRecord;
                case "#microsoft.graph.security.vivaPulseOrganizerAuditRecord":
                    return deserializeIntoVivaPulseOrganizerAuditRecord;
                case "#microsoft.graph.security.vivaPulseReportAuditRecord":
                    return deserializeIntoVivaPulseReportAuditRecord;
                case "#microsoft.graph.security.vivaPulseResponseAuditRecord":
                    return deserializeIntoVivaPulseResponseAuditRecord;
                case "#microsoft.graph.security.wdatpAlertsAuditRecord":
                    return deserializeIntoWdatpAlertsAuditRecord;
                case "#microsoft.graph.security.webContentFilteringAuditRecord":
                    return deserializeIntoWebContentFilteringAuditRecord;
                case "#microsoft.graph.security.windows365CustomerLockboxAuditRecord":
                    return deserializeIntoWindows365CustomerLockboxAuditRecord;
                case "#microsoft.graph.security.workplaceAnalyticsAuditRecord":
                    return deserializeIntoWorkplaceAnalyticsAuditRecord;
                case "#microsoft.graph.security.yammerAuditRecord":
                    return deserializeIntoYammerAuditRecord;
                case "#microsoft.graph.security.yammerUserHidingAuditRecord":
                    return deserializeIntoYammerUserHidingAuditRecord;
            }
        }
    }
    return deserializeIntoAuditData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditInfo}
 */
// @ts-ignore
export function createAuditInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditLogQueryCollectionResponse}
 */
// @ts-ignore
export function createAuditLogQueryCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditLogQueryCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditLogQuery}
 */
// @ts-ignore
export function createAuditLogQueryFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditLogQuery;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditLogRecordCollectionResponse}
 */
// @ts-ignore
export function createAuditLogRecordCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditLogRecordCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditLogRecord}
 */
// @ts-ignore
export function createAuditLogRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditLogRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditRecordTypeDictionary}
 */
// @ts-ignore
export function createAuditRecordTypeDictionaryFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditRecordTypeDictionary;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuditSearchAuditRecord}
 */
// @ts-ignore
export function createAuditSearchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuditSearchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuthorityTemplateCollectionResponse}
 */
// @ts-ignore
export function createAuthorityTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuthorityTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AuthorityTemplate}
 */
// @ts-ignore
export function createAuthorityTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoAuthorityTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AutoAuditingConfiguration}
 */
// @ts-ignore
export function createAutoAuditingConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoAutoAuditingConfiguration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AutomatedAction}
 */
// @ts-ignore
export function createAutomatedActionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.accountObjectIdAction":
                    return deserializeIntoAccountObjectIdAction;
                case "#microsoft.graph.security.accountSidAction":
                    return deserializeIntoAccountSidAction;
                case "#microsoft.graph.security.deviceAction":
                    return deserializeIntoDeviceAction;
                case "#microsoft.graph.security.emailAction":
                    return deserializeIntoEmailAction;
                case "#microsoft.graph.security.fileAction":
                    return deserializeIntoFileAction;
                case "#microsoft.graph.security.isolateDeviceAction":
                    return deserializeIntoIsolateDeviceAction;
                case "#microsoft.graph.security.stopAndQuarantineFileAction":
                    return deserializeIntoStopAndQuarantineFileAction;
            }
        }
    }
    return deserializeIntoAutomatedAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AutomatedActionSet}
 */
// @ts-ignore
export function createAutomatedActionSetFromDiscriminatorValue(parseNode) {
    return deserializeIntoAutomatedActionSet;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AutonomousSystem}
 */
// @ts-ignore
export function createAutonomousSystemFromDiscriminatorValue(parseNode) {
    return deserializeIntoAutonomousSystem;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzfwApplicationRuleAggregationEventRecord}
 */
// @ts-ignore
export function createAzfwApplicationRuleAggregationEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzfwApplicationRuleAggregationEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzfwDnsQueryEventRecord}
 */
// @ts-ignore
export function createAzfwDnsQueryEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzfwDnsQueryEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzfwNetworkRuleEventRecord}
 */
// @ts-ignore
export function createAzfwNetworkRuleEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzfwNetworkRuleEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureActiveDirectoryAccountLogonAuditRecord}
 */
// @ts-ignore
export function createAzureActiveDirectoryAccountLogonAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureActiveDirectoryAccountLogonAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureActiveDirectoryAuditRecord}
 */
// @ts-ignore
export function createAzureActiveDirectoryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureActiveDirectoryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureActiveDirectoryStsLogonAuditRecord}
 */
// @ts-ignore
export function createAzureActiveDirectoryStsLogonAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureActiveDirectoryStsLogonAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureAISearchAuditRecord}
 */
// @ts-ignore
export function createAzureAISearchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureAISearchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureResourceEntityMapping}
 */
// @ts-ignore
export function createAzureResourceEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureResourceEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureResourceEvidence}
 */
// @ts-ignore
export function createAzureResourceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureResourceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BlobContainerEvidence}
 */
// @ts-ignore
export function createBlobContainerEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoBlobContainerEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BlobEvidence}
 */
// @ts-ignore
export function createBlobEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoBlobEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BlockFileResponseAction}
 */
// @ts-ignore
export function createBlockFileResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoBlockFileResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CampaignAuditRecord}
 */
// @ts-ignore
export function createCampaignAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCampaignAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CaseEscaped}
 */
// @ts-ignore
export function createCaseEscapedFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryCase":
                    return deserializeIntoEdiscoveryCase;
            }
        }
    }
    return deserializeIntoCaseEscaped;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CaseManagementRoot}
 */
// @ts-ignore
export function createCaseManagementRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoCaseManagementRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CaseOperationCollectionResponse}
 */
// @ts-ignore
export function createCaseOperationCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCaseOperationCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CaseOperation}
 */
// @ts-ignore
export function createCaseOperationFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryAddToReviewSetOperation":
                    return deserializeIntoEdiscoveryAddToReviewSetOperation;
                case "#microsoft.graph.security.ediscoveryEstimateOperation":
                    return deserializeIntoEdiscoveryEstimateOperation;
                case "#microsoft.graph.security.ediscoveryExportOperation":
                    return deserializeIntoEdiscoveryExportOperation;
                case "#microsoft.graph.security.ediscoveryHoldOperation":
                    return deserializeIntoEdiscoveryHoldOperation;
                case "#microsoft.graph.security.ediscoveryHoldPolicySyncOperation":
                    return deserializeIntoEdiscoveryHoldPolicySyncOperation;
                case "#microsoft.graph.security.ediscoveryIndexOperation":
                    return deserializeIntoEdiscoveryIndexOperation;
                case "#microsoft.graph.security.ediscoveryPurgeDataOperation":
                    return deserializeIntoEdiscoveryPurgeDataOperation;
                case "#microsoft.graph.security.ediscoverySearchExportOperation":
                    return deserializeIntoEdiscoverySearchExportOperation;
                case "#microsoft.graph.security.ediscoveryTagOperation":
                    return deserializeIntoEdiscoveryTagOperation;
            }
        }
    }
    return deserializeIntoCaseOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CasesRoot}
 */
// @ts-ignore
export function createCasesRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoCasesRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CategoryTemplateCollectionResponse}
 */
// @ts-ignore
export function createCategoryTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCategoryTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CategoryTemplate}
 */
// @ts-ignore
export function createCategoryTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoCategoryTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CcraiPolicyViolationRecord}
 */
// @ts-ignore
export function createCcraiPolicyViolationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCcraiPolicyViolationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpClassifierHealthRecord}
 */
// @ts-ignore
export function createCdpClassifierHealthRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpClassifierHealthRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpColdCrawlStatusRecord}
 */
// @ts-ignore
export function createCdpColdCrawlStatusRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpColdCrawlStatusRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpConsumptionResourceRecord}
 */
// @ts-ignore
export function createCdpConsumptionResourceRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpConsumptionResourceRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpContentExplorerAggregateRecord}
 */
// @ts-ignore
export function createCdpContentExplorerAggregateRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpContentExplorerAggregateRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpdlmaiInteractionInsightsRecord}
 */
// @ts-ignore
export function createCdpdlmaiInteractionInsightsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpdlmaiInteractionInsightsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpDlpSensitiveEndpointAuditRecord}
 */
// @ts-ignore
export function createCdpDlpSensitiveEndpointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpDlpSensitiveEndpointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpLogRecord}
 */
// @ts-ignore
export function createCdpLogRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpLogRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpOcrBillingRecord}
 */
// @ts-ignore
export function createCdpOcrBillingRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpOcrBillingRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CdpResourceScopeChangeEventRecord}
 */
// @ts-ignore
export function createCdpResourceScopeChangeEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCdpResourceScopeChangeEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CitationTemplateCollectionResponse}
 */
// @ts-ignore
export function createCitationTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCitationTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CitationTemplate}
 */
// @ts-ignore
export function createCitationTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoCitationTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ClassificationResult}
 */
// @ts-ignore
export function createClassificationResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoClassificationResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudAppDiscoveryReportCollectionResponse}
 */
// @ts-ignore
export function createCloudAppDiscoveryReportCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudAppDiscoveryReportCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudAppDiscoveryReport}
 */
// @ts-ignore
export function createCloudAppDiscoveryReportFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudAppDiscoveryReport;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudApplicationEntityMapping}
 */
// @ts-ignore
export function createCloudApplicationEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudApplicationEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudApplicationEvidence}
 */
// @ts-ignore
export function createCloudApplicationEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudApplicationEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudLogonRequestEvidence}
 */
// @ts-ignore
export function createCloudLogonRequestEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudLogonRequestEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudLogonSessionEvidence}
 */
// @ts-ignore
export function createCloudLogonSessionEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudLogonSessionEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudUpdateDeviceConfigAuditRecord}
 */
// @ts-ignore
export function createCloudUpdateDeviceConfigAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudUpdateDeviceConfigAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudUpdateProfileConfigAuditRecord}
 */
// @ts-ignore
export function createCloudUpdateProfileConfigAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudUpdateProfileConfigAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CloudUpdateTenantConfigAuditRecord}
 */
// @ts-ignore
export function createCloudUpdateTenantConfigAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCloudUpdateTenantConfigAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CollaborationRoot}
 */
// @ts-ignore
export function createCollaborationRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoCollaborationRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CollectInvestigationPackageIncidentTaskResponseAction}
 */
// @ts-ignore
export function createCollectInvestigationPackageIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoCollectInvestigationPackageIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CollectInvestigationPackageResponseAction}
 */
// @ts-ignore
export function createCollectInvestigationPackageResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoCollectInvestigationPackageResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceConnectorAuditRecord}
 */
// @ts-ignore
export function createComplianceConnectorAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceConnectorAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLMExchangeAuditRecord}
 */
// @ts-ignore
export function createComplianceDLMExchangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLMExchangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLMSharePointAuditRecord}
 */
// @ts-ignore
export function createComplianceDLMSharePointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLMSharePointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPApplicationsAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPApplicationsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPApplicationsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPApplicationsClassificationAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPApplicationsClassificationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPApplicationsClassificationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPEndpointAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPEndpointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPEndpointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPEndpointDiscoveryAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPEndpointDiscoveryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPEndpointDiscoveryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPEnforcementAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPEnforcementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPEnforcementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPExchangeAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPExchangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPExchangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPExchangeClassificationAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPExchangeClassificationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPExchangeClassificationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPExchangeClassificationCdpRecord}
 */
// @ts-ignore
export function createComplianceDLPExchangeClassificationCdpRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPExchangeClassificationCdpRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPExchangeDiscoveryAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPExchangeDiscoveryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPExchangeDiscoveryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPSharePointAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPSharePointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPSharePointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPSharePointClassificationAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPSharePointClassificationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPSharePointClassificationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPSharePointClassificationCdpRecord}
 */
// @ts-ignore
export function createComplianceDLPSharePointClassificationCdpRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPSharePointClassificationCdpRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPSharePointClassificationExtendedAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPSharePointClassificationExtendedAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceDLPSharePointClassificationExtendedAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceExchangeOcrAuditRecord}
 */
// @ts-ignore
export function createComplianceExchangeOcrAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceExchangeOcrAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceManagerActionRecord}
 */
// @ts-ignore
export function createComplianceManagerActionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceManagerActionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CompliancePolicyGradingSharePointAuditRecord}
 */
// @ts-ignore
export function createCompliancePolicyGradingSharePointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCompliancePolicyGradingSharePointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceSettingsChangeAuditRecord}
 */
// @ts-ignore
export function createComplianceSettingsChangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceSettingsChangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceSitGradingSharePointAuditRecord}
 */
// @ts-ignore
export function createComplianceSitGradingSharePointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceSitGradingSharePointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceSupervisionExchangeAuditRecord}
 */
// @ts-ignore
export function createComplianceSupervisionExchangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoComplianceSupervisionExchangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CompromiseIndicator}
 */
// @ts-ignore
export function createCompromiseIndicatorFromDiscriminatorValue(parseNode) {
    return deserializeIntoCompromiseIndicator;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ConnectedAIAppInteractionAuditRecord}
 */
// @ts-ignore
export function createConnectedAIAppInteractionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoConnectedAIAppInteractionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ConsumptionResourceAuditRecord}
 */
// @ts-ignore
export function createConsumptionResourceAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoConsumptionResourceAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContainerEvidence}
 */
// @ts-ignore
export function createContainerEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoContainerEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContainerImageEvidence}
 */
// @ts-ignore
export function createContainerImageEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoContainerImageEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContainerRegistryEvidence}
 */
// @ts-ignore
export function createContainerRegistryEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoContainerRegistryEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentInfo}
 */
// @ts-ignore
export function createContentInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentLabel}
 */
// @ts-ignore
export function createContentLabelFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentLabel;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ContentStoreMetadataRecord}
 */
// @ts-ignore
export function createContentStoreMetadataRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoContentStoreMetadataRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotAgentManagementAuditRecord}
 */
// @ts-ignore
export function createCopilotAgentManagementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotAgentManagementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotForSecurityLoggingAuditRecord}
 */
// @ts-ignore
export function createCopilotForSecurityLoggingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotForSecurityLoggingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotForSecurityTriggerAuditRecord}
 */
// @ts-ignore
export function createCopilotForSecurityTriggerAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotForSecurityTriggerAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotInteractionAuditRecord}
 */
// @ts-ignore
export function createCopilotInteractionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotInteractionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotPluginSettingAuditRecord}
 */
// @ts-ignore
export function createCopilotPluginSettingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotPluginSettingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotPromptBookSettingAuditRecord}
 */
// @ts-ignore
export function createCopilotPromptBookSettingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotPromptBookSettingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotSessionSharingAuditRecord}
 */
// @ts-ignore
export function createCopilotSessionSharingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotSessionSharingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotSettingAuditRecord}
 */
// @ts-ignore
export function createCopilotSettingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotSettingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CopilotWorkspaceSettingAuditRecord}
 */
// @ts-ignore
export function createCopilotWorkspaceSettingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCopilotWorkspaceSettingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CoreReportingSettingsAuditRecord}
 */
// @ts-ignore
export function createCoreReportingSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCoreReportingSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CortanaBriefingAuditRecord}
 */
// @ts-ignore
export function createCortanaBriefingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCortanaBriefingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CriticalAssetManagementClassificationRecord}
 */
// @ts-ignore
export function createCriticalAssetManagementClassificationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCriticalAssetManagementClassificationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CrmEntityOperationAuditRecord}
 */
// @ts-ignore
export function createCrmEntityOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCrmEntityOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CrossTenantAccessPolicyAuditRecord}
 */
// @ts-ignore
export function createCrossTenantAccessPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCrossTenantAccessPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomAction}
 */
// @ts-ignore
export function createCustomActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoCustomAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomerKeyServiceEncryptionAuditRecord}
 */
// @ts-ignore
export function createCustomerKeyServiceEncryptionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoCustomerKeyServiceEncryptionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CvssSummary}
 */
// @ts-ignore
export function createCvssSummaryFromDiscriminatorValue(parseNode) {
    return deserializeIntoCvssSummary;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataCenterSecurityCmdletAuditRecord}
 */
// @ts-ignore
export function createDataCenterSecurityCmdletAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataCenterSecurityCmdletAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataDiscoveryReport}
 */
// @ts-ignore
export function createDataDiscoveryReportFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataDiscoveryReport;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataDiscoveryRoot}
 */
// @ts-ignore
export function createDataDiscoveryRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataDiscoveryRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataGovernanceAuditRecord}
 */
// @ts-ignore
export function createDataGovernanceAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataGovernanceAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataInsightsRestApiAuditRecord}
 */
// @ts-ignore
export function createDataInsightsRestApiAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataInsightsRestApiAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataLakeExportOperationAuditRecord}
 */
// @ts-ignore
export function createDataLakeExportOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataLakeExportOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataSecurityInvestigationAuditRecord}
 */
// @ts-ignore
export function createDataSecurityInvestigationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataSecurityInvestigationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataSet}
 */
// @ts-ignore
export function createDataSetFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryReviewSet":
                    return deserializeIntoEdiscoveryReviewSet;
            }
        }
    }
    return deserializeIntoDataSet;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataShareOperationAuditRecord}
 */
// @ts-ignore
export function createDataShareOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataShareOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataSourceCollectionResponse}
 */
// @ts-ignore
export function createDataSourceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDataSourceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataSourceContainer}
 */
// @ts-ignore
export function createDataSourceContainerFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryCustodian":
                    return deserializeIntoEdiscoveryCustodian;
                case "#microsoft.graph.security.ediscoveryNoncustodialDataSource":
                    return deserializeIntoEdiscoveryNoncustodialDataSource;
            }
        }
    }
    return deserializeIntoDataSourceContainer;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DataSource}
 */
// @ts-ignore
export function createDataSourceFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.siteSource":
                    return deserializeIntoSiteSource;
                case "#microsoft.graph.security.unifiedGroupSource":
                    return deserializeIntoUnifiedGroupSource;
                case "#microsoft.graph.security.userSource":
                    return deserializeIntoUserSource;
            }
        }
    }
    return deserializeIntoDataSource;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DefaultAuditData}
 */
// @ts-ignore
export function createDefaultAuditDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoDefaultAuditData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DefenderCaseManagementAuditRecord}
 */
// @ts-ignore
export function createDefenderCaseManagementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDefenderCaseManagementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DefenderPreviewFeaturesRecord}
 */
// @ts-ignore
export function createDefenderPreviewFeaturesRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDefenderPreviewFeaturesRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DefenderSecurityForAIConfigurationAuditRecord}
 */
// @ts-ignore
export function createDefenderSecurityForAIConfigurationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDefenderSecurityForAIConfigurationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DepartmentTemplateCollectionResponse}
 */
// @ts-ignore
export function createDepartmentTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDepartmentTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DepartmentTemplate}
 */
// @ts-ignore
export function createDepartmentTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoDepartmentTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeployFeatureActivityRecord}
 */
// @ts-ignore
export function createDeployFeatureActivityRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeployFeatureActivityRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeploymentAccessKeyType}
 */
// @ts-ignore
export function createDeploymentAccessKeyTypeFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeploymentAccessKeyType;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetectionAction}
 */
// @ts-ignore
export function createDetectionActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetectionAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetectionRuleCollectionResponse}
 */
// @ts-ignore
export function createDetectionRuleCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetectionRuleCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetectionRule}
 */
// @ts-ignore
export function createDetectionRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetectionRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetonationBehaviourDetails}
 */
// @ts-ignore
export function createDetonationBehaviourDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetonationBehaviourDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetonationChain}
 */
// @ts-ignore
export function createDetonationChainFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetonationChain;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetonationDetails}
 */
// @ts-ignore
export function createDetonationDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetonationDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DetonationObservables}
 */
// @ts-ignore
export function createDetonationObservablesFromDiscriminatorValue(parseNode) {
    return deserializeIntoDetonationObservables;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeviceAction}
 */
// @ts-ignore
export function createDeviceActionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.isolateDeviceAction":
                    return deserializeIntoIsolateDeviceAction;
            }
        }
    }
    return deserializeIntoDeviceAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeviceDiscoverySettingsAuthenticatedScansRecord}
 */
// @ts-ignore
export function createDeviceDiscoverySettingsAuthenticatedScansRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeviceDiscoverySettingsAuthenticatedScansRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeviceDiscoverySettingsExclusionRecord}
 */
// @ts-ignore
export function createDeviceDiscoverySettingsExclusionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeviceDiscoverySettingsExclusionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeviceDiscoverySettingsRecord}
 */
// @ts-ignore
export function createDeviceDiscoverySettingsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeviceDiscoverySettingsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DeviceEvidence}
 */
// @ts-ignore
export function createDeviceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoDeviceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Dictionary}
 */
// @ts-ignore
export function createDictionaryFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.alertCustomDetails":
                    return deserializeIntoAlertCustomDetails;
            }
        }
    }
    return deserializeIntoDictionary;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DisableUserIncidentTaskResponseAction}
 */
// @ts-ignore
export function createDisableUserIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoDisableUserIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DisableUserResponseAction}
 */
// @ts-ignore
export function createDisableUserResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoDisableUserResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveredCloudAppDetail}
 */
// @ts-ignore
export function createDiscoveredCloudAppDetailFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.endpointDiscoveredCloudAppDetail":
                    return deserializeIntoEndpointDiscoveredCloudAppDetail;
            }
        }
    }
    return deserializeIntoDiscoveredCloudAppDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveredCloudAppDevice}
 */
// @ts-ignore
export function createDiscoveredCloudAppDeviceFromDiscriminatorValue(parseNode) {
    return deserializeIntoDiscoveredCloudAppDevice;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveredCloudAppInfo}
 */
// @ts-ignore
export function createDiscoveredCloudAppInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoDiscoveredCloudAppInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveredCloudAppIPAddress}
 */
// @ts-ignore
export function createDiscoveredCloudAppIPAddressFromDiscriminatorValue(parseNode) {
    return deserializeIntoDiscoveredCloudAppIPAddress;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveredCloudAppUser}
 */
// @ts-ignore
export function createDiscoveredCloudAppUserFromDiscriminatorValue(parseNode) {
    return deserializeIntoDiscoveredCloudAppUser;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DiscoveryAuditRecord}
 */
// @ts-ignore
export function createDiscoveryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDiscoveryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DispositionReviewStageCollectionResponse}
 */
// @ts-ignore
export function createDispositionReviewStageCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoDispositionReviewStageCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DispositionReviewStage}
 */
// @ts-ignore
export function createDispositionReviewStageFromDiscriminatorValue(parseNode) {
    return deserializeIntoDispositionReviewStage;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DlpEndpointAuditRecord}
 */
// @ts-ignore
export function createDlpEndpointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDlpEndpointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DlpImportResultAuditRecord}
 */
// @ts-ignore
export function createDlpImportResultAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDlpImportResultAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DlpSensitiveInformationTypeRulePackageCmdletRecord}
 */
// @ts-ignore
export function createDlpSensitiveInformationTypeRulePackageCmdletRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDlpSensitiveInformationTypeRulePackageCmdletRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DnsEntityMapping}
 */
// @ts-ignore
export function createDnsEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoDnsEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DnsEvidence}
 */
// @ts-ignore
export function createDnsEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoDnsEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DowngradeJustification}
 */
// @ts-ignore
export function createDowngradeJustificationFromDiscriminatorValue(parseNode) {
    return deserializeIntoDowngradeJustification;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DragonCopilotAccessRecord}
 */
// @ts-ignore
export function createDragonCopilotAccessRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDragonCopilotAccessRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DragonCopilotAdminRecord}
 */
// @ts-ignore
export function createDragonCopilotAdminRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDragonCopilotAdminRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DragonCopilotClinicalDataRecord}
 */
// @ts-ignore
export function createDragonCopilotClinicalDataRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDragonCopilotClinicalDataRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {DragonCopilotSessionRecord}
 */
// @ts-ignore
export function createDragonCopilotSessionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDragonCopilotSessionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Dynamics365BusinessCentralAuditRecord}
 */
// @ts-ignore
export function createDynamics365BusinessCentralAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoDynamics365BusinessCentralAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryAddToReviewSetOperation}
 */
// @ts-ignore
export function createEdiscoveryAddToReviewSetOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryAddToReviewSetOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCaseCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryCaseCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCaseCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCase}
 */
// @ts-ignore
export function createEdiscoveryCaseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCase;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCaseMemberCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryCaseMemberCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCaseMemberCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCaseMember}
 */
// @ts-ignore
export function createEdiscoveryCaseMemberFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCaseMember;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCaseSettings}
 */
// @ts-ignore
export function createEdiscoveryCaseSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCaseSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCustodianCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryCustodianCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCustodianCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryCustodian}
 */
// @ts-ignore
export function createEdiscoveryCustodianFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryCustodian;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryEstimateOperation}
 */
// @ts-ignore
export function createEdiscoveryEstimateOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryEstimateOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryExportOperation}
 */
// @ts-ignore
export function createEdiscoveryExportOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryExportOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryFileCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryFileCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryFileCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryFile}
 */
// @ts-ignore
export function createEdiscoveryFileFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryFile;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryHoldOperation}
 */
// @ts-ignore
export function createEdiscoveryHoldOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryHoldOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryHoldPolicyCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryHoldPolicyCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryHoldPolicyCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryHoldPolicy}
 */
// @ts-ignore
export function createEdiscoveryHoldPolicyFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryHoldPolicy;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryHoldPolicySyncOperation}
 */
// @ts-ignore
export function createEdiscoveryHoldPolicySyncOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryHoldPolicySyncOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryIndexOperation}
 */
// @ts-ignore
export function createEdiscoveryIndexOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryIndexOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryNoncustodialDataSourceCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryNoncustodialDataSourceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryNoncustodialDataSourceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryNoncustodialDataSource}
 */
// @ts-ignore
export function createEdiscoveryNoncustodialDataSourceFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryNoncustodialDataSource;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryPurgeDataOperation}
 */
// @ts-ignore
export function createEdiscoveryPurgeDataOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryPurgeDataOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewSetCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryReviewSetCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewSetCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewSet}
 */
// @ts-ignore
export function createEdiscoveryReviewSetFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewSet;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewSetQueryCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryReviewSetQueryCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewSetQueryCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewSetQuery}
 */
// @ts-ignore
export function createEdiscoveryReviewSetQueryFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewSetQuery;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewTagCollectionResponse}
 */
// @ts-ignore
export function createEdiscoveryReviewTagCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewTagCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryReviewTag}
 */
// @ts-ignore
export function createEdiscoveryReviewTagFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryReviewTag;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoverySearchCollectionResponse}
 */
// @ts-ignore
export function createEdiscoverySearchCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoverySearchCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoverySearchExportOperation}
 */
// @ts-ignore
export function createEdiscoverySearchExportOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoverySearchExportOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoverySearch}
 */
// @ts-ignore
export function createEdiscoverySearchFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoverySearch;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EdiscoveryTagOperation}
 */
// @ts-ignore
export function createEdiscoveryTagOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEdiscoveryTagOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EhrConnectorAuditBaseRecord}
 */
// @ts-ignore
export function createEhrConnectorAuditBaseRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoEhrConnectorAuditBaseRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailAction}
 */
// @ts-ignore
export function createEmailActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailContentThreatSubmission}
 */
// @ts-ignore
export function createEmailContentThreatSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailContentThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailSender}
 */
// @ts-ignore
export function createEmailSenderFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailSender;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailThreatSubmissionCollectionResponse}
 */
// @ts-ignore
export function createEmailThreatSubmissionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailThreatSubmissionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailThreatSubmission}
 */
// @ts-ignore
export function createEmailThreatSubmissionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.emailContentThreatSubmission":
                    return deserializeIntoEmailContentThreatSubmission;
                case "#microsoft.graph.security.emailUrlThreatSubmission":
                    return deserializeIntoEmailUrlThreatSubmission;
            }
        }
    }
    return deserializeIntoEmailThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailThreatSubmissionPolicyCollectionResponse}
 */
// @ts-ignore
export function createEmailThreatSubmissionPolicyCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailThreatSubmissionPolicyCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailThreatSubmissionPolicy}
 */
// @ts-ignore
export function createEmailThreatSubmissionPolicyFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailThreatSubmissionPolicy;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EmailUrlThreatSubmission}
 */
// @ts-ignore
export function createEmailUrlThreatSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoEmailUrlThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EnableUserIncidentTaskResponseAction}
 */
// @ts-ignore
export function createEnableUserIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoEnableUserIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EndpointDiscoveredCloudAppDetail}
 */
// @ts-ignore
export function createEndpointDiscoveredCloudAppDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoEndpointDiscoveredCloudAppDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EntityDefinitionInput}
 */
// @ts-ignore
export function createEntityDefinitionInputFromDiscriminatorValue(parseNode) {
    return deserializeIntoEntityDefinitionInput;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EntityMappingConfiguration}
 */
// @ts-ignore
export function createEntityMappingConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoEntityMappingConfiguration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EntityMapping}
 */
// @ts-ignore
export function createEntityMappingFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.accountEntityMapping":
                    return deserializeIntoAccountEntityMapping;
                case "#microsoft.graph.security.amazonResourceEntityMapping":
                    return deserializeIntoAmazonResourceEntityMapping;
                case "#microsoft.graph.security.azureResourceEntityMapping":
                    return deserializeIntoAzureResourceEntityMapping;
                case "#microsoft.graph.security.cloudApplicationEntityMapping":
                    return deserializeIntoCloudApplicationEntityMapping;
                case "#microsoft.graph.security.dnsEntityMapping":
                    return deserializeIntoDnsEntityMapping;
                case "#microsoft.graph.security.fileEntityMapping":
                    return deserializeIntoFileEntityMapping;
                case "#microsoft.graph.security.googleCloudResourceEntityMapping":
                    return deserializeIntoGoogleCloudResourceEntityMapping;
                case "#microsoft.graph.security.hostEntityMapping":
                    return deserializeIntoHostEntityMapping;
                case "#microsoft.graph.security.ipEntityMapping":
                    return deserializeIntoIpEntityMapping;
                case "#microsoft.graph.security.mailboxEntityMapping":
                    return deserializeIntoMailboxEntityMapping;
                case "#microsoft.graph.security.mailClusterEntityMapping":
                    return deserializeIntoMailClusterEntityMapping;
                case "#microsoft.graph.security.mailMessageEntityMapping":
                    return deserializeIntoMailMessageEntityMapping;
                case "#microsoft.graph.security.oAuthApplicationEntityMapping":
                    return deserializeIntoOAuthApplicationEntityMapping;
                case "#microsoft.graph.security.processEntityMapping":
                    return deserializeIntoProcessEntityMapping;
                case "#microsoft.graph.security.registryValueEntityMapping":
                    return deserializeIntoRegistryValueEntityMapping;
                case "#microsoft.graph.security.securityGroupEntityMapping":
                    return deserializeIntoSecurityGroupEntityMapping;
                case "#microsoft.graph.security.urlEntityMapping":
                    return deserializeIntoUrlEntityMapping;
            }
        }
    }
    return deserializeIntoEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EnvironmentCollectionResponse}
 */
// @ts-ignore
export function createEnvironmentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoEnvironmentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Environment}
 */
// @ts-ignore
export function createEnvironmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoEnvironment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EopSubmissionFeedEntityAuditRecord}
 */
// @ts-ignore
export function createEopSubmissionFeedEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoEopSubmissionFeedEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EventPropagationResult}
 */
// @ts-ignore
export function createEventPropagationResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoEventPropagationResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EventQuery}
 */
// @ts-ignore
export function createEventQueryFromDiscriminatorValue(parseNode) {
    return deserializeIntoEventQuery;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeAdminAuditRecord}
 */
// @ts-ignore
export function createExchangeAdminAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeAdminAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeAggregatedMailboxAuditRecord}
 */
// @ts-ignore
export function createExchangeAggregatedMailboxAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeAggregatedMailboxAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeAggregatedOperationRecord}
 */
// @ts-ignore
export function createExchangeAggregatedOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeAggregatedOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeMailboxAuditGroupRecord}
 */
// @ts-ignore
export function createExchangeMailboxAuditGroupRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeMailboxAuditGroupRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeMailboxAuditRecord}
 */
// @ts-ignore
export function createExchangeMailboxAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeMailboxAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExportFileMetadata}
 */
// @ts-ignore
export function createExportFileMetadataFromDiscriminatorValue(parseNode) {
    return deserializeIntoExportFileMetadata;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FabricAuditRecord}
 */
// @ts-ignore
export function createFabricAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoFabricAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FabricPolicyRecord}
 */
// @ts-ignore
export function createFabricPolicyRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoFabricPolicyRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileAction}
 */
// @ts-ignore
export function createFileActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileContentThreatSubmission}
 */
// @ts-ignore
export function createFileContentThreatSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileContentThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileDetails}
 */
// @ts-ignore
export function createFileDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileEntityMapping}
 */
// @ts-ignore
export function createFileEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileEvidence}
 */
// @ts-ignore
export function createFileEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {File}
 */
// @ts-ignore
export function createFileFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryFile":
                    return deserializeIntoEdiscoveryFile;
            }
        }
    }
    return deserializeIntoFile;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileHashEvidence}
 */
// @ts-ignore
export function createFileHashEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileHashEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileHash}
 */
// @ts-ignore
export function createFileHashFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileHash;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanAppliedCategory}
 */
// @ts-ignore
export function createFilePlanAppliedCategoryFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanAppliedCategory;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanAuthority}
 */
// @ts-ignore
export function createFilePlanAuthorityFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanAuthority;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanCitation}
 */
// @ts-ignore
export function createFilePlanCitationFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanCitation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanDepartment}
 */
// @ts-ignore
export function createFilePlanDepartmentFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanDepartment;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanDescriptorBase}
 */
// @ts-ignore
export function createFilePlanDescriptorBaseFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.filePlanAppliedCategory":
                    return deserializeIntoFilePlanAppliedCategory;
                case "#microsoft.graph.security.filePlanAuthority":
                    return deserializeIntoFilePlanAuthority;
                case "#microsoft.graph.security.filePlanCitation":
                    return deserializeIntoFilePlanCitation;
                case "#microsoft.graph.security.filePlanDepartment":
                    return deserializeIntoFilePlanDepartment;
                case "#microsoft.graph.security.filePlanReference":
                    return deserializeIntoFilePlanReference;
                case "#microsoft.graph.security.filePlanSubcategory":
                    return deserializeIntoFilePlanSubcategory;
            }
        }
    }
    return deserializeIntoFilePlanDescriptorBase;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanDescriptor}
 */
// @ts-ignore
export function createFilePlanDescriptorFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanDescriptor;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanDescriptorTemplate}
 */
// @ts-ignore
export function createFilePlanDescriptorTemplateFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.authorityTemplate":
                    return deserializeIntoAuthorityTemplate;
                case "#microsoft.graph.security.categoryTemplate":
                    return deserializeIntoCategoryTemplate;
                case "#microsoft.graph.security.citationTemplate":
                    return deserializeIntoCitationTemplate;
                case "#microsoft.graph.security.departmentTemplate":
                    return deserializeIntoDepartmentTemplate;
                case "#microsoft.graph.security.filePlanReferenceTemplate":
                    return deserializeIntoFilePlanReferenceTemplate;
                case "#microsoft.graph.security.subcategoryTemplate":
                    return deserializeIntoSubcategoryTemplate;
            }
        }
    }
    return deserializeIntoFilePlanDescriptorTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanReference}
 */
// @ts-ignore
export function createFilePlanReferenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanReference;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanReferenceTemplateCollectionResponse}
 */
// @ts-ignore
export function createFilePlanReferenceTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanReferenceTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanReferenceTemplate}
 */
// @ts-ignore
export function createFilePlanReferenceTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanReferenceTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FilePlanSubcategory}
 */
// @ts-ignore
export function createFilePlanSubcategoryFromDiscriminatorValue(parseNode) {
    return deserializeIntoFilePlanSubcategory;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileThreatSubmissionCollectionResponse}
 */
// @ts-ignore
export function createFileThreatSubmissionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileThreatSubmissionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileThreatSubmission}
 */
// @ts-ignore
export function createFileThreatSubmissionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.fileContentThreatSubmission":
                    return deserializeIntoFileContentThreatSubmission;
                case "#microsoft.graph.security.fileUrlThreatSubmission":
                    return deserializeIntoFileUrlThreatSubmission;
            }
        }
    }
    return deserializeIntoFileThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileUrlThreatSubmission}
 */
// @ts-ignore
export function createFileUrlThreatSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileUrlThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ForceUserPasswordResetIncidentTaskResponseAction}
 */
// @ts-ignore
export function createForceUserPasswordResetIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoForceUserPasswordResetIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ForceUserPasswordResetResponseAction}
 */
// @ts-ignore
export function createForceUserPasswordResetResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoForceUserPasswordResetResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FormattedContent}
 */
// @ts-ignore
export function createFormattedContentFromDiscriminatorValue(parseNode) {
    return deserializeIntoFormattedContent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GeoLocation}
 */
// @ts-ignore
export function createGeoLocationFromDiscriminatorValue(parseNode) {
    return deserializeIntoGeoLocation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GitHubOrganizationEvidence}
 */
// @ts-ignore
export function createGitHubOrganizationEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoGitHubOrganizationEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GitHubRepoEvidence}
 */
// @ts-ignore
export function createGitHubRepoEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoGitHubRepoEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GitHubUserEvidence}
 */
// @ts-ignore
export function createGitHubUserEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoGitHubUserEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GoogleCloudResourceEntityMapping}
 */
// @ts-ignore
export function createGoogleCloudResourceEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoGoogleCloudResourceEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GoogleCloudResourceEvidence}
 */
// @ts-ignore
export function createGoogleCloudResourceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoGoogleCloudResourceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HardDeleteEmailIncidentTaskResponseAction}
 */
// @ts-ignore
export function createHardDeleteEmailIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoHardDeleteEmailIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HardDeleteResponseAction}
 */
// @ts-ignore
export function createHardDeleteResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoHardDeleteResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HealthcareSignalRecord}
 */
// @ts-ignore
export function createHealthcareSignalRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoHealthcareSignalRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HealthIssueCollectionResponse}
 */
// @ts-ignore
export function createHealthIssueCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHealthIssueCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HealthIssue}
 */
// @ts-ignore
export function createHealthIssueFromDiscriminatorValue(parseNode) {
    return deserializeIntoHealthIssue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostCollectionResponse}
 */
// @ts-ignore
export function createHostCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostComponentCollectionResponse}
 */
// @ts-ignore
export function createHostComponentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostComponentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostComponent}
 */
// @ts-ignore
export function createHostComponentFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostComponent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostCookieCollectionResponse}
 */
// @ts-ignore
export function createHostCookieCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostCookieCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostCookie}
 */
// @ts-ignore
export function createHostCookieFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostCookie;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostedRpaAuditRecord}
 */
// @ts-ignore
export function createHostedRpaAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostedRpaAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostEntityMapping}
 */
// @ts-ignore
export function createHostEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Host}
 */
// @ts-ignore
export function createHostFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.hostname":
                    return deserializeIntoHostname;
                case "#microsoft.graph.security.ipAddress":
                    return deserializeIntoIpAddress;
            }
        }
    }
    return deserializeIntoHost;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostLogonSessionEvidence}
 */
// @ts-ignore
export function createHostLogonSessionEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostLogonSessionEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Hostname}
 */
// @ts-ignore
export function createHostnameFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostname;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPairCollectionResponse}
 */
// @ts-ignore
export function createHostPairCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPairCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPair}
 */
// @ts-ignore
export function createHostPairFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPair;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPortBanner}
 */
// @ts-ignore
export function createHostPortBannerFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPortBanner;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPortCollectionResponse}
 */
// @ts-ignore
export function createHostPortCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPortCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPortComponent}
 */
// @ts-ignore
export function createHostPortComponentFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPortComponent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostPort}
 */
// @ts-ignore
export function createHostPortFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostPort;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostReputation}
 */
// @ts-ignore
export function createHostReputationFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostReputation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostReputationRule}
 */
// @ts-ignore
export function createHostReputationRuleFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostReputationRule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostSslCertificateCollectionResponse}
 */
// @ts-ignore
export function createHostSslCertificateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostSslCertificateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostSslCertificate}
 */
// @ts-ignore
export function createHostSslCertificateFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostSslCertificate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostSslCertificatePort}
 */
// @ts-ignore
export function createHostSslCertificatePortFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostSslCertificatePort;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostTrackerCollectionResponse}
 */
// @ts-ignore
export function createHostTrackerCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostTrackerCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HostTracker}
 */
// @ts-ignore
export function createHostTrackerFromDiscriminatorValue(parseNode) {
    return deserializeIntoHostTracker;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HrSignalAuditRecord}
 */
// @ts-ignore
export function createHrSignalAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoHrSignalAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingQueryResults}
 */
// @ts-ignore
export function createHuntingQueryResultsFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingQueryResults;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingRowResult}
 */
// @ts-ignore
export function createHuntingRowResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingRowResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaBuiltInFunction}
 */
// @ts-ignore
export function createHuntingSchemaBuiltInFunctionFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaBuiltInFunction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaFunctionParameter}
 */
// @ts-ignore
export function createHuntingSchemaFunctionParameterFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaFunctionParameter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaFunctions}
 */
// @ts-ignore
export function createHuntingSchemaFunctionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaFunctions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaResult}
 */
// @ts-ignore
export function createHuntingSchemaResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaSavedFunction}
 */
// @ts-ignore
export function createHuntingSchemaSavedFunctionFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaSavedFunction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaTableColumn}
 */
// @ts-ignore
export function createHuntingSchemaTableColumnFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaTableColumn;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HuntingSchemaTable}
 */
// @ts-ignore
export function createHuntingSchemaTableFromDiscriminatorValue(parseNode) {
    return deserializeIntoHuntingSchemaTable;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {HygieneEventRecord}
 */
// @ts-ignore
export function createHygieneEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoHygieneEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Hyperlink}
 */
// @ts-ignore
export function createHyperlinkFromDiscriminatorValue(parseNode) {
    return deserializeIntoHyperlink;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IdentityAccountsCollectionResponse}
 */
// @ts-ignore
export function createIdentityAccountsCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIdentityAccountsCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IdentityAccounts}
 */
// @ts-ignore
export function createIdentityAccountsFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.user":
                    return deserializeIntoUser;
            }
        }
    }
    return deserializeIntoIdentityAccounts;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IdentityContainer}
 */
// @ts-ignore
export function createIdentityContainerFromDiscriminatorValue(parseNode) {
    return deserializeIntoIdentityContainer;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ImpactedAsset}
 */
// @ts-ignore
export function createImpactedAssetFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.impactedDeviceAsset":
                    return deserializeIntoImpactedDeviceAsset;
                case "#microsoft.graph.security.impactedMailboxAsset":
                    return deserializeIntoImpactedMailboxAsset;
                case "#microsoft.graph.security.impactedUserAsset":
                    return deserializeIntoImpactedUserAsset;
            }
        }
    }
    return deserializeIntoImpactedAsset;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ImpactedDeviceAsset}
 */
// @ts-ignore
export function createImpactedDeviceAssetFromDiscriminatorValue(parseNode) {
    return deserializeIntoImpactedDeviceAsset;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ImpactedMailboxAsset}
 */
// @ts-ignore
export function createImpactedMailboxAssetFromDiscriminatorValue(parseNode) {
    return deserializeIntoImpactedMailboxAsset;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ImpactedUserAsset}
 */
// @ts-ignore
export function createImpactedUserAssetFromDiscriminatorValue(parseNode) {
    return deserializeIntoImpactedUserAsset;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IncidentCollectionResponse}
 */
// @ts-ignore
export function createIncidentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Incident}
 */
// @ts-ignore
export function createIncidentFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncident;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IncidentTaskCollectionResponse}
 */
// @ts-ignore
export function createIncidentTaskCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentTaskCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IncidentTask}
 */
// @ts-ignore
export function createIncidentTaskFromDiscriminatorValue(parseNode) {
    return deserializeIntoIncidentTask;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IncidentTaskResponseAction}
 */
// @ts-ignore
export function createIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.collectInvestigationPackageIncidentTaskResponseAction":
                    return deserializeIntoCollectInvestigationPackageIncidentTaskResponseAction;
                case "#microsoft.graph.security.disableUserIncidentTaskResponseAction":
                    return deserializeIntoDisableUserIncidentTaskResponseAction;
                case "#microsoft.graph.security.enableUserIncidentTaskResponseAction":
                    return deserializeIntoEnableUserIncidentTaskResponseAction;
                case "#microsoft.graph.security.forceUserPasswordResetIncidentTaskResponseAction":
                    return deserializeIntoForceUserPasswordResetIncidentTaskResponseAction;
                case "#microsoft.graph.security.hardDeleteEmailIncidentTaskResponseAction":
                    return deserializeIntoHardDeleteEmailIncidentTaskResponseAction;
                case "#microsoft.graph.security.isolateDeviceIncidentTaskResponseAction":
                    return deserializeIntoIsolateDeviceIncidentTaskResponseAction;
                case "#microsoft.graph.security.markUserAsCompromisedIncidentTaskResponseAction":
                    return deserializeIntoMarkUserAsCompromisedIncidentTaskResponseAction;
                case "#microsoft.graph.security.requireSignInIncidentTaskResponseAction":
                    return deserializeIntoRequireSignInIncidentTaskResponseAction;
                case "#microsoft.graph.security.restrictAppExecutionIncidentTaskResponseAction":
                    return deserializeIntoRestrictAppExecutionIncidentTaskResponseAction;
                case "#microsoft.graph.security.runAntivirusScanIncidentTaskResponseAction":
                    return deserializeIntoRunAntivirusScanIncidentTaskResponseAction;
                case "#microsoft.graph.security.softDeleteIncidentTaskResponseAction":
                    return deserializeIntoSoftDeleteIncidentTaskResponseAction;
                case "#microsoft.graph.security.stopAndQuarantineFileIncidentTaskResponseAction":
                    return deserializeIntoStopAndQuarantineFileIncidentTaskResponseAction;
                case "#microsoft.graph.security.unIsolateDeviceIncidentTaskResponseAction":
                    return deserializeIntoUnIsolateDeviceIncidentTaskResponseAction;
                case "#microsoft.graph.security.unRestrictAppExecutionIncidentTaskResponseAction":
                    return deserializeIntoUnRestrictAppExecutionIncidentTaskResponseAction;
            }
        }
    }
    return deserializeIntoIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Indicator}
 */
// @ts-ignore
export function createIndicatorFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.articleIndicator":
                    return deserializeIntoArticleIndicator;
                case "#microsoft.graph.security.intelligenceProfileIndicator":
                    return deserializeIntoIntelligenceProfileIndicator;
            }
        }
    }
    return deserializeIntoIndicator;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InformationBarrierPolicyApplicationAuditRecord}
 */
// @ts-ignore
export function createInformationBarrierPolicyApplicationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoInformationBarrierPolicyApplicationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InformationProtectionAction}
 */
// @ts-ignore
export function createInformationProtectionActionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.addContentFooterAction":
                    return deserializeIntoAddContentFooterAction;
                case "#microsoft.graph.security.addContentHeaderAction":
                    return deserializeIntoAddContentHeaderAction;
                case "#microsoft.graph.security.addWatermarkAction":
                    return deserializeIntoAddWatermarkAction;
                case "#microsoft.graph.security.applyLabelAction":
                    return deserializeIntoApplyLabelAction;
                case "#microsoft.graph.security.customAction":
                    return deserializeIntoCustomAction;
                case "#microsoft.graph.security.justifyAction":
                    return deserializeIntoJustifyAction;
                case "#microsoft.graph.security.metadataAction":
                    return deserializeIntoMetadataAction;
                case "#microsoft.graph.security.protectAdhocAction":
                    return deserializeIntoProtectAdhocAction;
                case "#microsoft.graph.security.protectByTemplateAction":
                    return deserializeIntoProtectByTemplateAction;
                case "#microsoft.graph.security.protectDoNotForwardAction":
                    return deserializeIntoProtectDoNotForwardAction;
                case "#microsoft.graph.security.recommendLabelAction":
                    return deserializeIntoRecommendLabelAction;
                case "#microsoft.graph.security.removeContentFooterAction":
                    return deserializeIntoRemoveContentFooterAction;
                case "#microsoft.graph.security.removeContentHeaderAction":
                    return deserializeIntoRemoveContentHeaderAction;
                case "#microsoft.graph.security.removeProtectionAction":
                    return deserializeIntoRemoveProtectionAction;
                case "#microsoft.graph.security.removeWatermarkAction":
                    return deserializeIntoRemoveWatermarkAction;
            }
        }
    }
    return deserializeIntoInformationProtectionAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InformationProtection}
 */
// @ts-ignore
export function createInformationProtectionFromDiscriminatorValue(parseNode) {
    return deserializeIntoInformationProtection;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InformationProtectionPolicySetting}
 */
// @ts-ignore
export function createInformationProtectionPolicySettingFromDiscriminatorValue(parseNode) {
    return deserializeIntoInformationProtectionPolicySetting;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InformationWorkerProtectionAuditRecord}
 */
// @ts-ignore
export function createInformationWorkerProtectionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoInformationWorkerProtectionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InitiateInvestigationResponseAction}
 */
// @ts-ignore
export function createInitiateInvestigationResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoInitiateInvestigationResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InsiderRiskScopedUserInsightsRecord}
 */
// @ts-ignore
export function createInsiderRiskScopedUserInsightsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoInsiderRiskScopedUserInsightsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InsiderRiskScopedUsersRecord}
 */
// @ts-ignore
export function createInsiderRiskScopedUsersRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoInsiderRiskScopedUsersRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntegratedAppsAppAdminActivityAuditRecord}
 */
// @ts-ignore
export function createIntegratedAppsAppAdminActivityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntegratedAppsAppAdminActivityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntegratedAppsAppSettingsAdminActivityAuditRecord}
 */
// @ts-ignore
export function createIntegratedAppsAppSettingsAdminActivityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntegratedAppsAppSettingsAdminActivityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntelligenceProfileCollectionResponse}
 */
// @ts-ignore
export function createIntelligenceProfileCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntelligenceProfileCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntelligenceProfileCountryOrRegionOfOrigin}
 */
// @ts-ignore
export function createIntelligenceProfileCountryOrRegionOfOriginFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntelligenceProfileCountryOrRegionOfOrigin;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntelligenceProfile}
 */
// @ts-ignore
export function createIntelligenceProfileFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntelligenceProfile;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntelligenceProfileIndicatorCollectionResponse}
 */
// @ts-ignore
export function createIntelligenceProfileIndicatorCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntelligenceProfileIndicatorCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IntelligenceProfileIndicator}
 */
// @ts-ignore
export function createIntelligenceProfileIndicatorFromDiscriminatorValue(parseNode) {
    return deserializeIntoIntelligenceProfileIndicator;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InvokeActionResult}
 */
// @ts-ignore
export function createInvokeActionResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoInvokeActionResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IoTDeviceEvidence}
 */
// @ts-ignore
export function createIoTDeviceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoIoTDeviceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IpAddress}
 */
// @ts-ignore
export function createIpAddressFromDiscriminatorValue(parseNode) {
    return deserializeIntoIpAddress;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IpEntityMapping}
 */
// @ts-ignore
export function createIpEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoIpEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IpEvidence}
 */
// @ts-ignore
export function createIpEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoIpEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IrmActivityAuditTrailRecord}
 */
// @ts-ignore
export function createIrmActivityAuditTrailRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoIrmActivityAuditTrailRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IrmUserDefinedDetectionRecord}
 */
// @ts-ignore
export function createIrmUserDefinedDetectionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoIrmUserDefinedDetectionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IsolateDeviceAction}
 */
// @ts-ignore
export function createIsolateDeviceActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoIsolateDeviceAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IsolateDeviceIncidentTaskResponseAction}
 */
// @ts-ignore
export function createIsolateDeviceIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoIsolateDeviceIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IsolateDeviceResponseAction}
 */
// @ts-ignore
export function createIsolateDeviceResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoIsolateDeviceResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {JustifyAction}
 */
// @ts-ignore
export function createJustifyActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoJustifyAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KaizalaAuditRecord}
 */
// @ts-ignore
export function createKaizalaAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoKaizalaAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KeyValuePair}
 */
// @ts-ignore
export function createKeyValuePairFromDiscriminatorValue(parseNode) {
    return deserializeIntoKeyValuePair;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesClusterEvidence}
 */
// @ts-ignore
export function createKubernetesClusterEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesClusterEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesControllerEvidence}
 */
// @ts-ignore
export function createKubernetesControllerEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesControllerEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesNamespaceEvidence}
 */
// @ts-ignore
export function createKubernetesNamespaceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesNamespaceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesPodEvidence}
 */
// @ts-ignore
export function createKubernetesPodEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesPodEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesSecretEvidence}
 */
// @ts-ignore
export function createKubernetesSecretEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesSecretEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesServiceAccountEvidence}
 */
// @ts-ignore
export function createKubernetesServiceAccountEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesServiceAccountEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesServiceEvidence}
 */
// @ts-ignore
export function createKubernetesServiceEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesServiceEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {KubernetesServicePort}
 */
// @ts-ignore
export function createKubernetesServicePortFromDiscriminatorValue(parseNode) {
    return deserializeIntoKubernetesServicePort;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LabelAnalyticsAggregateAuditRecord}
 */
// @ts-ignore
export function createLabelAnalyticsAggregateAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoLabelAnalyticsAggregateAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LabelContentExplorerAuditRecord}
 */
// @ts-ignore
export function createLabelContentExplorerAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoLabelContentExplorerAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LabelingOptions}
 */
// @ts-ignore
export function createLabelingOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoLabelingOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LabelsRoot}
 */
// @ts-ignore
export function createLabelsRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoLabelsRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LargeContentMetadataAuditRecord}
 */
// @ts-ignore
export function createLargeContentMetadataAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoLargeContentMetadataAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LoggedOnUser}
 */
// @ts-ignore
export function createLoggedOnUserFromDiscriminatorValue(parseNode) {
    return deserializeIntoLoggedOnUser;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {M365ComplianceConnectorAuditRecord}
 */
// @ts-ignore
export function createM365ComplianceConnectorAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoM365ComplianceConnectorAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {M365daadAuditRecord}
 */
// @ts-ignore
export function createM365daadAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoM365daadAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {M365odspAssetMetadataRecord}
 */
// @ts-ignore
export function createM365odspAssetMetadataRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoM365odspAssetMetadataRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {M365SearchSectionsRecord}
 */
// @ts-ignore
export function createM365SearchSectionsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoM365SearchSectionsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailboxConfigurationEvidence}
 */
// @ts-ignore
export function createMailboxConfigurationEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailboxConfigurationEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailboxEntityMapping}
 */
// @ts-ignore
export function createMailboxEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailboxEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailboxEvidence}
 */
// @ts-ignore
export function createMailboxEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailboxEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailClusterEntityMapping}
 */
// @ts-ignore
export function createMailClusterEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailClusterEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailClusterEvidence}
 */
// @ts-ignore
export function createMailClusterEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailClusterEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailMessageEntityMapping}
 */
// @ts-ignore
export function createMailMessageEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailMessageEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MailSubmissionData}
 */
// @ts-ignore
export function createMailSubmissionDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoMailSubmissionData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MalwareEvidence}
 */
// @ts-ignore
export function createMalwareEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoMalwareEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ManagedServicesAuditRecord}
 */
// @ts-ignore
export function createManagedServicesAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoManagedServicesAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ManagedTenantsAuditRecord}
 */
// @ts-ignore
export function createManagedTenantsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoManagedTenantsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ManualAlert}
 */
// @ts-ignore
export function createManualAlertFromDiscriminatorValue(parseNode) {
    return deserializeIntoManualAlert;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MapgAlertsAuditRecord}
 */
// @ts-ignore
export function createMapgAlertsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMapgAlertsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MapgOnboardAuditRecord}
 */
// @ts-ignore
export function createMapgOnboardAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMapgOnboardAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MapgPolicyAuditRecord}
 */
// @ts-ignore
export function createMapgPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMapgPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MapgRemediationAuditRecord}
 */
// @ts-ignore
export function createMapgRemediationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMapgRemediationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MarkUserAsCompromisedIncidentTaskResponseAction}
 */
// @ts-ignore
export function createMarkUserAsCompromisedIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMarkUserAsCompromisedIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MarkUserAsCompromisedResponseAction}
 */
// @ts-ignore
export function createMarkUserAsCompromisedResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMarkUserAsCompromisedResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {McasAlertsAuditRecord}
 */
// @ts-ignore
export function createMcasAlertsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMcasAlertsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MdaAuditRecord}
 */
// @ts-ignore
export function createMdaAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMdaAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MdaDataSecuritySignalRecord}
 */
// @ts-ignore
export function createMdaDataSecuritySignalRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMdaDataSecuritySignalRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MDASHAuditRecord}
 */
// @ts-ignore
export function createMDASHAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMDASHAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MdatpAuditRecord}
 */
// @ts-ignore
export function createMdatpAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMdatpAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MdcEventsRecord}
 */
// @ts-ignore
export function createMdcEventsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMdcEventsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MdiAuditRecord}
 */
// @ts-ignore
export function createMdiAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMdiAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MergeResponse}
 */
// @ts-ignore
export function createMergeResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoMergeResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MeshWorldsAuditRecord}
 */
// @ts-ignore
export function createMeshWorldsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMeshWorldsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MetadataAction}
 */
// @ts-ignore
export function createMetadataActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMetadataAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365BackupBackupItemAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365BackupBackupItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365BackupBackupItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365BackupBackupPolicyAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365BackupBackupPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365BackupBackupPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365BackupGranularBrowseTaskAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365BackupGranularBrowseTaskAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365BackupGranularBrowseTaskAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365BackupRestoreItemAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365BackupRestoreItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365BackupRestoreItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365BackupRestoreTaskAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365BackupRestoreTaskAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365BackupRestoreTaskAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Microsoft365CopilotScheduledPromptAuditRecord}
 */
// @ts-ignore
export function createMicrosoft365CopilotScheduledPromptAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoft365CopilotScheduledPromptAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftDefenderExpertsXDRAuditRecord}
 */
// @ts-ignore
export function createMicrosoftDefenderExpertsXDRAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftDefenderExpertsXDRAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftFlowAuditRecord}
 */
// @ts-ignore
export function createMicrosoftFlowAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftFlowAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftFormsAuditRecord}
 */
// @ts-ignore
export function createMicrosoftFormsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftFormsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftGraphDataConnectConsent}
 */
// @ts-ignore
export function createMicrosoftGraphDataConnectConsentFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftGraphDataConnectConsent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftGraphDataConnectOperation}
 */
// @ts-ignore
export function createMicrosoftGraphDataConnectOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftGraphDataConnectOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewDataCatalogOperationRecord}
 */
// @ts-ignore
export function createMicrosoftPurviewDataCatalogOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewDataCatalogOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewDataMapOperationRecord}
 */
// @ts-ignore
export function createMicrosoftPurviewDataMapOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewDataMapOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewMetadataPolicyOperationRecord}
 */
// @ts-ignore
export function createMicrosoftPurviewMetadataPolicyOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewMetadataPolicyOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewPolicyOperationRecord}
 */
// @ts-ignore
export function createMicrosoftPurviewPolicyOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewPolicyOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewPrivacyAuditEvent}
 */
// @ts-ignore
export function createMicrosoftPurviewPrivacyAuditEventFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewPrivacyAuditEvent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftPurviewUnifiedCatalogOperationRecord}
 */
// @ts-ignore
export function createMicrosoftPurviewUnifiedCatalogOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftPurviewUnifiedCatalogOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftStreamAuditRecord}
 */
// @ts-ignore
export function createMicrosoftStreamAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftStreamAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsAdminAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsAdminAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsAdminAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsAnalyticsAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsAnalyticsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsAnalyticsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsDeviceAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsDeviceAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsDeviceAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsRetentionLabelActionAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsRetentionLabelActionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsRetentionLabelActionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsSensitivityLabelActionAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsSensitivityLabelActionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsSensitivityLabelActionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsShiftsAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsShiftsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsShiftsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MicrosoftTeamsUserConcernAuditRecord}
 */
// @ts-ignore
export function createMicrosoftTeamsUserConcernAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMicrosoftTeamsUserConcernAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MigrateSensorsResult}
 */
// @ts-ignore
export function createMigrateSensorsResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoMigrateSensorsResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelExchangeItemAuditRecord}
 */
// @ts-ignore
export function createMipAutoLabelExchangeItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelExchangeItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelProgressFeedbackAuditRecord}
 */
// @ts-ignore
export function createMipAutoLabelProgressFeedbackAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelProgressFeedbackAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelSharePointItemAuditRecord}
 */
// @ts-ignore
export function createMipAutoLabelSharePointItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelSharePointItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelSharePointPolicyLocationAuditRecord}
 */
// @ts-ignore
export function createMipAutoLabelSharePointPolicyLocationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelSharePointPolicyLocationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelSimulationSharePointCompletionRecord}
 */
// @ts-ignore
export function createMipAutoLabelSimulationSharePointCompletionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelSimulationSharePointCompletionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelSimulationSharePointProgressRecord}
 */
// @ts-ignore
export function createMipAutoLabelSimulationSharePointProgressRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelSimulationSharePointProgressRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipAutoLabelSimulationStatisticsRecord}
 */
// @ts-ignore
export function createMipAutoLabelSimulationStatisticsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipAutoLabelSimulationStatisticsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipExactDataMatchAuditRecord}
 */
// @ts-ignore
export function createMipExactDataMatchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipExactDataMatchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipLabelAnalyticsAuditRecord}
 */
// @ts-ignore
export function createMipLabelAnalyticsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipLabelAnalyticsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MipLabelAuditRecord}
 */
// @ts-ignore
export function createMipLabelAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMipLabelAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MitreTactic}
 */
// @ts-ignore
export function createMitreTacticFromDiscriminatorValue(parseNode) {
    return deserializeIntoMitreTactic;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MitreTechnique}
 */
// @ts-ignore
export function createMitreTechniqueFromDiscriminatorValue(parseNode) {
    return deserializeIntoMitreTechnique;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MosAgentInfoRecord}
 */
// @ts-ignore
export function createMosAgentInfoRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMosAgentInfoRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MosAgentInfoRecordV2}
 */
// @ts-ignore
export function createMosAgentInfoRecordV2FromDiscriminatorValue(parseNode) {
    return deserializeIntoMosAgentInfoRecordV2;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MoveToDeletedItemsResponseAction}
 */
// @ts-ignore
export function createMoveToDeletedItemsResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMoveToDeletedItemsResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MoveToInboxResponseAction}
 */
// @ts-ignore
export function createMoveToInboxResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMoveToInboxResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MoveToJunkResponseAction}
 */
// @ts-ignore
export function createMoveToJunkResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoMoveToJunkResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Ms365dCustomDetectionAuditRecord}
 */
// @ts-ignore
export function createMs365dCustomDetectionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMs365dCustomDetectionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Ms365dIncidentAuditRecord}
 */
// @ts-ignore
export function createMs365dIncidentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMs365dIncidentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Ms365dSuppressionRuleAuditRecord}
 */
// @ts-ignore
export function createMs365dSuppressionRuleAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMs365dSuppressionRuleAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsdeCustomCollectionAuditRecord}
 */
// @ts-ignore
export function createMsdeCustomCollectionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsdeCustomCollectionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsdeGeneralSettingsAuditRecord}
 */
// @ts-ignore
export function createMsdeGeneralSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsdeGeneralSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsdeIndicatorsSettingsAuditRecord}
 */
// @ts-ignore
export function createMsdeIndicatorsSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsdeIndicatorsSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsdeResponseActionsAuditRecord}
 */
// @ts-ignore
export function createMsdeResponseActionsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsdeResponseActionsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsdeRolesSettingsAuditRecord}
 */
// @ts-ignore
export function createMsdeRolesSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsdeRolesSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MspVectorSearchContentMetadataAuditRecord}
 */
// @ts-ignore
export function createMspVectorSearchContentMetadataAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMspVectorSearchContentMetadataAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MsticNationStateNotificationRecord}
 */
// @ts-ignore
export function createMsticNationStateNotificationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMsticNationStateNotificationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MultiStageDispositionAuditRecord}
 */
// @ts-ignore
export function createMultiStageDispositionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMultiStageDispositionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MyAnalyticsSettingsAuditRecord}
 */
// @ts-ignore
export function createMyAnalyticsSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoMyAnalyticsSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {NetworkAdapter}
 */
// @ts-ignore
export function createNetworkAdapterFromDiscriminatorValue(parseNode) {
    return deserializeIntoNetworkAdapter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {NetworkConnectionEvidence}
 */
// @ts-ignore
export function createNetworkConnectionEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoNetworkConnectionEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {NicEvidence}
 */
// @ts-ignore
export function createNicEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoNicEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {NoisyAlertPolicyAuditRecord}
 */
// @ts-ignore
export function createNoisyAlertPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoNoisyAlertPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OAuthApplicationEntityMapping}
 */
// @ts-ignore
export function createOAuthApplicationEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoOAuthApplicationEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OauthApplicationEvidence}
 */
// @ts-ignore
export function createOauthApplicationEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoOauthApplicationEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OcrSettings}
 */
// @ts-ignore
export function createOcrSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoOcrSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OfficeNativeAuditRecord}
 */
// @ts-ignore
export function createOfficeNativeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOfficeNativeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OmePortalAuditRecord}
 */
// @ts-ignore
export function createOmePortalAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOmePortalAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OnDemandSharePointClassificationAuditRecord}
 */
// @ts-ignore
export function createOnDemandSharePointClassificationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOnDemandSharePointClassificationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OneDriveAuditRecord}
 */
// @ts-ignore
export function createOneDriveAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOneDriveAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OnPremisesFileShareScannerDLPAuditRecord}
 */
// @ts-ignore
export function createOnPremisesFileShareScannerDLPAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOnPremisesFileShareScannerDLPAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OnPremisesSharePointScannerDLPAuditRecord}
 */
// @ts-ignore
export function createOnPremisesSharePointScannerDLPAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOnPremisesSharePointScannerDLPAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OrganizationalDataInM365AuditRecord}
 */
// @ts-ignore
export function createOrganizationalDataInM365AuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOrganizationalDataInM365AuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OrganizationalScope}
 */
// @ts-ignore
export function createOrganizationalScopeFromDiscriminatorValue(parseNode) {
    return deserializeIntoOrganizationalScope;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OutlookCopilotAutomationAuditRecord}
 */
// @ts-ignore
export function createOutlookCopilotAutomationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOutlookCopilotAutomationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OwaGetAccessTokenForResourceAuditRecord}
 */
// @ts-ignore
export function createOwaGetAccessTokenForResourceAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoOwaGetAccessTokenForResourceAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {P4aiAssessmentCategoryRecord}
 */
// @ts-ignore
export function createP4aiAssessmentCategoryRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoP4aiAssessmentCategoryRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {P4aiAssessmentFabricScannerRecord}
 */
// @ts-ignore
export function createP4aiAssessmentFabricScannerRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoP4aiAssessmentFabricScannerRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {P4aiAssessmentLocationResultRecord}
 */
// @ts-ignore
export function createP4aiAssessmentLocationResultRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoP4aiAssessmentLocationResultRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {P4aiAssessmentRecord}
 */
// @ts-ignore
export function createP4aiAssessmentRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoP4aiAssessmentRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {P4AIRiskScoreRecord}
 */
// @ts-ignore
export function createP4AIRiskScoreRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoP4AIRiskScoreRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PassiveDnsRecordCollectionResponse}
 */
// @ts-ignore
export function createPassiveDnsRecordCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoPassiveDnsRecordCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PassiveDnsRecord}
 */
// @ts-ignore
export function createPassiveDnsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPassiveDnsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PeopleAdminSettingsAuditRecord}
 */
// @ts-ignore
export function createPeopleAdminSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPeopleAdminSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PhysicalBadgingSignalAuditRecord}
 */
// @ts-ignore
export function createPhysicalBadgingSignalAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPhysicalBadgingSignalAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlacesDirectoryAuditRecord}
 */
// @ts-ignore
export function createPlacesDirectoryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlacesDirectoryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerChatMessageAuditRecord}
 */
// @ts-ignore
export function createPlannerChatMessageAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerChatMessageAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerChatMessageListAuditRecord}
 */
// @ts-ignore
export function createPlannerChatMessageListAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerChatMessageListAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerCopyPlanAuditRecord}
 */
// @ts-ignore
export function createPlannerCopyPlanAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerCopyPlanAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerGoalAuditRecord}
 */
// @ts-ignore
export function createPlannerGoalAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerGoalAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerGoalListAuditRecord}
 */
// @ts-ignore
export function createPlannerGoalListAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerGoalListAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerPlanAuditRecord}
 */
// @ts-ignore
export function createPlannerPlanAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerPlanAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerPlanListAuditRecord}
 */
// @ts-ignore
export function createPlannerPlanListAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerPlanListAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerPlanSensitivityLabelAuditRecord}
 */
// @ts-ignore
export function createPlannerPlanSensitivityLabelAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerPlanSensitivityLabelAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerRosterAuditRecord}
 */
// @ts-ignore
export function createPlannerRosterAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerRosterAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerRosterSensitivityLabelAuditRecord}
 */
// @ts-ignore
export function createPlannerRosterSensitivityLabelAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerRosterSensitivityLabelAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerTaskAuditRecord}
 */
// @ts-ignore
export function createPlannerTaskAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerTaskAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerTaskListAuditRecord}
 */
// @ts-ignore
export function createPlannerTaskListAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerTaskListAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PlannerTenantSettingsAuditRecord}
 */
// @ts-ignore
export function createPlannerTenantSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPlannerTenantSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PolicyBase}
 */
// @ts-ignore
export function createPolicyBaseFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryHoldPolicy":
                    return deserializeIntoEdiscoveryHoldPolicy;
            }
        }
    }
    return deserializeIntoPolicyBase;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PolicyConfigChangeAuditRecord}
 */
// @ts-ignore
export function createPolicyConfigChangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPolicyConfigChangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerAppsAuditAppRecord}
 */
// @ts-ignore
export function createPowerAppsAuditAppRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerAppsAuditAppRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerAppsAuditPlanRecord}
 */
// @ts-ignore
export function createPowerAppsAuditPlanRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerAppsAuditPlanRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerAppsAuditResourceRecord}
 */
// @ts-ignore
export function createPowerAppsAuditResourceRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerAppsAuditResourceRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerBIAuditRecord}
 */
// @ts-ignore
export function createPowerBIAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerBIAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerBIDlpAuditRecord}
 */
// @ts-ignore
export function createPowerBIDlpAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerBIDlpAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPagesSiteAuditRecord}
 */
// @ts-ignore
export function createPowerPagesSiteAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPagesSiteAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformAdminDlpAuditRecord}
 */
// @ts-ignore
export function createPowerPlatformAdminDlpAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformAdminDlpAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformAdminEnvironmentAuditRecord}
 */
// @ts-ignore
export function createPowerPlatformAdminEnvironmentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformAdminEnvironmentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformAdministratorActivityRecord}
 */
// @ts-ignore
export function createPowerPlatformAdministratorActivityRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformAdministratorActivityRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformLockboxResourceAccessRequestAuditRecord}
 */
// @ts-ignore
export function createPowerPlatformLockboxResourceAccessRequestAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformLockboxResourceAccessRequestAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformLockboxResourceCommandAuditRecord}
 */
// @ts-ignore
export function createPowerPlatformLockboxResourceCommandAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformLockboxResourceCommandAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformServiceActivityAuditRecord}
 */
// @ts-ignore
export function createPowerPlatformServiceActivityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformServiceActivityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PowerPlatformTenantIsolationRecord}
 */
// @ts-ignore
export function createPowerPlatformTenantIsolationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPowerPlatformTenantIsolationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyDataMatchAuditRecord}
 */
// @ts-ignore
export function createPrivacyDataMatchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyDataMatchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyDataMinimizationRecord}
 */
// @ts-ignore
export function createPrivacyDataMinimizationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyDataMinimizationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyDigestEmailRecord}
 */
// @ts-ignore
export function createPrivacyDigestEmailRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyDigestEmailRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyOpenAccessAuditRecord}
 */
// @ts-ignore
export function createPrivacyOpenAccessAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyOpenAccessAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyPortalAuditRecord}
 */
// @ts-ignore
export function createPrivacyPortalAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyPortalAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyRemediationActionRecord}
 */
// @ts-ignore
export function createPrivacyRemediationActionRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyRemediationActionRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivacyRemediationRecord}
 */
// @ts-ignore
export function createPrivacyRemediationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivacyRemediationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivaPrivacyAssessmentOperationRecord}
 */
// @ts-ignore
export function createPrivaPrivacyAssessmentOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivaPrivacyAssessmentOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PrivaPrivacyConsentOperationRecord}
 */
// @ts-ignore
export function createPrivaPrivacyConsentOperationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPrivaPrivacyConsentOperationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProcessEntityMapping}
 */
// @ts-ignore
export function createProcessEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoProcessEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProcessEvidence}
 */
// @ts-ignore
export function createProcessEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoProcessEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectAuditRecord}
 */
// @ts-ignore
export function createProjectAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebAssignedToMeSettingsAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebAssignedToMeSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebAssignedToMeSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebProjectAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebProjectAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebProjectAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebProjectSettingsAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebProjectSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebProjectSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebRoadmapAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebRoadmapAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebRoadmapAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebRoadmapItemAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebRoadmapItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebRoadmapItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebRoadmapSettingsAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebRoadmapSettingsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebRoadmapSettingsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProjectForTheWebTaskAuditRecord}
 */
// @ts-ignore
export function createProjectForTheWebTaskAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoProjectForTheWebTaskAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProtectAdhocAction}
 */
// @ts-ignore
export function createProtectAdhocActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoProtectAdhocAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProtectByTemplateAction}
 */
// @ts-ignore
export function createProtectByTemplateActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoProtectByTemplateAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProtectDoNotForwardAction}
 */
// @ts-ignore
export function createProtectDoNotForwardActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoProtectDoNotForwardAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PublicFolderAuditRecord}
 */
// @ts-ignore
export function createPublicFolderAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPublicFolderAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PurviewInsiderRiskAlertsRecord}
 */
// @ts-ignore
export function createPurviewInsiderRiskAlertsRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPurviewInsiderRiskAlertsRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PurviewInsiderRiskCasesRecord}
 */
// @ts-ignore
export function createPurviewInsiderRiskCasesRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPurviewInsiderRiskCasesRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PurviewMCRecommendationRecord}
 */
// @ts-ignore
export function createPurviewMCRecommendationRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPurviewMCRecommendationRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PurviewPostureAgentAuditRecord}
 */
// @ts-ignore
export function createPurviewPostureAgentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoPurviewPostureAgentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QuarantineAuditRecord}
 */
// @ts-ignore
export function createQuarantineAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoQuarantineAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {QueryCondition}
 */
// @ts-ignore
export function createQueryConditionFromDiscriminatorValue(parseNode) {
    return deserializeIntoQueryCondition;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RecommendedHuntingQuery}
 */
// @ts-ignore
export function createRecommendedHuntingQueryFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecommendedHuntingQuery;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RecommendLabelAction}
 */
// @ts-ignore
export function createRecommendLabelActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecommendLabelAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RecordsManagementAuditRecord}
 */
// @ts-ignore
export function createRecordsManagementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoRecordsManagementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RedundancyDetectionSettings}
 */
// @ts-ignore
export function createRedundancyDetectionSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoRedundancyDetectionSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RegistryKeyEvidence}
 */
// @ts-ignore
export function createRegistryKeyEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoRegistryKeyEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RegistryValueEntityMapping}
 */
// @ts-ignore
export function createRegistryValueEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoRegistryValueEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RegistryValueEvidence}
 */
// @ts-ignore
export function createRegistryValueEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoRegistryValueEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemoveContentFooterAction}
 */
// @ts-ignore
export function createRemoveContentFooterActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemoveContentFooterAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemoveContentHeaderAction}
 */
// @ts-ignore
export function createRemoveContentHeaderActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemoveContentHeaderAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemoveProtectionAction}
 */
// @ts-ignore
export function createRemoveProtectionActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemoveProtectionAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemoveWatermarkAction}
 */
// @ts-ignore
export function createRemoveWatermarkActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemoveWatermarkAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReportFileMetadata}
 */
// @ts-ignore
export function createReportFileMetadataFromDiscriminatorValue(parseNode) {
    return deserializeIntoReportFileMetadata;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReportSubmission}
 */
// @ts-ignore
export function createReportSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoReportSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReportSubmissionResultDetail}
 */
// @ts-ignore
export function createReportSubmissionResultDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoReportSubmissionResultDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RequireSignInIncidentTaskResponseAction}
 */
// @ts-ignore
export function createRequireSignInIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRequireSignInIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ResourceAccessEvent}
 */
// @ts-ignore
export function createResourceAccessEventFromDiscriminatorValue(parseNode) {
    return deserializeIntoResourceAccessEvent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ResponseAction}
 */
// @ts-ignore
export function createResponseActionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.allowFileResponseAction":
                    return deserializeIntoAllowFileResponseAction;
                case "#microsoft.graph.security.blockFileResponseAction":
                    return deserializeIntoBlockFileResponseAction;
                case "#microsoft.graph.security.collectInvestigationPackageIncidentTaskResponseAction":
                    return deserializeIntoCollectInvestigationPackageIncidentTaskResponseAction;
                case "#microsoft.graph.security.collectInvestigationPackageResponseAction":
                    return deserializeIntoCollectInvestigationPackageResponseAction;
                case "#microsoft.graph.security.disableUserIncidentTaskResponseAction":
                    return deserializeIntoDisableUserIncidentTaskResponseAction;
                case "#microsoft.graph.security.disableUserResponseAction":
                    return deserializeIntoDisableUserResponseAction;
                case "#microsoft.graph.security.enableUserIncidentTaskResponseAction":
                    return deserializeIntoEnableUserIncidentTaskResponseAction;
                case "#microsoft.graph.security.forceUserPasswordResetIncidentTaskResponseAction":
                    return deserializeIntoForceUserPasswordResetIncidentTaskResponseAction;
                case "#microsoft.graph.security.forceUserPasswordResetResponseAction":
                    return deserializeIntoForceUserPasswordResetResponseAction;
                case "#microsoft.graph.security.hardDeleteEmailIncidentTaskResponseAction":
                    return deserializeIntoHardDeleteEmailIncidentTaskResponseAction;
                case "#microsoft.graph.security.hardDeleteResponseAction":
                    return deserializeIntoHardDeleteResponseAction;
                case "#microsoft.graph.security.incidentTaskResponseAction":
                    return deserializeIntoIncidentTaskResponseAction;
                case "#microsoft.graph.security.initiateInvestigationResponseAction":
                    return deserializeIntoInitiateInvestigationResponseAction;
                case "#microsoft.graph.security.isolateDeviceIncidentTaskResponseAction":
                    return deserializeIntoIsolateDeviceIncidentTaskResponseAction;
                case "#microsoft.graph.security.isolateDeviceResponseAction":
                    return deserializeIntoIsolateDeviceResponseAction;
                case "#microsoft.graph.security.markUserAsCompromisedIncidentTaskResponseAction":
                    return deserializeIntoMarkUserAsCompromisedIncidentTaskResponseAction;
                case "#microsoft.graph.security.markUserAsCompromisedResponseAction":
                    return deserializeIntoMarkUserAsCompromisedResponseAction;
                case "#microsoft.graph.security.moveToDeletedItemsResponseAction":
                    return deserializeIntoMoveToDeletedItemsResponseAction;
                case "#microsoft.graph.security.moveToInboxResponseAction":
                    return deserializeIntoMoveToInboxResponseAction;
                case "#microsoft.graph.security.moveToJunkResponseAction":
                    return deserializeIntoMoveToJunkResponseAction;
                case "#microsoft.graph.security.requireSignInIncidentTaskResponseAction":
                    return deserializeIntoRequireSignInIncidentTaskResponseAction;
                case "#microsoft.graph.security.restrictAppExecutionIncidentTaskResponseAction":
                    return deserializeIntoRestrictAppExecutionIncidentTaskResponseAction;
                case "#microsoft.graph.security.restrictAppExecutionResponseAction":
                    return deserializeIntoRestrictAppExecutionResponseAction;
                case "#microsoft.graph.security.runAntivirusScanIncidentTaskResponseAction":
                    return deserializeIntoRunAntivirusScanIncidentTaskResponseAction;
                case "#microsoft.graph.security.runAntivirusScanResponseAction":
                    return deserializeIntoRunAntivirusScanResponseAction;
                case "#microsoft.graph.security.softDeleteIncidentTaskResponseAction":
                    return deserializeIntoSoftDeleteIncidentTaskResponseAction;
                case "#microsoft.graph.security.softDeleteResponseAction":
                    return deserializeIntoSoftDeleteResponseAction;
                case "#microsoft.graph.security.stopAndQuarantineFileIncidentTaskResponseAction":
                    return deserializeIntoStopAndQuarantineFileIncidentTaskResponseAction;
                case "#microsoft.graph.security.stopAndQuarantineFileResponseAction":
                    return deserializeIntoStopAndQuarantineFileResponseAction;
                case "#microsoft.graph.security.unIsolateDeviceIncidentTaskResponseAction":
                    return deserializeIntoUnIsolateDeviceIncidentTaskResponseAction;
                case "#microsoft.graph.security.unRestrictAppExecutionIncidentTaskResponseAction":
                    return deserializeIntoUnRestrictAppExecutionIncidentTaskResponseAction;
            }
        }
    }
    return deserializeIntoResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RestrictAppExecutionIncidentTaskResponseAction}
 */
// @ts-ignore
export function createRestrictAppExecutionIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRestrictAppExecutionIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RestrictAppExecutionResponseAction}
 */
// @ts-ignore
export function createRestrictAppExecutionResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRestrictAppExecutionResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RestrictedModeAuditRecord}
 */
// @ts-ignore
export function createRestrictedModeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoRestrictedModeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionDurationForever}
 */
// @ts-ignore
export function createRetentionDurationForeverFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionDurationForever;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionDuration}
 */
// @ts-ignore
export function createRetentionDurationFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.retentionDurationForever":
                    return deserializeIntoRetentionDurationForever;
                case "#microsoft.graph.security.retentionDurationInDays":
                    return deserializeIntoRetentionDurationInDays;
            }
        }
    }
    return deserializeIntoRetentionDuration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionDurationInDays}
 */
// @ts-ignore
export function createRetentionDurationInDaysFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionDurationInDays;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionEventCollectionResponse}
 */
// @ts-ignore
export function createRetentionEventCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionEventCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionEvent}
 */
// @ts-ignore
export function createRetentionEventFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionEvent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionEventStatus}
 */
// @ts-ignore
export function createRetentionEventStatusFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionEventStatus;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionEventTypeCollectionResponse}
 */
// @ts-ignore
export function createRetentionEventTypeCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionEventTypeCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionEventType}
 */
// @ts-ignore
export function createRetentionEventTypeFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionEventType;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionLabelCollectionResponse}
 */
// @ts-ignore
export function createRetentionLabelCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionLabelCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionLabel}
 */
// @ts-ignore
export function createRetentionLabelFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionLabel;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RetentionPolicyAuditRecord}
 */
// @ts-ignore
export function createRetentionPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoRetentionPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RtiOperationsAgentAuditRecord}
 */
// @ts-ignore
export function createRtiOperationsAgentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoRtiOperationsAgentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RuleSchedule}
 */
// @ts-ignore
export function createRuleScheduleFromDiscriminatorValue(parseNode) {
    return deserializeIntoRuleSchedule;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RulesRoot}
 */
// @ts-ignore
export function createRulesRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoRulesRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RunAntivirusScanIncidentTaskResponseAction}
 */
// @ts-ignore
export function createRunAntivirusScanIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRunAntivirusScanIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RunAntivirusScanResponseAction}
 */
// @ts-ignore
export function createRunAntivirusScanResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoRunAntivirusScanResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RunDetails}
 */
// @ts-ignore
export function createRunDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoRunDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SasTokenEvidence}
 */
// @ts-ignore
export function createSasTokenEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoSasTokenEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SbpConfigurationEventRecord}
 */
// @ts-ignore
export function createSbpConfigurationEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSbpConfigurationEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SbpUsageEventRecord}
 */
// @ts-ignore
export function createSbpUsageEventRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSbpUsageEventRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ScoreEvidence}
 */
// @ts-ignore
export function createScoreEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoScoreEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ScorePlatformGenericAuditRecord}
 */
// @ts-ignore
export function createScorePlatformGenericAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoScorePlatformGenericAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ScriptRunAuditRecord}
 */
// @ts-ignore
export function createScriptRunAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoScriptRunAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SearchAuditRecord}
 */
// @ts-ignore
export function createSearchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSearchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Search}
 */
// @ts-ignore
export function createSearchFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryReviewSetQuery":
                    return deserializeIntoEdiscoveryReviewSetQuery;
                case "#microsoft.graph.security.ediscoverySearch":
                    return deserializeIntoEdiscoverySearch;
            }
        }
    }
    return deserializeIntoSearch;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityComplianceAlertRecord}
 */
// @ts-ignore
export function createSecurityComplianceAlertRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityComplianceAlertRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityComplianceCenterEOPCmdletAuditRecord}
 */
// @ts-ignore
export function createSecurityComplianceCenterEOPCmdletAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityComplianceCenterEOPCmdletAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityComplianceInsightsAuditRecord}
 */
// @ts-ignore
export function createSecurityComplianceInsightsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityComplianceInsightsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityComplianceRBACAuditRecord}
 */
// @ts-ignore
export function createSecurityComplianceRBACAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityComplianceRBACAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityComplianceUserChangeAuditRecord}
 */
// @ts-ignore
export function createSecurityComplianceUserChangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityComplianceUserChangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityCopilotIdentityManagementAuditRecord}
 */
// @ts-ignore
export function createSecurityCopilotIdentityManagementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityCopilotIdentityManagementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityDevelopmentLifecycleAILogAuditRecord}
 */
// @ts-ignore
export function createSecurityDevelopmentLifecycleAILogAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityDevelopmentLifecycleAILogAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Security}
 */
// @ts-ignore
export function createSecurityFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityGroupEntityMapping}
 */
// @ts-ignore
export function createSecurityGroupEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityGroupEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityGroupEvidence}
 */
// @ts-ignore
export function createSecurityGroupEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityGroupEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitiveInfoRemediationAgentDataRecord}
 */
// @ts-ignore
export function createSensitiveInfoRemediationAgentDataRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitiveInfoRemediationAgentDataRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitivityLabelActionAuditRecord}
 */
// @ts-ignore
export function createSensitivityLabelActionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitivityLabelActionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitivityLabelCollectionResponse}
 */
// @ts-ignore
export function createSensitivityLabelCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitivityLabelCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitivityLabeledFileActionAuditRecord}
 */
// @ts-ignore
export function createSensitivityLabeledFileActionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitivityLabeledFileActionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitivityLabel}
 */
// @ts-ignore
export function createSensitivityLabelFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitivityLabel;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitivityLabelPolicyMatchAuditRecord}
 */
// @ts-ignore
export function createSensitivityLabelPolicyMatchAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitivityLabelPolicyMatchAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorCandidateActivationConfiguration}
 */
// @ts-ignore
export function createSensorCandidateActivationConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorCandidateActivationConfiguration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorCandidateCollectionResponse}
 */
// @ts-ignore
export function createSensorCandidateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorCandidateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorCandidate}
 */
// @ts-ignore
export function createSensorCandidateFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorCandidate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorCollectionResponse}
 */
// @ts-ignore
export function createSensorCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorDeploymentPackage}
 */
// @ts-ignore
export function createSensorDeploymentPackageFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorDeploymentPackage;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Sensor}
 */
// @ts-ignore
export function createSensorFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensor;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorMigrationCollectionResponse}
 */
// @ts-ignore
export function createSensorMigrationCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorMigrationCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorMigration}
 */
// @ts-ignore
export function createSensorMigrationFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorMigration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensorSettings}
 */
// @ts-ignore
export function createSensorSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensorSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelAIToolAuditRecord}
 */
// @ts-ignore
export function createSentinelAIToolAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelAIToolAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelGraphAuditRecord}
 */
// @ts-ignore
export function createSentinelGraphAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelGraphAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelJobAuditRecord}
 */
// @ts-ignore
export function createSentinelJobAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelJobAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelKQLOnLakeAuditRecord}
 */
// @ts-ignore
export function createSentinelKQLOnLakeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelKQLOnLakeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelLakeDataOnboardingAuditRecord}
 */
// @ts-ignore
export function createSentinelLakeDataOnboardingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelLakeDataOnboardingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelLakeEncryptionAuditRecord}
 */
// @ts-ignore
export function createSentinelLakeEncryptionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelLakeEncryptionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelLakeOnboardingAuditRecord}
 */
// @ts-ignore
export function createSentinelLakeOnboardingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelLakeOnboardingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelNotebookOnLakeAuditRecord}
 */
// @ts-ignore
export function createSentinelNotebookOnLakeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelNotebookOnLakeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SentinelPackageAuditRecord}
 */
// @ts-ignore
export function createSentinelPackageAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSentinelPackageAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ServicePrincipalEvidence}
 */
// @ts-ignore
export function createServicePrincipalEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoServicePrincipalEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SettingsContainer}
 */
// @ts-ignore
export function createSettingsContainerFromDiscriminatorValue(parseNode) {
    return deserializeIntoSettingsContainer;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointAppPermissionOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointAppPermissionOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointAppPermissionOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointAuditRecord}
 */
// @ts-ignore
export function createSharePointAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointCommentOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointCommentOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointCommentOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointContentSecurityPolicyAuditRecord}
 */
// @ts-ignore
export function createSharePointContentSecurityPolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointContentSecurityPolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointContentTypeOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointContentTypeOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointContentTypeOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointESignatureAuditRecord}
 */
// @ts-ignore
export function createSharePointESignatureAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointESignatureAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointFieldOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointFieldOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointFieldOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointFileOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointFileOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointFileOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointListItemOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointListItemOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointListItemOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointListOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointListOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointListOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointSharingOperationAuditRecord}
 */
// @ts-ignore
export function createSharePointSharingOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointSharingOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SinglePropertySchema}
 */
// @ts-ignore
export function createSinglePropertySchemaFromDiscriminatorValue(parseNode) {
    return deserializeIntoSinglePropertySchema;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SiteSourceCollectionResponse}
 */
// @ts-ignore
export function createSiteSourceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSiteSourceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SiteSource}
 */
// @ts-ignore
export function createSiteSourceFromDiscriminatorValue(parseNode) {
    return deserializeIntoSiteSource;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SkypeForBusinessCmdletsAuditRecord}
 */
// @ts-ignore
export function createSkypeForBusinessCmdletsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSkypeForBusinessCmdletsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SkypeForBusinessPSTNUsageAuditRecord}
 */
// @ts-ignore
export function createSkypeForBusinessPSTNUsageAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSkypeForBusinessPSTNUsageAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SkypeForBusinessUsersBlockedAuditRecord}
 */
// @ts-ignore
export function createSkypeForBusinessUsersBlockedAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSkypeForBusinessUsersBlockedAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SoftDeleteIncidentTaskResponseAction}
 */
// @ts-ignore
export function createSoftDeleteIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoSoftDeleteIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SoftDeleteResponseAction}
 */
// @ts-ignore
export function createSoftDeleteResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoSoftDeleteResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SonarDetonationContentMetadata}
 */
// @ts-ignore
export function createSonarDetonationContentMetadataFromDiscriminatorValue(parseNode) {
    return deserializeIntoSonarDetonationContentMetadata;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SonarDetonationEntityAuditRecord}
 */
// @ts-ignore
export function createSonarDetonationEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSonarDetonationEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SonarFileDetonationEntityAuditRecord}
 */
// @ts-ignore
export function createSonarFileDetonationEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSonarFileDetonationEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SonarSubmissionEntityAuditRecord}
 */
// @ts-ignore
export function createSonarSubmissionEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSonarSubmissionEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SonarUrlDetonationEntityAuditRecord}
 */
// @ts-ignore
export function createSonarUrlDetonationEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSonarUrlDetonationEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SparkCoreCustomLivePoolRecord}
 */
// @ts-ignore
export function createSparkCoreCustomLivePoolRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSparkCoreCustomLivePoolRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SslCertificateCollectionResponse}
 */
// @ts-ignore
export function createSslCertificateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSslCertificateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SslCertificateEntity}
 */
// @ts-ignore
export function createSslCertificateEntityFromDiscriminatorValue(parseNode) {
    return deserializeIntoSslCertificateEntity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SslCertificate}
 */
// @ts-ignore
export function createSslCertificateFromDiscriminatorValue(parseNode) {
    return deserializeIntoSslCertificate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {StopAndQuarantineFileAction}
 */
// @ts-ignore
export function createStopAndQuarantineFileActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoStopAndQuarantineFileAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {StopAndQuarantineFileIncidentTaskResponseAction}
 */
// @ts-ignore
export function createStopAndQuarantineFileIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoStopAndQuarantineFileIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {StopAndQuarantineFileResponseAction}
 */
// @ts-ignore
export function createStopAndQuarantineFileResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoStopAndQuarantineFileResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Stream}
 */
// @ts-ignore
export function createStreamFromDiscriminatorValue(parseNode) {
    return deserializeIntoStream;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {StringValueDictionary}
 */
// @ts-ignore
export function createStringValueDictionaryFromDiscriminatorValue(parseNode) {
    return deserializeIntoStringValueDictionary;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubcategoryTemplateCollectionResponse}
 */
// @ts-ignore
export function createSubcategoryTemplateCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubcategoryTemplateCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubcategoryTemplate}
 */
// @ts-ignore
export function createSubcategoryTemplateFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubcategoryTemplate;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubdomainCollectionResponse}
 */
// @ts-ignore
export function createSubdomainCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubdomainCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Subdomain}
 */
// @ts-ignore
export function createSubdomainFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubdomain;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionAdminReview}
 */
// @ts-ignore
export function createSubmissionAdminReviewFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionAdminReview;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionDetectedFile}
 */
// @ts-ignore
export function createSubmissionDetectedFileFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionDetectedFile;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionEntityAuditRecord}
 */
// @ts-ignore
export function createSubmissionEntityAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionEntityAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionMailEvidence}
 */
// @ts-ignore
export function createSubmissionMailEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionMailEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionResult}
 */
// @ts-ignore
export function createSubmissionResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubmissionUserIdentity}
 */
// @ts-ignore
export function createSubmissionUserIdentityFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubmissionUserIdentity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SupervisoryReviewDayXInsightsAuditRecord}
 */
// @ts-ignore
export function createSupervisoryReviewDayXInsightsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSupervisoryReviewDayXInsightsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SyntheticProbeAuditRecord}
 */
// @ts-ignore
export function createSyntheticProbeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoSyntheticProbeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Tag}
 */
// @ts-ignore
export function createTagFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.ediscoveryReviewTag":
                    return deserializeIntoEdiscoveryReviewTag;
            }
        }
    }
    return deserializeIntoTag;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamCopilotInteractionAuditRecord}
 */
// @ts-ignore
export function createTeamCopilotInteractionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamCopilotInteractionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsEasyApprovalsAuditRecord}
 */
// @ts-ignore
export function createTeamsEasyApprovalsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsEasyApprovalsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsEvalDataHubAdminOperationAuditRecord}
 */
// @ts-ignore
export function createTeamsEvalDataHubAdminOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsEvalDataHubAdminOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsEvalDataHubDataAccessAuditRecord}
 */
// @ts-ignore
export function createTeamsEvalDataHubDataAccessAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsEvalDataHubDataAccessAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsEvalDataHubPermissionChangeAuditRecord}
 */
// @ts-ignore
export function createTeamsEvalDataHubPermissionChangeAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsEvalDataHubPermissionChangeAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsHealthcareAuditRecord}
 */
// @ts-ignore
export function createTeamsHealthcareAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsHealthcareAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsMessageEvidence}
 */
// @ts-ignore
export function createTeamsMessageEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsMessageEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TeamsUpdatesAuditRecord}
 */
// @ts-ignore
export function createTeamsUpdatesAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTeamsUpdatesAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TenantAllowBlockListAuditRecord}
 */
// @ts-ignore
export function createTenantAllowBlockListAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTenantAllowBlockListAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TenantAllowBlockListEntryResult}
 */
// @ts-ignore
export function createTenantAllowBlockListEntryResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoTenantAllowBlockListEntryResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TenantAllowOrBlockListAction}
 */
// @ts-ignore
export function createTenantAllowOrBlockListActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoTenantAllowOrBlockListAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatDetectionDetail}
 */
// @ts-ignore
export function createThreatDetectionDetailFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatDetectionDetail;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatFinderAuditRecord}
 */
// @ts-ignore
export function createThreatFinderAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatFinderAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligenceAtpContentData}
 */
// @ts-ignore
export function createThreatIntelligenceAtpContentDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligenceAtpContentData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligenceExportAuditRecord}
 */
// @ts-ignore
export function createThreatIntelligenceExportAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligenceExportAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligence}
 */
// @ts-ignore
export function createThreatIntelligenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligenceMailData}
 */
// @ts-ignore
export function createThreatIntelligenceMailDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligenceMailData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligenceObjectAuditRecord}
 */
// @ts-ignore
export function createThreatIntelligenceObjectAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligenceObjectAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatIntelligenceUrlClickData}
 */
// @ts-ignore
export function createThreatIntelligenceUrlClickDataFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatIntelligenceUrlClickData;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatSubmission}
 */
// @ts-ignore
export function createThreatSubmissionFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.emailContentThreatSubmission":
                    return deserializeIntoEmailContentThreatSubmission;
                case "#microsoft.graph.security.emailThreatSubmission":
                    return deserializeIntoEmailThreatSubmission;
                case "#microsoft.graph.security.emailUrlThreatSubmission":
                    return deserializeIntoEmailUrlThreatSubmission;
                case "#microsoft.graph.security.fileContentThreatSubmission":
                    return deserializeIntoFileContentThreatSubmission;
                case "#microsoft.graph.security.fileThreatSubmission":
                    return deserializeIntoFileThreatSubmission;
                case "#microsoft.graph.security.fileUrlThreatSubmission":
                    return deserializeIntoFileUrlThreatSubmission;
                case "#microsoft.graph.security.urlThreatSubmission":
                    return deserializeIntoUrlThreatSubmission;
            }
        }
    }
    return deserializeIntoThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ThreatSubmissionRoot}
 */
// @ts-ignore
export function createThreatSubmissionRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoThreatSubmissionRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TimelineEvent}
 */
// @ts-ignore
export function createTimelineEventFromDiscriminatorValue(parseNode) {
    return deserializeIntoTimelineEvent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TodoAuditRecord}
 */
// @ts-ignore
export function createTodoAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTodoAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TopicModelingSettings}
 */
// @ts-ignore
export function createTopicModelingSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoTopicModelingSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TrainableClassifierAuditRecord}
 */
// @ts-ignore
export function createTrainableClassifierAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoTrainableClassifierAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TriggersRoot}
 */
// @ts-ignore
export function createTriggersRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoTriggersRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TriggerTypesRoot}
 */
// @ts-ignore
export function createTriggerTypesRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoTriggerTypesRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UamOperationAuditRecord}
 */
// @ts-ignore
export function createUamOperationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUamOperationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnclassifiedArtifact}
 */
// @ts-ignore
export function createUnclassifiedArtifactFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnclassifiedArtifact;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnifiedGroupAuditRecord}
 */
// @ts-ignore
export function createUnifiedGroupAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnifiedGroupAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnifiedGroupSourceCollectionResponse}
 */
// @ts-ignore
export function createUnifiedGroupSourceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnifiedGroupSourceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnifiedGroupSource}
 */
// @ts-ignore
export function createUnifiedGroupSourceFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnifiedGroupSource;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnifiedSimulationMatchedItemAuditRecord}
 */
// @ts-ignore
export function createUnifiedSimulationMatchedItemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnifiedSimulationMatchedItemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnifiedSimulationSummaryAuditRecord}
 */
// @ts-ignore
export function createUnifiedSimulationSummaryAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnifiedSimulationSummaryAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnIsolateDeviceIncidentTaskResponseAction}
 */
// @ts-ignore
export function createUnIsolateDeviceIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnIsolateDeviceIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UniversalPrintManagementAuditRecord}
 */
// @ts-ignore
export function createUniversalPrintManagementAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUniversalPrintManagementAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UniversalPrintPrintJobAuditRecord}
 */
// @ts-ignore
export function createUniversalPrintPrintJobAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUniversalPrintPrintJobAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UnRestrictAppExecutionIncidentTaskResponseAction}
 */
// @ts-ignore
export function createUnRestrictAppExecutionIncidentTaskResponseActionFromDiscriminatorValue(parseNode) {
    return deserializeIntoUnRestrictAppExecutionIncidentTaskResponseAction;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrbacAssignmentAuditRecord}
 */
// @ts-ignore
export function createUrbacAssignmentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrbacAssignmentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrbacEnableStateAuditRecord}
 */
// @ts-ignore
export function createUrbacEnableStateAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrbacEnableStateAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrbacRoleAuditRecord}
 */
// @ts-ignore
export function createUrbacRoleAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrbacRoleAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrlEntityMapping}
 */
// @ts-ignore
export function createUrlEntityMappingFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrlEntityMapping;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrlEvidence}
 */
// @ts-ignore
export function createUrlEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrlEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrlThreatSubmissionCollectionResponse}
 */
// @ts-ignore
export function createUrlThreatSubmissionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrlThreatSubmissionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UrlThreatSubmission}
 */
// @ts-ignore
export function createUrlThreatSubmissionFromDiscriminatorValue(parseNode) {
    return deserializeIntoUrlThreatSubmission;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserAccount}
 */
// @ts-ignore
export function createUserAccountFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserAccount;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserEvidence}
 */
// @ts-ignore
export function createUserEvidenceFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserEvidence;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {User}
 */
// @ts-ignore
export function createUserFromDiscriminatorValue(parseNode) {
    return deserializeIntoUser;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserSourceCollectionResponse}
 */
// @ts-ignore
export function createUserSourceCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserSourceCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserSource}
 */
// @ts-ignore
export function createUserSourceFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserSource;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserTrainingAuditRecord}
 */
// @ts-ignore
export function createUserTrainingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserTrainingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UsxWorkspaceOnboardingAuditRecord}
 */
// @ts-ignore
export function createUsxWorkspaceOnboardingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoUsxWorkspaceOnboardingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VfamCreatePolicyAuditRecord}
 */
// @ts-ignore
export function createVfamCreatePolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVfamCreatePolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VfamDeletePolicyAuditRecord}
 */
// @ts-ignore
export function createVfamDeletePolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVfamDeletePolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VfamUpdatePolicyAuditRecord}
 */
// @ts-ignore
export function createVfamUpdatePolicyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVfamUpdatePolicyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaAmplifyAuditRecord}
 */
// @ts-ignore
export function createVivaAmplifyAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaAmplifyAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaEngageEventsAuditRecord}
 */
// @ts-ignore
export function createVivaEngageEventsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaEngageEventsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaEngageNetworkAssociationAuditRecord}
 */
// @ts-ignore
export function createVivaEngageNetworkAssociationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaEngageNetworkAssociationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaEngageSegmentAuditRecord}
 */
// @ts-ignore
export function createVivaEngageSegmentAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaEngageSegmentAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintAdvancedConfigurationAuditRecord}
 */
// @ts-ignore
export function createVivaGlintAdvancedConfigurationAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintAdvancedConfigurationAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintAgenticCampaignAuditRecord}
 */
// @ts-ignore
export function createVivaGlintAgenticCampaignAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintAgenticCampaignAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintFeedbackProgramAuditRecord}
 */
// @ts-ignore
export function createVivaGlintFeedbackProgramAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintFeedbackProgramAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintOrganizationalDataAuditRecord}
 */
// @ts-ignore
export function createVivaGlintOrganizationalDataAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintOrganizationalDataAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintPulseProgramAuditRecord}
 */
// @ts-ignore
export function createVivaGlintPulseProgramAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintPulseProgramAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintPulseProgramRespondentRateAuditRecord}
 */
// @ts-ignore
export function createVivaGlintPulseProgramRespondentRateAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintPulseProgramRespondentRateAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintQuestionAuditRecord}
 */
// @ts-ignore
export function createVivaGlintQuestionAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintQuestionAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintRoleAuditRecord}
 */
// @ts-ignore
export function createVivaGlintRoleAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintRoleAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintRubiconAuditRecord}
 */
// @ts-ignore
export function createVivaGlintRubiconAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintRubiconAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintSupportAccessAuditRecord}
 */
// @ts-ignore
export function createVivaGlintSupportAccessAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintSupportAccessAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintSystemAuditRecord}
 */
// @ts-ignore
export function createVivaGlintSystemAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintSystemAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintUserAuditRecord}
 */
// @ts-ignore
export function createVivaGlintUserAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintUserAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGlintUserGroupAuditRecord}
 */
// @ts-ignore
export function createVivaGlintUserGroupAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGlintUserGroupAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaGoalsAuditRecord}
 */
// @ts-ignore
export function createVivaGoalsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaGoalsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaLearningAdminAuditRecord}
 */
// @ts-ignore
export function createVivaLearningAdminAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaLearningAdminAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaLearningAuditRecord}
 */
// @ts-ignore
export function createVivaLearningAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaLearningAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaPulseAdminAuditRecord}
 */
// @ts-ignore
export function createVivaPulseAdminAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaPulseAdminAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaPulseOrganizerAuditRecord}
 */
// @ts-ignore
export function createVivaPulseOrganizerAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaPulseOrganizerAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaPulseReportAuditRecord}
 */
// @ts-ignore
export function createVivaPulseReportAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaPulseReportAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VivaPulseResponseAuditRecord}
 */
// @ts-ignore
export function createVivaPulseResponseAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoVivaPulseResponseAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VmMetadata}
 */
// @ts-ignore
export function createVmMetadataFromDiscriminatorValue(parseNode) {
    return deserializeIntoVmMetadata;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VulnerabilityCollectionResponse}
 */
// @ts-ignore
export function createVulnerabilityCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoVulnerabilityCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VulnerabilityComponentCollectionResponse}
 */
// @ts-ignore
export function createVulnerabilityComponentCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoVulnerabilityComponentCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {VulnerabilityComponent}
 */
// @ts-ignore
export function createVulnerabilityComponentFromDiscriminatorValue(parseNode) {
    return deserializeIntoVulnerabilityComponent;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Vulnerability}
 */
// @ts-ignore
export function createVulnerabilityFromDiscriminatorValue(parseNode) {
    return deserializeIntoVulnerability;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WdatpAlertsAuditRecord}
 */
// @ts-ignore
export function createWdatpAlertsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWdatpAlertsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WebContentFilteringAuditRecord}
 */
// @ts-ignore
export function createWebContentFilteringAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWebContentFilteringAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisBaseRecord}
 */
// @ts-ignore
export function createWhoisBaseRecordFromDiscriminatorValue(parseNode) {
    if (!parseNode)
        throw new Error("parseNode cannot be undefined");
    const mappingValueNode = parseNode === null || parseNode === void 0 ? void 0 : parseNode.getChildNode("@odata.type");
    if (mappingValueNode) {
        const mappingValue = mappingValueNode.getStringValue();
        if (mappingValue) {
            switch (mappingValue) {
                case "#microsoft.graph.security.whoisHistoryRecord":
                    return deserializeIntoWhoisHistoryRecord;
                case "#microsoft.graph.security.whoisRecord":
                    return deserializeIntoWhoisRecord;
            }
        }
    }
    return deserializeIntoWhoisBaseRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisContact}
 */
// @ts-ignore
export function createWhoisContactFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisContact;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisHistoryRecordCollectionResponse}
 */
// @ts-ignore
export function createWhoisHistoryRecordCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisHistoryRecordCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisHistoryRecord}
 */
// @ts-ignore
export function createWhoisHistoryRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisHistoryRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisNameserver}
 */
// @ts-ignore
export function createWhoisNameserverFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisNameserver;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisRecordCollectionResponse}
 */
// @ts-ignore
export function createWhoisRecordCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisRecordCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WhoisRecord}
 */
// @ts-ignore
export function createWhoisRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWhoisRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Windows365CustomerLockboxAuditRecord}
 */
// @ts-ignore
export function createWindows365CustomerLockboxAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWindows365CustomerLockboxAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkplaceAnalyticsAuditRecord}
 */
// @ts-ignore
export function createWorkplaceAnalyticsAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoWorkplaceAnalyticsAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {YammerAuditRecord}
 */
// @ts-ignore
export function createYammerAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoYammerAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {YammerUserHidingAuditRecord}
 */
// @ts-ignore
export function createYammerUserHidingAuditRecordFromDiscriminatorValue(parseNode) {
    return deserializeIntoYammerUserHidingAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ZoneCollectionResponse}
 */
// @ts-ignore
export function createZoneCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoZoneCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Zone}
 */
// @ts-ignore
export function createZoneFromDiscriminatorValue(parseNode) {
    return deserializeIntoZone;
}
/**
 * The deserialization information for the current model
 * @param A365AiExecuteTool The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoA365AiExecuteTool(a365AiExecuteTool = {}) {
    return Object.assign({}, deserializeIntoAuditData(a365AiExecuteTool));
}
/**
 * The deserialization information for the current model
 * @param A365AiInferenceCall The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoA365AiInferenceCall(a365AiInferenceCall = {}) {
    return Object.assign({}, deserializeIntoAuditData(a365AiInferenceCall));
}
/**
 * The deserialization information for the current model
 * @param A365AiInvokeAgent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoA365AiInvokeAgent(a365AiInvokeAgent = {}) {
    return Object.assign({}, deserializeIntoAuditData(a365AiInvokeAgent));
}
/**
 * The deserialization information for the current model
 * @param A365AiRunSummary The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoA365AiRunSummary(a365AiRunSummary = {}) {
    return Object.assign({}, deserializeIntoAuditData(a365AiRunSummary));
}
/**
 * The deserialization information for the current model
 * @param A365SpanOutputs The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoA365SpanOutputs(a365SpanOutputs = {}) {
    return Object.assign({}, deserializeIntoAuditData(a365SpanOutputs));
}
/**
 * The deserialization information for the current model
 * @param AadRiskDetectionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAadRiskDetectionAuditRecord(aadRiskDetectionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aadRiskDetectionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Account The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAccount(account = {}) {
    return {
        "actions": n => { account.actions = n.getCollectionOfEnumValues(ActionObject); },
        "backingStoreEnabled": n => { account.backingStoreEnabled = true; },
        "identifier": n => { account.identifier = n.getStringValue(); },
        "identityProvider": n => { account.identityProvider = n.getEnumValue(IdentityProviderObject); },
        "@odata.type": n => { account.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AccountEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAccountEntityMapping(accountEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(accountEntityMapping)), { "aadUserIdColumn": n => { accountEntityMapping.aadUserIdColumn = n.getStringValue(); }, "dnsDomainColumn": n => { accountEntityMapping.dnsDomainColumn = n.getStringValue(); }, "nameColumn": n => { accountEntityMapping.nameColumn = n.getStringValue(); }, "ntDomainColumn": n => { accountEntityMapping.ntDomainColumn = n.getStringValue(); }, "sidColumn": n => { accountEntityMapping.sidColumn = n.getStringValue(); }, "upnColumn": n => { accountEntityMapping.upnColumn = n.getStringValue(); }, "upnSuffixColumn": n => { accountEntityMapping.upnSuffixColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AccountObjectIdAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAccountObjectIdAction(accountObjectIdAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(accountObjectIdAction)), { "accountObjectIdColumn": n => { accountObjectIdAction.accountObjectIdColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AccountSidAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAccountSidAction(accountSidAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(accountSidAction)), { "accountSidColumn": n => { accountSidAction.accountSidColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ActiveDirectoryDomainEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoActiveDirectoryDomainEvidence(activeDirectoryDomainEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(activeDirectoryDomainEvidence)), { "activeDirectoryDomainName": n => { activeDirectoryDomainEvidence.activeDirectoryDomainName = n.getStringValue(); }, "trustedDomains": n => { activeDirectoryDomainEvidence.trustedDomains = n.getCollectionOfObjectValues(createActiveDirectoryDomainEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AddContentFooterAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAddContentFooterAction(addContentFooterAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(addContentFooterAction)), { "alignment": n => { addContentFooterAction.alignment = n.getEnumValue(ContentAlignmentObject); }, "fontColor": n => { addContentFooterAction.fontColor = n.getStringValue(); }, "fontName": n => { addContentFooterAction.fontName = n.getStringValue(); }, "fontSize": n => { addContentFooterAction.fontSize = n.getNumberValue(); }, "margin": n => { addContentFooterAction.margin = n.getNumberValue(); }, "text": n => { addContentFooterAction.text = n.getStringValue(); }, "uiElementName": n => { addContentFooterAction.uiElementName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AddContentHeaderAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAddContentHeaderAction(addContentHeaderAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(addContentHeaderAction)), { "alignment": n => { addContentHeaderAction.alignment = n.getEnumValue(ContentAlignmentObject); }, "fontColor": n => { addContentHeaderAction.fontColor = n.getStringValue(); }, "fontName": n => { addContentHeaderAction.fontName = n.getStringValue(); }, "fontSize": n => { addContentHeaderAction.fontSize = n.getNumberValue(); }, "margin": n => { addContentHeaderAction.margin = n.getNumberValue(); }, "text": n => { addContentHeaderAction.text = n.getStringValue(); }, "uiElementName": n => { addContentHeaderAction.uiElementName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AddWatermarkAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAddWatermarkAction(addWatermarkAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(addWatermarkAction)), { "fontColor": n => { addWatermarkAction.fontColor = n.getStringValue(); }, "fontName": n => { addWatermarkAction.fontName = n.getStringValue(); }, "fontSize": n => { addWatermarkAction.fontSize = n.getNumberValue(); }, "layout": n => { addWatermarkAction.layout = n.getEnumValue(WatermarkLayoutObject); }, "text": n => { addWatermarkAction.text = n.getStringValue(); }, "uiElementName": n => { addWatermarkAction.uiElementName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AedAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAedAuditRecord(aedAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aedAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AgentAdminActivityRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAgentAdminActivityRecord(agentAdminActivityRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(agentAdminActivityRecord));
}
/**
 * The deserialization information for the current model
 * @param AgentSettingAdminActivity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAgentSettingAdminActivity(agentSettingAdminActivity = {}) {
    return Object.assign({}, deserializeIntoAuditData(agentSettingAdminActivity));
}
/**
 * The deserialization information for the current model
 * @param AggregatedEnvironment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAggregatedEnvironment(aggregatedEnvironment = {}) {
    return {
        "backingStoreEnabled": n => { aggregatedEnvironment.backingStoreEnabled = true; },
        "count": n => { aggregatedEnvironment.count = n.getNumberValue(); },
        "kind": n => { aggregatedEnvironment.kind = n.getStringValue(); },
        "@odata.type": n => { aggregatedEnvironment.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AiAgentEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiAgentEvidence(aiAgentEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(aiAgentEvidence)), { "agentId": n => { aiAgentEvidence.agentId = n.getStringValue(); }, "agentName": n => { aiAgentEvidence.agentName = n.getStringValue(); }, "hostingPlatformType": n => { aiAgentEvidence.hostingPlatformType = n.getEnumValue(AiAgentPlatformObject); }, "instructions": n => { aiAgentEvidence.instructions = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AiAppInteractionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiAppInteractionAuditRecord(aiAppInteractionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiAppInteractionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AiExecuteToolAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiExecuteToolAuditRecord(aiExecuteToolAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiExecuteToolAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AiInteractionsChangeNotificationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiInteractionsChangeNotificationAuditRecord(aiInteractionsChangeNotificationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiInteractionsChangeNotificationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AiInteractionsExportAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiInteractionsExportAuditRecord(aiInteractionsExportAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiInteractionsExportAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AiInteractionsSubscriptionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiInteractionsSubscriptionAuditRecord(aiInteractionsSubscriptionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiInteractionsSubscriptionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AiInvokeAgentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAiInvokeAgentAuditRecord(aiInvokeAgentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aiInvokeAgentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AipDiscover The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipDiscover(aipDiscover = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipDiscover));
}
/**
 * The deserialization information for the current model
 * @param AipFileDeleted The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipFileDeleted(aipFileDeleted = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipFileDeleted));
}
/**
 * The deserialization information for the current model
 * @param AipHeartBeat The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipHeartBeat(aipHeartBeat = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipHeartBeat));
}
/**
 * The deserialization information for the current model
 * @param AipProtectionActionLogRequest The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipProtectionActionLogRequest(aipProtectionActionLogRequest = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipProtectionActionLogRequest));
}
/**
 * The deserialization information for the current model
 * @param AipScannerDiscoverEvent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipScannerDiscoverEvent(aipScannerDiscoverEvent = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipScannerDiscoverEvent));
}
/**
 * The deserialization information for the current model
 * @param AipSensitivityLabelActionLogRequest The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAipSensitivityLabelActionLogRequest(aipSensitivityLabelActionLogRequest = {}) {
    return Object.assign({}, deserializeIntoAuditData(aipSensitivityLabelActionLogRequest));
}
/**
 * The deserialization information for the current model
 * @param AirAdminActionInvestigationData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAirAdminActionInvestigationData(airAdminActionInvestigationData = {}) {
    return Object.assign({}, deserializeIntoAuditData(airAdminActionInvestigationData));
}
/**
 * The deserialization information for the current model
 * @param AirInvestigationData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAirInvestigationData(airInvestigationData = {}) {
    return Object.assign({}, deserializeIntoAuditData(airInvestigationData));
}
/**
 * The deserialization information for the current model
 * @param AirManualInvestigationData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAirManualInvestigationData(airManualInvestigationData = {}) {
    return Object.assign({}, deserializeIntoAuditData(airManualInvestigationData));
}
/**
 * The deserialization information for the current model
 * @param AISpanOutputsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAISpanOutputsAuditRecord(aISpanOutputsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(aISpanOutputsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Alert The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlert(alert = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(alert)), { "actorDisplayName": n => { alert.actorDisplayName = n.getStringValue(); }, "additionalData": n => { alert.additionalDataProperty = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "alertPolicyId": n => { alert.alertPolicyId = n.getStringValue(); }, "alertWebUrl": n => { alert.alertWebUrl = n.getStringValue(); }, "assignedTo": n => { alert.assignedTo = n.getStringValue(); }, "categories": n => { alert.categories = n.getCollectionOfPrimitiveValues("string"); }, "category": n => { alert.category = n.getStringValue(); }, "classification": n => { alert.classification = n.getEnumValue(AlertClassificationObject); }, "comments": n => { alert.comments = n.getCollectionOfObjectValues(createAlertCommentFromDiscriminatorValue); }, "createdDateTime": n => { alert.createdDateTime = n.getDateValue(); }, "customDetails": n => { alert.customDetails = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "description": n => { alert.description = n.getStringValue(); }, "detectionSource": n => { alert.detectionSource = n.getEnumValue(DetectionSourceObject); }, "detectorId": n => { alert.detectorId = n.getStringValue(); }, "determination": n => { alert.determination = n.getEnumValue(AlertDeterminationObject); }, "evidence": n => { alert.evidence = n.getCollectionOfObjectValues(createAlertEvidenceFromDiscriminatorValue); }, "firstActivityDateTime": n => { alert.firstActivityDateTime = n.getDateValue(); }, "incidentId": n => { alert.incidentId = n.getStringValue(); }, "incidentWebUrl": n => { alert.incidentWebUrl = n.getStringValue(); }, "investigationState": n => { alert.investigationState = n.getEnumValue(InvestigationStateObject); }, "lastActivityDateTime": n => { alert.lastActivityDateTime = n.getDateValue(); }, "lastUpdateDateTime": n => { alert.lastUpdateDateTime = n.getDateValue(); }, "mitreTechniques": n => { alert.mitreTechniques = n.getCollectionOfPrimitiveValues("string"); }, "productName": n => { alert.productName = n.getStringValue(); }, "providerAlertId": n => { alert.providerAlertId = n.getStringValue(); }, "recommendedActions": n => { alert.recommendedActions = n.getStringValue(); }, "resolvedDateTime": n => { alert.resolvedDateTime = n.getDateValue(); }, "serviceSource": n => { alert.serviceSource = n.getEnumValue(ServiceSourceObject); }, "severity": n => { alert.severity = n.getEnumValue(AlertSeverityObject); }, "status": n => { alert.status = n.getEnumValue(AlertStatusObject); }, "systemTags": n => { alert.systemTags = n.getCollectionOfPrimitiveValues("string"); }, "tenantId": n => { alert.tenantId = n.getStringValue(); }, "threatDisplayName": n => { alert.threatDisplayName = n.getStringValue(); }, "threatFamilyName": n => { alert.threatFamilyName = n.getStringValue(); }, "title": n => { alert.title = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AlertCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertCollectionResponse(alertCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(alertCollectionResponse)), { "value": n => { alertCollectionResponse.value = n.getCollectionOfObjectValues(createAlertFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AlertComment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertComment(alertComment = {}) {
    return {
        "backingStoreEnabled": n => { alertComment.backingStoreEnabled = true; },
        "comment": n => { alertComment.comment = n.getStringValue(); },
        "createdByDisplayName": n => { alertComment.createdByDisplayName = n.getStringValue(); },
        "createdDateTime": n => { alertComment.createdDateTime = n.getDateValue(); },
        "@odata.type": n => { alertComment.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AlertCustomDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertCustomDetails(alertCustomDetails = {}) {
    return Object.assign({}, deserializeIntoDictionary(alertCustomDetails));
}
/**
 * The deserialization information for the current model
 * @param AlertEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertEvidence(alertEvidence = {}) {
    return {
        "backingStoreEnabled": n => { alertEvidence.backingStoreEnabled = true; },
        "createdDateTime": n => { alertEvidence.createdDateTime = n.getDateValue(); },
        "detailedRoles": n => { alertEvidence.detailedRoles = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { alertEvidence.odataType = n.getStringValue(); },
        "remediationStatus": n => { alertEvidence.remediationStatus = n.getEnumValue(EvidenceRemediationStatusObject); },
        "remediationStatusDetails": n => { alertEvidence.remediationStatusDetails = n.getStringValue(); },
        "roles": n => { alertEvidence.roles = n.getCollectionOfEnumValues(EvidenceRoleObject); },
        "tags": n => { alertEvidence.tags = n.getCollectionOfPrimitiveValues("string"); },
        "verdict": n => { alertEvidence.verdict = n.getEnumValue(EvidenceVerdictObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param AlertSubmissionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertSubmissionAuditRecord(alertSubmissionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(alertSubmissionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AlertSubmissionResultDetailAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertSubmissionResultDetailAuditRecord(alertSubmissionResultDetailAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(alertSubmissionResultDetailAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AlertTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAlertTemplate(alertTemplate = {}) {
    return {
        "backingStoreEnabled": n => { alertTemplate.backingStoreEnabled = true; },
        "category": n => { alertTemplate.category = n.getStringValue(); },
        "customDetails": n => { alertTemplate.customDetails = n.getObjectValue(createAlertCustomDetailsFromDiscriminatorValue); },
        "description": n => { alertTemplate.description = n.getStringValue(); },
        "entityMappings": n => { alertTemplate.entityMappings = n.getObjectValue(createEntityMappingConfigurationFromDiscriminatorValue); },
        "impactedAssets": n => { alertTemplate.impactedAssets = n.getCollectionOfObjectValues(createImpactedAssetFromDiscriminatorValue); },
        "mitreTechniques": n => { alertTemplate.mitreTechniques = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { alertTemplate.odataType = n.getStringValue(); },
        "recommendedActions": n => { alertTemplate.recommendedActions = n.getStringValue(); },
        "severity": n => { alertTemplate.severity = n.getEnumValue(AlertSeverityObject); },
        "tactics": n => { alertTemplate.tactics = n.getCollectionOfObjectValues(createMitreTacticFromDiscriminatorValue); },
        "title": n => { alertTemplate.title = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AllowFileResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAllowFileResponseAction(allowFileResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(allowFileResponseAction)), { "deviceGroupNames": n => { allowFileResponseAction.deviceGroupNames = n.getCollectionOfPrimitiveValues("string"); }, "identifier": n => { allowFileResponseAction.identifier = n.getCollectionOfEnumValues(FileEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param AmazonResourceEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAmazonResourceEntityMapping(amazonResourceEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(amazonResourceEntityMapping)), { "amazonResourceIdColumn": n => { amazonResourceEntityMapping.amazonResourceIdColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AmazonResourceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAmazonResourceEvidence(amazonResourceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(amazonResourceEvidence)), { "amazonAccountId": n => { amazonResourceEvidence.amazonAccountId = n.getStringValue(); }, "amazonResourceId": n => { amazonResourceEvidence.amazonResourceId = n.getStringValue(); }, "resourceName": n => { amazonResourceEvidence.resourceName = n.getStringValue(); }, "resourceType": n => { amazonResourceEvidence.resourceType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmail(analyzedEmail = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(analyzedEmail)), { "alertIds": n => { analyzedEmail.alertIds = n.getCollectionOfPrimitiveValues("string"); }, "attachments": n => { analyzedEmail.attachments = n.getCollectionOfObjectValues(createAnalyzedEmailAttachmentFromDiscriminatorValue); }, "authenticationDetails": n => { analyzedEmail.authenticationDetails = n.getObjectValue(createAnalyzedEmailAuthenticationDetailFromDiscriminatorValue); }, "bulkComplaintLevel": n => { analyzedEmail.bulkComplaintLevel = n.getStringValue(); }, "clientType": n => { analyzedEmail.clientType = n.getStringValue(); }, "contexts": n => { analyzedEmail.contexts = n.getCollectionOfPrimitiveValues("string"); }, "detectionMethods": n => { analyzedEmail.detectionMethods = n.getCollectionOfPrimitiveValues("string"); }, "directionality": n => { analyzedEmail.directionality = n.getEnumValue(AntispamDirectionalityObject); }, "distributionList": n => { analyzedEmail.distributionList = n.getStringValue(); }, "dlpRules": n => { analyzedEmail.dlpRules = n.getCollectionOfObjectValues(createAnalyzedEmailDlpRuleInfoFromDiscriminatorValue); }, "emailClusterId": n => { analyzedEmail.emailClusterId = n.getStringValue(); }, "exchangeTransportRules": n => { analyzedEmail.exchangeTransportRules = n.getCollectionOfObjectValues(createAnalyzedEmailExchangeTransportRuleInfoFromDiscriminatorValue); }, "forwardingDetail": n => { analyzedEmail.forwardingDetail = n.getStringValue(); }, "inboundConnectorFormattedName": n => { analyzedEmail.inboundConnectorFormattedName = n.getStringValue(); }, "internetMessageId": n => { analyzedEmail.internetMessageId = n.getStringValue(); }, "language": n => { analyzedEmail.language = n.getStringValue(); }, "latestDelivery": n => { analyzedEmail.latestDelivery = n.getObjectValue(createAnalyzedEmailDeliveryDetailFromDiscriminatorValue); }, "loggedDateTime": n => { analyzedEmail.loggedDateTime = n.getDateValue(); }, "networkMessageId": n => { analyzedEmail.networkMessageId = n.getStringValue(); }, "originalDelivery": n => { analyzedEmail.originalDelivery = n.getObjectValue(createAnalyzedEmailDeliveryDetailFromDiscriminatorValue); }, "overrideSources": n => { analyzedEmail.overrideSources = n.getCollectionOfPrimitiveValues("string"); }, "phishConfidenceLevel": n => { analyzedEmail.phishConfidenceLevel = n.getStringValue(); }, "policy": n => { analyzedEmail.policy = n.getStringValue(); }, "policyAction": n => { analyzedEmail.policyAction = n.getStringValue(); }, "policyType": n => { analyzedEmail.policyType = n.getStringValue(); }, "primaryOverrideSource": n => { analyzedEmail.primaryOverrideSource = n.getStringValue(); }, "recipientDetail": n => { analyzedEmail.recipientDetail = n.getObjectValue(createAnalyzedEmailRecipientDetailFromDiscriminatorValue); }, "recipientEmailAddress": n => { analyzedEmail.recipientEmailAddress = n.getStringValue(); }, "returnPath": n => { analyzedEmail.returnPath = n.getStringValue(); }, "senderDetail": n => { analyzedEmail.senderDetail = n.getObjectValue(createAnalyzedEmailSenderDetailFromDiscriminatorValue); }, "sizeInBytes": n => { analyzedEmail.sizeInBytes = n.getNumberValue(); }, "spamConfidenceLevel": n => { analyzedEmail.spamConfidenceLevel = n.getStringValue(); }, "subject": n => { analyzedEmail.subject = n.getStringValue(); }, "threatDetectionDetails": n => { analyzedEmail.threatDetectionDetails = n.getCollectionOfObjectValues(createThreatDetectionDetailFromDiscriminatorValue); }, "threatTypes": n => { analyzedEmail.threatTypes = n.getCollectionOfEnumValues(ThreatTypeObject); }, "timelineEvents": n => { analyzedEmail.timelineEvents = n.getCollectionOfObjectValues(createTimelineEventFromDiscriminatorValue); }, "urls": n => { analyzedEmail.urls = n.getCollectionOfObjectValues(createAnalyzedEmailUrlFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailAttachment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailAttachment(analyzedEmailAttachment = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailAttachment.backingStoreEnabled = true; },
        "detonationDetails": n => { analyzedEmailAttachment.detonationDetails = n.getObjectValue(createDetonationDetailsFromDiscriminatorValue); },
        "fileExtension": n => { analyzedEmailAttachment.fileExtension = n.getStringValue(); },
        "fileName": n => { analyzedEmailAttachment.fileName = n.getStringValue(); },
        "fileSize": n => { analyzedEmailAttachment.fileSize = n.getNumberValue(); },
        "fileType": n => { analyzedEmailAttachment.fileType = n.getStringValue(); },
        "malwareFamily": n => { analyzedEmailAttachment.malwareFamily = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailAttachment.odataType = n.getStringValue(); },
        "sha256": n => { analyzedEmailAttachment.sha256 = n.getStringValue(); },
        "tenantAllowBlockListDetailInfo": n => { analyzedEmailAttachment.tenantAllowBlockListDetailInfo = n.getStringValue(); },
        "threatType": n => { analyzedEmailAttachment.threatType = n.getEnumValue(ThreatTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailAuthenticationDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailAuthenticationDetail(analyzedEmailAuthenticationDetail = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailAuthenticationDetail.backingStoreEnabled = true; },
        "compositeAuthentication": n => { analyzedEmailAuthenticationDetail.compositeAuthentication = n.getStringValue(); },
        "dkim": n => { analyzedEmailAuthenticationDetail.dkim = n.getStringValue(); },
        "dmarc": n => { analyzedEmailAuthenticationDetail.dmarc = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailAuthenticationDetail.odataType = n.getStringValue(); },
        "senderPolicyFramework": n => { analyzedEmailAuthenticationDetail.senderPolicyFramework = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailCollectionResponse(analyzedEmailCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(analyzedEmailCollectionResponse)), { "value": n => { analyzedEmailCollectionResponse.value = n.getCollectionOfObjectValues(createAnalyzedEmailFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailDeliveryDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailDeliveryDetail(analyzedEmailDeliveryDetail = {}) {
    return {
        "action": n => { analyzedEmailDeliveryDetail.action = n.getEnumValue(DeliveryActionObject); },
        "backingStoreEnabled": n => { analyzedEmailDeliveryDetail.backingStoreEnabled = true; },
        "latestThreats": n => { analyzedEmailDeliveryDetail.latestThreats = n.getStringValue(); },
        "location": n => { analyzedEmailDeliveryDetail.location = n.getEnumValue(DeliveryLocationObject); },
        "@odata.type": n => { analyzedEmailDeliveryDetail.odataType = n.getStringValue(); },
        "originalThreats": n => { analyzedEmailDeliveryDetail.originalThreats = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailDlpRuleInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailDlpRuleInfo(analyzedEmailDlpRuleInfo = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailDlpRuleInfo.backingStoreEnabled = true; },
        "name": n => { analyzedEmailDlpRuleInfo.name = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailDlpRuleInfo.odataType = n.getStringValue(); },
        "ruleId": n => { analyzedEmailDlpRuleInfo.ruleId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailExchangeTransportRuleInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailExchangeTransportRuleInfo(analyzedEmailExchangeTransportRuleInfo = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailExchangeTransportRuleInfo.backingStoreEnabled = true; },
        "name": n => { analyzedEmailExchangeTransportRuleInfo.name = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailExchangeTransportRuleInfo.odataType = n.getStringValue(); },
        "ruleId": n => { analyzedEmailExchangeTransportRuleInfo.ruleId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailRecipientDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailRecipientDetail(analyzedEmailRecipientDetail = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailRecipientDetail.backingStoreEnabled = true; },
        "ccRecipients": n => { analyzedEmailRecipientDetail.ccRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "domainName": n => { analyzedEmailRecipientDetail.domainName = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailRecipientDetail.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailSenderDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailSenderDetail(analyzedEmailSenderDetail = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailSenderDetail.backingStoreEnabled = true; },
        "displayName": n => { analyzedEmailSenderDetail.displayName = n.getStringValue(); },
        "domainCreationDateTime": n => { analyzedEmailSenderDetail.domainCreationDateTime = n.getDateValue(); },
        "domainName": n => { analyzedEmailSenderDetail.domainName = n.getStringValue(); },
        "domainOwner": n => { analyzedEmailSenderDetail.domainOwner = n.getStringValue(); },
        "fromAddress": n => { analyzedEmailSenderDetail.fromAddress = n.getStringValue(); },
        "ipv4": n => { analyzedEmailSenderDetail.ipv4 = n.getStringValue(); },
        "location": n => { analyzedEmailSenderDetail.location = n.getStringValue(); },
        "mailFromAddress": n => { analyzedEmailSenderDetail.mailFromAddress = n.getStringValue(); },
        "mailFromDomainName": n => { analyzedEmailSenderDetail.mailFromDomainName = n.getStringValue(); },
        "@odata.type": n => { analyzedEmailSenderDetail.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedEmailUrl The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedEmailUrl(analyzedEmailUrl = {}) {
    return {
        "backingStoreEnabled": n => { analyzedEmailUrl.backingStoreEnabled = true; },
        "detectionMethod": n => { analyzedEmailUrl.detectionMethod = n.getStringValue(); },
        "detonationDetails": n => { analyzedEmailUrl.detonationDetails = n.getObjectValue(createDetonationDetailsFromDiscriminatorValue); },
        "@odata.type": n => { analyzedEmailUrl.odataType = n.getStringValue(); },
        "tenantAllowBlockListDetailInfo": n => { analyzedEmailUrl.tenantAllowBlockListDetailInfo = n.getStringValue(); },
        "threatType": n => { analyzedEmailUrl.threatType = n.getEnumValue(ThreatTypeObject); },
        "url": n => { analyzedEmailUrl.url = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AnalyzedMessageEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAnalyzedMessageEvidence(analyzedMessageEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(analyzedMessageEvidence)), { "antiSpamDirection": n => { analyzedMessageEvidence.antiSpamDirection = n.getStringValue(); }, "attachmentsCount": n => { analyzedMessageEvidence.attachmentsCount = n.getNumberValue(); }, "deliveryAction": n => { analyzedMessageEvidence.deliveryAction = n.getStringValue(); }, "deliveryLocation": n => { analyzedMessageEvidence.deliveryLocation = n.getStringValue(); }, "internetMessageId": n => { analyzedMessageEvidence.internetMessageId = n.getStringValue(); }, "language": n => { analyzedMessageEvidence.language = n.getStringValue(); }, "networkMessageId": n => { analyzedMessageEvidence.networkMessageId = n.getStringValue(); }, "p1Sender": n => { analyzedMessageEvidence.p1Sender = n.getObjectValue(createEmailSenderFromDiscriminatorValue); }, "p2Sender": n => { analyzedMessageEvidence.p2Sender = n.getObjectValue(createEmailSenderFromDiscriminatorValue); }, "receivedDateTime": n => { analyzedMessageEvidence.receivedDateTime = n.getDateValue(); }, "recipientEmailAddress": n => { analyzedMessageEvidence.recipientEmailAddress = n.getStringValue(); }, "senderIp": n => { analyzedMessageEvidence.senderIp = n.getStringValue(); }, "subject": n => { analyzedMessageEvidence.subject = n.getStringValue(); }, "threatDetectionMethods": n => { analyzedMessageEvidence.threatDetectionMethods = n.getCollectionOfPrimitiveValues("string"); }, "threats": n => { analyzedMessageEvidence.threats = n.getCollectionOfPrimitiveValues("string"); }, "urlCount": n => { analyzedMessageEvidence.urlCount = n.getNumberValue(); }, "urls": n => { analyzedMessageEvidence.urls = n.getCollectionOfPrimitiveValues("string"); }, "urn": n => { analyzedMessageEvidence.urn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ApplyLabelAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApplyLabelAction(applyLabelAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(applyLabelAction)), { "actions": n => { applyLabelAction.actions = n.getCollectionOfObjectValues(createInformationProtectionActionFromDiscriminatorValue); }, "actionSource": n => { applyLabelAction.actionSource = n.getEnumValue(ActionSourceObject); }, "responsibleSensitiveTypeIds": n => { applyLabelAction.responsibleSensitiveTypeIds = n.getCollectionOfPrimitiveValues("string"); }, "sensitivityLabelId": n => { applyLabelAction.sensitivityLabelId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Article The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoArticle(article = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(article)), { "body": n => { article.body = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "createdDateTime": n => { article.createdDateTime = n.getDateValue(); }, "imageUrl": n => { article.imageUrl = n.getStringValue(); }, "indicators": n => { article.indicators = n.getCollectionOfObjectValues(createArticleIndicatorFromDiscriminatorValue); }, "isFeatured": n => { article.isFeatured = n.getBooleanValue(); }, "lastUpdatedDateTime": n => { article.lastUpdatedDateTime = n.getDateValue(); }, "summary": n => { article.summary = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "tags": n => { article.tags = n.getCollectionOfPrimitiveValues("string"); }, "title": n => { article.title = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ArticleCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoArticleCollectionResponse(articleCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(articleCollectionResponse)), { "value": n => { articleCollectionResponse.value = n.getCollectionOfObjectValues(createArticleFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ArticleIndicator The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoArticleIndicator(articleIndicator = {}) {
    return Object.assign({}, deserializeIntoIndicator(articleIndicator));
}
/**
 * The deserialization information for the current model
 * @param ArticleIndicatorCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoArticleIndicatorCollectionResponse(articleIndicatorCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(articleIndicatorCollectionResponse)), { "value": n => { articleIndicatorCollectionResponse.value = n.getCollectionOfObjectValues(createArticleIndicatorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Artifact The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoArtifact(artifact = {}) {
    return Object.assign({}, deserializeIntoEntity(artifact));
}
/**
 * The deserialization information for the current model
 * @param AttackSimAdminAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttackSimAdminAuditRecord(attackSimAdminAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(attackSimAdminAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AttackSimAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttackSimAuditRecord(attackSimAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(attackSimAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AttackSimulationInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttackSimulationInfo(attackSimulationInfo = {}) {
    return {
        "attackSimDateTime": n => { attackSimulationInfo.attackSimDateTime = n.getDateValue(); },
        "attackSimDurationTime": n => { attackSimulationInfo.attackSimDurationTime = n.getDurationValue(); },
        "attackSimId": n => { attackSimulationInfo.attackSimId = n.getGuidValue(); },
        "attackSimUserId": n => { attackSimulationInfo.attackSimUserId = n.getStringValue(); },
        "backingStoreEnabled": n => { attackSimulationInfo.backingStoreEnabled = true; },
        "@odata.type": n => { attackSimulationInfo.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AuditConfigAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditConfigAuditRecord(auditConfigAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(auditConfigAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AuditCoreRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditCoreRoot(auditCoreRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(auditCoreRoot)), { "queries": n => { auditCoreRoot.queries = n.getCollectionOfObjectValues(createAuditLogQueryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AuditData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditData(auditData = {}) {
    return {
        "backingStoreEnabled": n => { auditData.backingStoreEnabled = true; },
        "dynamicProperties": n => { auditData.dynamicProperties = n.getObjectValue(createAuditRecordTypeDictionaryFromDiscriminatorValue); },
        "@odata.type": n => { auditData.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AuditInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditInfo(auditInfo = {}) {
    return {
        "backingStoreEnabled": n => { auditInfo.backingStoreEnabled = true; },
        "by": n => { auditInfo.by = n.getStringValue(); },
        "dateTime": n => { auditInfo.dateTime = n.getDateValue(); },
        "@odata.type": n => { auditInfo.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AuditLogQuery The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditLogQuery(auditLogQuery = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(auditLogQuery)), { "administrativeUnitIdFilters": n => { auditLogQuery.administrativeUnitIdFilters = n.getCollectionOfPrimitiveValues("string"); }, "displayName": n => { auditLogQuery.displayName = n.getStringValue(); }, "filterEndDateTime": n => { auditLogQuery.filterEndDateTime = n.getDateValue(); }, "filterStartDateTime": n => { auditLogQuery.filterStartDateTime = n.getDateValue(); }, "ipAddressFilters": n => { auditLogQuery.ipAddressFilters = n.getCollectionOfPrimitiveValues("string"); }, "keywordFilter": n => { auditLogQuery.keywordFilter = n.getStringValue(); }, "objectIdFilters": n => { auditLogQuery.objectIdFilters = n.getCollectionOfPrimitiveValues("string"); }, "operationFilters": n => { auditLogQuery.operationFilters = n.getCollectionOfPrimitiveValues("string"); }, "records": n => { auditLogQuery.records = n.getCollectionOfObjectValues(createAuditLogRecordFromDiscriminatorValue); }, "recordTypeFilters": n => { auditLogQuery.recordTypeFilters = n.getCollectionOfEnumValues(AuditLogRecordTypeObject); }, "serviceFilters": n => { auditLogQuery.serviceFilters = n.getCollectionOfPrimitiveValues("string"); }, "status": n => { auditLogQuery.status = n.getEnumValue(AuditLogQueryStatusObject); }, "userPrincipalNameFilters": n => { auditLogQuery.userPrincipalNameFilters = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param AuditLogQueryCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditLogQueryCollectionResponse(auditLogQueryCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(auditLogQueryCollectionResponse)), { "value": n => { auditLogQueryCollectionResponse.value = n.getCollectionOfObjectValues(createAuditLogQueryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AuditLogRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditLogRecord(auditLogRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(auditLogRecord)), { "administrativeUnits": n => { auditLogRecord.administrativeUnits = n.getCollectionOfPrimitiveValues("string"); }, "auditData": n => { auditLogRecord.auditData = n.getObjectValue(createAuditDataFromDiscriminatorValue); }, "auditLogRecordType": n => { auditLogRecord.auditLogRecordType = n.getEnumValue(AuditLogRecordTypeObject); }, "clientIp": n => { auditLogRecord.clientIp = n.getStringValue(); }, "createdDateTime": n => { auditLogRecord.createdDateTime = n.getDateValue(); }, "objectId": n => { auditLogRecord.objectId = n.getStringValue(); }, "operation": n => { auditLogRecord.operation = n.getStringValue(); }, "organizationId": n => { auditLogRecord.organizationId = n.getStringValue(); }, "service": n => { auditLogRecord.service = n.getStringValue(); }, "userId": n => { auditLogRecord.userId = n.getStringValue(); }, "userPrincipalName": n => { auditLogRecord.userPrincipalName = n.getStringValue(); }, "userType": n => { auditLogRecord.userType = n.getEnumValue(AuditLogUserTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param AuditLogRecordCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditLogRecordCollectionResponse(auditLogRecordCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(auditLogRecordCollectionResponse)), { "value": n => { auditLogRecordCollectionResponse.value = n.getCollectionOfObjectValues(createAuditLogRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AuditRecordTypeDictionary The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditRecordTypeDictionary(auditRecordTypeDictionary = {}) {
    return {
        "backingStoreEnabled": n => { auditRecordTypeDictionary.backingStoreEnabled = true; },
        "@odata.type": n => { auditRecordTypeDictionary.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AuditSearchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuditSearchAuditRecord(auditSearchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(auditSearchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AuthorityTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuthorityTemplate(authorityTemplate = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(authorityTemplate));
}
/**
 * The deserialization information for the current model
 * @param AuthorityTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAuthorityTemplateCollectionResponse(authorityTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(authorityTemplateCollectionResponse)), { "value": n => { authorityTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createAuthorityTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AutoAuditingConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAutoAuditingConfiguration(autoAuditingConfiguration = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(autoAuditingConfiguration)), { "isAutomatic": n => { autoAuditingConfiguration.isAutomatic = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AutomatedAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAutomatedAction(automatedAction = {}) {
    return {
        "backingStoreEnabled": n => { automatedAction.backingStoreEnabled = true; },
        "@odata.type": n => { automatedAction.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AutomatedActionSet The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAutomatedActionSet(automatedActionSet = {}) {
    return {
        "allowFiles": n => { automatedActionSet.allowFiles = n.getCollectionOfObjectValues(createFileActionFromDiscriminatorValue); },
        "backingStoreEnabled": n => { automatedActionSet.backingStoreEnabled = true; },
        "blockFiles": n => { automatedActionSet.blockFiles = n.getCollectionOfObjectValues(createFileActionFromDiscriminatorValue); },
        "collectInvestigationPackages": n => { automatedActionSet.collectInvestigationPackages = n.getCollectionOfObjectValues(createDeviceActionFromDiscriminatorValue); },
        "disableUsers": n => { automatedActionSet.disableUsers = n.getCollectionOfObjectValues(createAccountSidActionFromDiscriminatorValue); },
        "forceUserPasswordResets": n => { automatedActionSet.forceUserPasswordResets = n.getCollectionOfObjectValues(createAccountSidActionFromDiscriminatorValue); },
        "hardDeleteEmails": n => { automatedActionSet.hardDeleteEmails = n.getCollectionOfObjectValues(createEmailActionFromDiscriminatorValue); },
        "initiateInvestigations": n => { automatedActionSet.initiateInvestigations = n.getCollectionOfObjectValues(createDeviceActionFromDiscriminatorValue); },
        "isolateDevices": n => { automatedActionSet.isolateDevices = n.getCollectionOfObjectValues(createIsolateDeviceActionFromDiscriminatorValue); },
        "markUsersAsCompromised": n => { automatedActionSet.markUsersAsCompromised = n.getCollectionOfObjectValues(createAccountObjectIdActionFromDiscriminatorValue); },
        "moveEmailsToDeletedItems": n => { automatedActionSet.moveEmailsToDeletedItems = n.getCollectionOfObjectValues(createEmailActionFromDiscriminatorValue); },
        "moveEmailsToInbox": n => { automatedActionSet.moveEmailsToInbox = n.getCollectionOfObjectValues(createEmailActionFromDiscriminatorValue); },
        "moveEmailsToJunk": n => { automatedActionSet.moveEmailsToJunk = n.getCollectionOfObjectValues(createEmailActionFromDiscriminatorValue); },
        "@odata.type": n => { automatedActionSet.odataType = n.getStringValue(); },
        "restrictAppExecutions": n => { automatedActionSet.restrictAppExecutions = n.getCollectionOfObjectValues(createDeviceActionFromDiscriminatorValue); },
        "runAntivirusScans": n => { automatedActionSet.runAntivirusScans = n.getCollectionOfObjectValues(createDeviceActionFromDiscriminatorValue); },
        "softDeleteEmails": n => { automatedActionSet.softDeleteEmails = n.getCollectionOfObjectValues(createEmailActionFromDiscriminatorValue); },
        "stopAndQuarantineFiles": n => { automatedActionSet.stopAndQuarantineFiles = n.getCollectionOfObjectValues(createStopAndQuarantineFileActionFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param AutonomousSystem The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAutonomousSystem(autonomousSystem = {}) {
    return {
        "backingStoreEnabled": n => { autonomousSystem.backingStoreEnabled = true; },
        "name": n => { autonomousSystem.name = n.getStringValue(); },
        "number": n => { autonomousSystem.number = n.getNumberValue(); },
        "@odata.type": n => { autonomousSystem.odataType = n.getStringValue(); },
        "organization": n => { autonomousSystem.organization = n.getStringValue(); },
        "value": n => { autonomousSystem.value = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AzfwApplicationRuleAggregationEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzfwApplicationRuleAggregationEventRecord(azfwApplicationRuleAggregationEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azfwApplicationRuleAggregationEventRecord));
}
/**
 * The deserialization information for the current model
 * @param AzfwDnsQueryEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzfwDnsQueryEventRecord(azfwDnsQueryEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azfwDnsQueryEventRecord));
}
/**
 * The deserialization information for the current model
 * @param AzfwNetworkRuleEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzfwNetworkRuleEventRecord(azfwNetworkRuleEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azfwNetworkRuleEventRecord));
}
/**
 * The deserialization information for the current model
 * @param AzureActiveDirectoryAccountLogonAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureActiveDirectoryAccountLogonAuditRecord(azureActiveDirectoryAccountLogonAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azureActiveDirectoryAccountLogonAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AzureActiveDirectoryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureActiveDirectoryAuditRecord(azureActiveDirectoryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azureActiveDirectoryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AzureActiveDirectoryStsLogonAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureActiveDirectoryStsLogonAuditRecord(azureActiveDirectoryStsLogonAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azureActiveDirectoryStsLogonAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AzureAISearchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureAISearchAuditRecord(azureAISearchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(azureAISearchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param AzureResourceEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureResourceEntityMapping(azureResourceEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(azureResourceEntityMapping)), { "resourceIdColumn": n => { azureResourceEntityMapping.resourceIdColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param AzureResourceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureResourceEvidence(azureResourceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(azureResourceEvidence)), { "resourceId": n => { azureResourceEvidence.resourceId = n.getStringValue(); }, "resourceName": n => { azureResourceEvidence.resourceName = n.getStringValue(); }, "resourceType": n => { azureResourceEvidence.resourceType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param BlobContainerEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBlobContainerEvidence(blobContainerEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(blobContainerEvidence)), { "name": n => { blobContainerEvidence.name = n.getStringValue(); }, "storageResource": n => { blobContainerEvidence.storageResource = n.getObjectValue(createAzureResourceEvidenceFromDiscriminatorValue); }, "url": n => { blobContainerEvidence.url = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param BlobEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBlobEvidence(blobEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(blobEvidence)), { "blobContainer": n => { blobEvidence.blobContainer = n.getObjectValue(createBlobContainerEvidenceFromDiscriminatorValue); }, "etag": n => { blobEvidence.etag = n.getStringValue(); }, "fileHashes": n => { blobEvidence.fileHashes = n.getCollectionOfObjectValues(createFileHashFromDiscriminatorValue); }, "name": n => { blobEvidence.name = n.getStringValue(); }, "url": n => { blobEvidence.url = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param BlockFileResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBlockFileResponseAction(blockFileResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(blockFileResponseAction)), { "deviceGroupNames": n => { blockFileResponseAction.deviceGroupNames = n.getCollectionOfPrimitiveValues("string"); }, "identifier": n => { blockFileResponseAction.identifier = n.getCollectionOfEnumValues(FileEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param CampaignAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCampaignAuditRecord(campaignAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(campaignAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CaseEscaped The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseEscaped(caseEscaped = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(caseEscaped)), { "createdDateTime": n => { caseEscaped.createdDateTime = n.getDateValue(); }, "description": n => { caseEscaped.description = n.getStringValue(); }, "displayName": n => { caseEscaped.displayName = n.getStringValue(); }, "lastModifiedBy": n => { caseEscaped.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { caseEscaped.lastModifiedDateTime = n.getDateValue(); }, "status": n => { caseEscaped.status = n.getEnumValue(CaseStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param CaseManagementRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseManagementRoot(caseManagementRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(caseManagementRoot)), { "cases": n => { caseManagementRoot.cases = n.getCollectionOfObjectValues(I04c8fd8d7d793fe83a2f5aea097a28f9a6cf45af6c77a616d50903ea898d91e1); }, "caseTypeConfigurations": n => { caseManagementRoot.caseTypeConfigurations = n.getCollectionOfObjectValues(createCaseTypeConfigurationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CaseOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseOperation(caseOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(caseOperation)), { "action": n => { caseOperation.action = n.getEnumValue(CaseActionObject); }, "completedDateTime": n => { caseOperation.completedDateTime = n.getDateValue(); }, "createdBy": n => { caseOperation.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { caseOperation.createdDateTime = n.getDateValue(); }, "percentProgress": n => { caseOperation.percentProgress = n.getNumberValue(); }, "resultInfo": n => { caseOperation.resultInfo = n.getObjectValue(createResultInfoFromDiscriminatorValue); }, "status": n => { caseOperation.status = n.getEnumValue(CaseOperationStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param CaseOperationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCaseOperationCollectionResponse(caseOperationCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(caseOperationCollectionResponse)), { "value": n => { caseOperationCollectionResponse.value = n.getCollectionOfObjectValues(createCaseOperationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CasesRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCasesRoot(casesRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(casesRoot)), { "ediscoveryCases": n => { casesRoot.ediscoveryCases = n.getCollectionOfObjectValues(createEdiscoveryCaseFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CategoryTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCategoryTemplate(categoryTemplate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(categoryTemplate)), { "subcategories": n => { categoryTemplate.subcategories = n.getCollectionOfObjectValues(createSubcategoryTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CategoryTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCategoryTemplateCollectionResponse(categoryTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(categoryTemplateCollectionResponse)), { "value": n => { categoryTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createCategoryTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CcraiPolicyViolationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCcraiPolicyViolationRecord(ccraiPolicyViolationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(ccraiPolicyViolationRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpClassifierHealthRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpClassifierHealthRecord(cdpClassifierHealthRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpClassifierHealthRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpColdCrawlStatusRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpColdCrawlStatusRecord(cdpColdCrawlStatusRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpColdCrawlStatusRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpConsumptionResourceRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpConsumptionResourceRecord(cdpConsumptionResourceRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpConsumptionResourceRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpContentExplorerAggregateRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpContentExplorerAggregateRecord(cdpContentExplorerAggregateRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpContentExplorerAggregateRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpdlmaiInteractionInsightsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpdlmaiInteractionInsightsRecord(cdpdlmaiInteractionInsightsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpdlmaiInteractionInsightsRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpDlpSensitiveEndpointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpDlpSensitiveEndpointAuditRecord(cdpDlpSensitiveEndpointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpDlpSensitiveEndpointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpLogRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpLogRecord(cdpLogRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpLogRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpOcrBillingRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpOcrBillingRecord(cdpOcrBillingRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpOcrBillingRecord));
}
/**
 * The deserialization information for the current model
 * @param CdpResourceScopeChangeEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCdpResourceScopeChangeEventRecord(cdpResourceScopeChangeEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cdpResourceScopeChangeEventRecord));
}
/**
 * The deserialization information for the current model
 * @param CitationTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCitationTemplate(citationTemplate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(citationTemplate)), { "citationJurisdiction": n => { citationTemplate.citationJurisdiction = n.getStringValue(); }, "citationUrl": n => { citationTemplate.citationUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CitationTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCitationTemplateCollectionResponse(citationTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(citationTemplateCollectionResponse)), { "value": n => { citationTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createCitationTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ClassificationResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoClassificationResult(classificationResult = {}) {
    return {
        "backingStoreEnabled": n => { classificationResult.backingStoreEnabled = true; },
        "confidenceLevel": n => { classificationResult.confidenceLevel = n.getNumberValue(); },
        "count": n => { classificationResult.count = n.getNumberValue(); },
        "@odata.type": n => { classificationResult.odataType = n.getStringValue(); },
        "sensitiveTypeId": n => { classificationResult.sensitiveTypeId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param CloudAppDiscoveryReport The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudAppDiscoveryReport(cloudAppDiscoveryReport = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(cloudAppDiscoveryReport)), { "anonymizeMachineData": n => { cloudAppDiscoveryReport.anonymizeMachineData = n.getBooleanValue(); }, "anonymizeUserData": n => { cloudAppDiscoveryReport.anonymizeUserData = n.getBooleanValue(); }, "createdDateTime": n => { cloudAppDiscoveryReport.createdDateTime = n.getDateValue(); }, "description": n => { cloudAppDiscoveryReport.description = n.getStringValue(); }, "displayName": n => { cloudAppDiscoveryReport.displayName = n.getStringValue(); }, "isSnapshotReport": n => { cloudAppDiscoveryReport.isSnapshotReport = n.getBooleanValue(); }, "lastDataReceivedDateTime": n => { cloudAppDiscoveryReport.lastDataReceivedDateTime = n.getDateValue(); }, "lastModifiedDateTime": n => { cloudAppDiscoveryReport.lastModifiedDateTime = n.getDateValue(); }, "logDataProvider": n => { cloudAppDiscoveryReport.logDataProvider = n.getEnumValue(LogDataProviderObject); }, "logFileCount": n => { cloudAppDiscoveryReport.logFileCount = n.getNumberValue(); }, "receiverProtocol": n => { cloudAppDiscoveryReport.receiverProtocol = n.getEnumValue(ReceiverProtocolObject); }, "supportedEntityTypes": n => { cloudAppDiscoveryReport.supportedEntityTypes = n.getCollectionOfEnumValues(EntityTypeObject); }, "supportedTrafficTypes": n => { cloudAppDiscoveryReport.supportedTrafficTypes = n.getCollectionOfEnumValues(TrafficTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param CloudAppDiscoveryReportCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudAppDiscoveryReportCollectionResponse(cloudAppDiscoveryReportCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(cloudAppDiscoveryReportCollectionResponse)), { "value": n => { cloudAppDiscoveryReportCollectionResponse.value = n.getCollectionOfObjectValues(createCloudAppDiscoveryReportFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CloudApplicationEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudApplicationEntityMapping(cloudApplicationEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(cloudApplicationEntityMapping)), { "appIdColumn": n => { cloudApplicationEntityMapping.appIdColumn = n.getStringValue(); }, "nameColumn": n => { cloudApplicationEntityMapping.nameColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CloudApplicationEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudApplicationEvidence(cloudApplicationEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(cloudApplicationEvidence)), { "appId": n => { cloudApplicationEvidence.appId = n.getNumberValue(); }, "displayName": n => { cloudApplicationEvidence.displayName = n.getStringValue(); }, "instanceId": n => { cloudApplicationEvidence.instanceId = n.getNumberValue(); }, "instanceName": n => { cloudApplicationEvidence.instanceName = n.getStringValue(); }, "saasAppId": n => { cloudApplicationEvidence.saasAppId = n.getNumberValue(); }, "stream": n => { cloudApplicationEvidence.stream = n.getObjectValue(createStreamFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CloudLogonRequestEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudLogonRequestEvidence(cloudLogonRequestEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(cloudLogonRequestEvidence)), { "requestId": n => { cloudLogonRequestEvidence.requestId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CloudLogonSessionEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudLogonSessionEvidence(cloudLogonSessionEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(cloudLogonSessionEvidence)), { "account": n => { cloudLogonSessionEvidence.account = n.getObjectValue(createUserEvidenceFromDiscriminatorValue); }, "browser": n => { cloudLogonSessionEvidence.browser = n.getStringValue(); }, "deviceName": n => { cloudLogonSessionEvidence.deviceName = n.getStringValue(); }, "operatingSystem": n => { cloudLogonSessionEvidence.operatingSystem = n.getStringValue(); }, "previousLogonDateTime": n => { cloudLogonSessionEvidence.previousLogonDateTime = n.getDateValue(); }, "protocol": n => { cloudLogonSessionEvidence.protocol = n.getStringValue(); }, "sessionId": n => { cloudLogonSessionEvidence.sessionId = n.getStringValue(); }, "startUtcDateTime": n => { cloudLogonSessionEvidence.startUtcDateTime = n.getDateValue(); }, "userAgent": n => { cloudLogonSessionEvidence.userAgent = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param CloudUpdateDeviceConfigAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudUpdateDeviceConfigAuditRecord(cloudUpdateDeviceConfigAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cloudUpdateDeviceConfigAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CloudUpdateProfileConfigAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudUpdateProfileConfigAuditRecord(cloudUpdateProfileConfigAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cloudUpdateProfileConfigAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CloudUpdateTenantConfigAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCloudUpdateTenantConfigAuditRecord(cloudUpdateTenantConfigAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cloudUpdateTenantConfigAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CollaborationRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCollaborationRoot(collaborationRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(collaborationRoot)), { "analyzedEmails": n => { collaborationRoot.analyzedEmails = n.getCollectionOfObjectValues(createAnalyzedEmailFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CollectInvestigationPackageIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCollectInvestigationPackageIncidentTaskResponseAction(collectInvestigationPackageIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(collectInvestigationPackageIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param CollectInvestigationPackageResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCollectInvestigationPackageResponseAction(collectInvestigationPackageResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(collectInvestigationPackageResponseAction)), { "identifier": n => { collectInvestigationPackageResponseAction.identifier = n.getCollectionOfEnumValues(DeviceIdEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param ComplianceConnectorAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceConnectorAuditRecord(complianceConnectorAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceConnectorAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLMExchangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLMExchangeAuditRecord(complianceDLMExchangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLMExchangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLMSharePointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLMSharePointAuditRecord(complianceDLMSharePointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLMSharePointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPApplicationsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPApplicationsAuditRecord(complianceDLPApplicationsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPApplicationsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPApplicationsClassificationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPApplicationsClassificationAuditRecord(complianceDLPApplicationsClassificationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPApplicationsClassificationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPEndpointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPEndpointAuditRecord(complianceDLPEndpointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPEndpointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPEndpointDiscoveryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPEndpointDiscoveryAuditRecord(complianceDLPEndpointDiscoveryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPEndpointDiscoveryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPEnforcementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPEnforcementAuditRecord(complianceDLPEnforcementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPEnforcementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPExchangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPExchangeAuditRecord(complianceDLPExchangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPExchangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPExchangeClassificationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPExchangeClassificationAuditRecord(complianceDLPExchangeClassificationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPExchangeClassificationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPExchangeClassificationCdpRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPExchangeClassificationCdpRecord(complianceDLPExchangeClassificationCdpRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPExchangeClassificationCdpRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPExchangeDiscoveryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPExchangeDiscoveryAuditRecord(complianceDLPExchangeDiscoveryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPExchangeDiscoveryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPSharePointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPSharePointAuditRecord(complianceDLPSharePointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPSharePointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPSharePointClassificationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPSharePointClassificationAuditRecord(complianceDLPSharePointClassificationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPSharePointClassificationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPSharePointClassificationCdpRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPSharePointClassificationCdpRecord(complianceDLPSharePointClassificationCdpRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPSharePointClassificationCdpRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPSharePointClassificationExtendedAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPSharePointClassificationExtendedAuditRecord(complianceDLPSharePointClassificationExtendedAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceDLPSharePointClassificationExtendedAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceExchangeOcrAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceExchangeOcrAuditRecord(complianceExchangeOcrAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceExchangeOcrAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceManagerActionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceManagerActionRecord(complianceManagerActionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceManagerActionRecord));
}
/**
 * The deserialization information for the current model
 * @param CompliancePolicyGradingSharePointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCompliancePolicyGradingSharePointAuditRecord(compliancePolicyGradingSharePointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(compliancePolicyGradingSharePointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceSettingsChangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceSettingsChangeAuditRecord(complianceSettingsChangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceSettingsChangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceSitGradingSharePointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceSitGradingSharePointAuditRecord(complianceSitGradingSharePointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceSitGradingSharePointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceSupervisionExchangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceSupervisionExchangeAuditRecord(complianceSupervisionExchangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(complianceSupervisionExchangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CompromiseIndicator The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCompromiseIndicator(compromiseIndicator = {}) {
    return {
        "backingStoreEnabled": n => { compromiseIndicator.backingStoreEnabled = true; },
        "@odata.type": n => { compromiseIndicator.odataType = n.getStringValue(); },
        "value": n => { compromiseIndicator.value = n.getStringValue(); },
        "verdict": n => { compromiseIndicator.verdict = n.getEnumValue(VerdictCategoryObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param ConnectedAIAppInteractionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoConnectedAIAppInteractionAuditRecord(connectedAIAppInteractionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(connectedAIAppInteractionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ConsumptionResourceAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoConsumptionResourceAuditRecord(consumptionResourceAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(consumptionResourceAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ContainerEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContainerEvidence(containerEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(containerEvidence)), { "args": n => { containerEvidence.args = n.getCollectionOfPrimitiveValues("string"); }, "command": n => { containerEvidence.command = n.getCollectionOfPrimitiveValues("string"); }, "containerId": n => { containerEvidence.containerId = n.getStringValue(); }, "image": n => { containerEvidence.image = n.getObjectValue(createContainerImageEvidenceFromDiscriminatorValue); }, "isPrivileged": n => { containerEvidence.isPrivileged = n.getBooleanValue(); }, "name": n => { containerEvidence.name = n.getStringValue(); }, "pod": n => { containerEvidence.pod = n.getObjectValue(createKubernetesPodEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ContainerImageEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContainerImageEvidence(containerImageEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(containerImageEvidence)), { "digestImage": n => { containerImageEvidence.digestImage = n.getObjectValue(createContainerImageEvidenceFromDiscriminatorValue); }, "imageId": n => { containerImageEvidence.imageId = n.getStringValue(); }, "registry": n => { containerImageEvidence.registry = n.getObjectValue(createContainerRegistryEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ContainerRegistryEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContainerRegistryEvidence(containerRegistryEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(containerRegistryEvidence)), { "registry": n => { containerRegistryEvidence.registry = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ContentInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentInfo(contentInfo = {}) {
    return {
        "backingStoreEnabled": n => { contentInfo.backingStoreEnabled = true; },
        "contentFormat": n => { contentInfo.contentFormat = n.getStringValue(); },
        "identifier": n => { contentInfo.identifier = n.getStringValue(); },
        "metadata": n => { contentInfo.metadata = n.getCollectionOfObjectValues(createKeyValuePairFromDiscriminatorValue); },
        "@odata.type": n => { contentInfo.odataType = n.getStringValue(); },
        "state": n => { contentInfo.state = n.getEnumValue(ContentStateObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param ContentLabel The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentLabel(contentLabel = {}) {
    return {
        "assignmentMethod": n => { contentLabel.assignmentMethod = n.getEnumValue(AssignmentMethodObject); },
        "backingStoreEnabled": n => { contentLabel.backingStoreEnabled = true; },
        "createdDateTime": n => { contentLabel.createdDateTime = n.getDateValue(); },
        "@odata.type": n => { contentLabel.odataType = n.getStringValue(); },
        "sensitivityLabelId": n => { contentLabel.sensitivityLabelId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ContentStoreMetadataRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoContentStoreMetadataRecord(contentStoreMetadataRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(contentStoreMetadataRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotAgentManagementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotAgentManagementAuditRecord(copilotAgentManagementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotAgentManagementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotForSecurityLoggingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotForSecurityLoggingAuditRecord(copilotForSecurityLoggingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotForSecurityLoggingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotForSecurityTriggerAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotForSecurityTriggerAuditRecord(copilotForSecurityTriggerAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotForSecurityTriggerAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotInteractionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotInteractionAuditRecord(copilotInteractionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotInteractionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotPluginSettingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotPluginSettingAuditRecord(copilotPluginSettingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotPluginSettingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotPromptBookSettingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotPromptBookSettingAuditRecord(copilotPromptBookSettingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotPromptBookSettingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotSessionSharingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotSessionSharingAuditRecord(copilotSessionSharingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotSessionSharingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotSettingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotSettingAuditRecord(copilotSettingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotSettingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CopilotWorkspaceSettingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCopilotWorkspaceSettingAuditRecord(copilotWorkspaceSettingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(copilotWorkspaceSettingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CoreReportingSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCoreReportingSettingsAuditRecord(coreReportingSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(coreReportingSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CortanaBriefingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCortanaBriefingAuditRecord(cortanaBriefingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(cortanaBriefingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CriticalAssetManagementClassificationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCriticalAssetManagementClassificationRecord(criticalAssetManagementClassificationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(criticalAssetManagementClassificationRecord));
}
/**
 * The deserialization information for the current model
 * @param CrmEntityOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCrmEntityOperationAuditRecord(crmEntityOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(crmEntityOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CrossTenantAccessPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCrossTenantAccessPolicyAuditRecord(crossTenantAccessPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(crossTenantAccessPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CustomAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomAction(customAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(customAction)), { "name": n => { customAction.name = n.getStringValue(); }, "properties": n => { customAction.properties = n.getCollectionOfObjectValues(createKeyValuePairFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param CustomerKeyServiceEncryptionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCustomerKeyServiceEncryptionAuditRecord(customerKeyServiceEncryptionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(customerKeyServiceEncryptionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param CvssSummary The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCvssSummary(cvssSummary = {}) {
    return {
        "backingStoreEnabled": n => { cvssSummary.backingStoreEnabled = true; },
        "@odata.type": n => { cvssSummary.odataType = n.getStringValue(); },
        "score": n => { cvssSummary.score = n.getNumberValue(); },
        "severity": n => { cvssSummary.severity = n.getEnumValue(VulnerabilitySeverityObject); },
        "vectorString": n => { cvssSummary.vectorString = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DataCenterSecurityCmdletAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataCenterSecurityCmdletAuditRecord(dataCenterSecurityCmdletAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataCenterSecurityCmdletAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataDiscoveryReport The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataDiscoveryReport(dataDiscoveryReport = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dataDiscoveryReport)), { "uploadedStreams": n => { dataDiscoveryReport.uploadedStreams = n.getCollectionOfObjectValues(createCloudAppDiscoveryReportFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DataDiscoveryRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataDiscoveryRoot(dataDiscoveryRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dataDiscoveryRoot)), { "cloudAppDiscovery": n => { dataDiscoveryRoot.cloudAppDiscovery = n.getObjectValue(createDataDiscoveryReportFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DataGovernanceAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataGovernanceAuditRecord(dataGovernanceAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataGovernanceAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataInsightsRestApiAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataInsightsRestApiAuditRecord(dataInsightsRestApiAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataInsightsRestApiAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataLakeExportOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataLakeExportOperationAuditRecord(dataLakeExportOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataLakeExportOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataSecurityInvestigationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataSecurityInvestigationAuditRecord(dataSecurityInvestigationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataSecurityInvestigationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataSet The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataSet(dataSet = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dataSet)), { "createdBy": n => { dataSet.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { dataSet.createdDateTime = n.getDateValue(); }, "description": n => { dataSet.description = n.getStringValue(); }, "displayName": n => { dataSet.displayName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DataShareOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataShareOperationAuditRecord(dataShareOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dataShareOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DataSource The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataSource(dataSource = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dataSource)), { "createdBy": n => { dataSource.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { dataSource.createdDateTime = n.getDateValue(); }, "displayName": n => { dataSource.displayName = n.getStringValue(); }, "holdStatus": n => { dataSource.holdStatus = n.getEnumValue(DataSourceHoldStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param DataSourceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataSourceCollectionResponse(dataSourceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(dataSourceCollectionResponse)), { "value": n => { dataSourceCollectionResponse.value = n.getCollectionOfObjectValues(createDataSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DataSourceContainer The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDataSourceContainer(dataSourceContainer = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dataSourceContainer)), { "createdDateTime": n => { dataSourceContainer.createdDateTime = n.getDateValue(); }, "displayName": n => { dataSourceContainer.displayName = n.getStringValue(); }, "holdStatus": n => { dataSourceContainer.holdStatus = n.getEnumValue(DataSourceHoldStatusObject); }, "lastModifiedDateTime": n => { dataSourceContainer.lastModifiedDateTime = n.getDateValue(); }, "releasedDateTime": n => { dataSourceContainer.releasedDateTime = n.getDateValue(); }, "status": n => { dataSourceContainer.status = n.getEnumValue(DataSourceContainerStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param DefaultAuditData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDefaultAuditData(defaultAuditData = {}) {
    return Object.assign({}, deserializeIntoAuditData(defaultAuditData));
}
/**
 * The deserialization information for the current model
 * @param DefenderCaseManagementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDefenderCaseManagementAuditRecord(defenderCaseManagementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(defenderCaseManagementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DefenderPreviewFeaturesRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDefenderPreviewFeaturesRecord(defenderPreviewFeaturesRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(defenderPreviewFeaturesRecord));
}
/**
 * The deserialization information for the current model
 * @param DefenderSecurityForAIConfigurationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDefenderSecurityForAIConfigurationAuditRecord(defenderSecurityForAIConfigurationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(defenderSecurityForAIConfigurationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DepartmentTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDepartmentTemplate(departmentTemplate = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(departmentTemplate));
}
/**
 * The deserialization information for the current model
 * @param DepartmentTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDepartmentTemplateCollectionResponse(departmentTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(departmentTemplateCollectionResponse)), { "value": n => { departmentTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createDepartmentTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DeployFeatureActivityRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeployFeatureActivityRecord(deployFeatureActivityRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(deployFeatureActivityRecord));
}
/**
 * The deserialization information for the current model
 * @param DeploymentAccessKeyType The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeploymentAccessKeyType(deploymentAccessKeyType = {}) {
    return {
        "backingStoreEnabled": n => { deploymentAccessKeyType.backingStoreEnabled = true; },
        "deploymentAccessKey": n => { deploymentAccessKeyType.deploymentAccessKey = n.getStringValue(); },
        "@odata.type": n => { deploymentAccessKeyType.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DetectionAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetectionAction(detectionAction = {}) {
    return {
        "alertTemplate": n => { detectionAction.alertTemplate = n.getObjectValue(createAlertTemplateFromDiscriminatorValue); },
        "automatedActions": n => { detectionAction.automatedActions = n.getObjectValue(createAutomatedActionSetFromDiscriminatorValue); },
        "backingStoreEnabled": n => { detectionAction.backingStoreEnabled = true; },
        "@odata.type": n => { detectionAction.odataType = n.getStringValue(); },
        "organizationalScope": n => { detectionAction.organizationalScope = n.getObjectValue(createOrganizationalScopeFromDiscriminatorValue); },
        "responseActions": n => { detectionAction.responseActions = n.getCollectionOfObjectValues(createResponseActionFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param DetectionRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetectionRule(detectionRule = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(detectionRule)), { "createdBy": n => { detectionRule.createdBy = n.getStringValue(); }, "createdDateTime": n => { detectionRule.createdDateTime = n.getDateValue(); }, "description": n => { detectionRule.description = n.getStringValue(); }, "detectionAction": n => { detectionRule.detectionAction = n.getObjectValue(createDetectionActionFromDiscriminatorValue); }, "detectorId": n => { detectionRule.detectorId = n.getStringValue(); }, "displayName": n => { detectionRule.displayName = n.getStringValue(); }, "isEnabled": n => { detectionRule.isEnabled = n.getBooleanValue(); }, "lastModifiedBy": n => { detectionRule.lastModifiedBy = n.getStringValue(); }, "lastModifiedDateTime": n => { detectionRule.lastModifiedDateTime = n.getDateValue(); }, "lastRunDetails": n => { detectionRule.lastRunDetails = n.getObjectValue(createRunDetailsFromDiscriminatorValue); }, "queryCondition": n => { detectionRule.queryCondition = n.getObjectValue(createQueryConditionFromDiscriminatorValue); }, "schedule": n => { detectionRule.schedule = n.getObjectValue(createRuleScheduleFromDiscriminatorValue); }, "status": n => { detectionRule.status = n.getEnumValue(DetectionRuleStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param DetectionRuleCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetectionRuleCollectionResponse(detectionRuleCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(detectionRuleCollectionResponse)), { "value": n => { detectionRuleCollectionResponse.value = n.getCollectionOfObjectValues(createDetectionRuleFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DetonationBehaviourDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetonationBehaviourDetails(detonationBehaviourDetails = {}) {
    return {
        "actionStatus": n => { detonationBehaviourDetails.actionStatus = n.getStringValue(); },
        "backingStoreEnabled": n => { detonationBehaviourDetails.backingStoreEnabled = true; },
        "behaviourCapability": n => { detonationBehaviourDetails.behaviourCapability = n.getStringValue(); },
        "behaviourGroup": n => { detonationBehaviourDetails.behaviourGroup = n.getStringValue(); },
        "details": n => { detonationBehaviourDetails.details = n.getStringValue(); },
        "eventDateTime": n => { detonationBehaviourDetails.eventDateTime = n.getDateValue(); },
        "@odata.type": n => { detonationBehaviourDetails.odataType = n.getStringValue(); },
        "operation": n => { detonationBehaviourDetails.operation = n.getStringValue(); },
        "processId": n => { detonationBehaviourDetails.processId = n.getStringValue(); },
        "processName": n => { detonationBehaviourDetails.processName = n.getStringValue(); },
        "target": n => { detonationBehaviourDetails.target = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DetonationChain The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetonationChain(detonationChain = {}) {
    return {
        "backingStoreEnabled": n => { detonationChain.backingStoreEnabled = true; },
        "childNodes": n => { detonationChain.childNodes = n.getCollectionOfObjectValues(createDetonationChainFromDiscriminatorValue); },
        "@odata.type": n => { detonationChain.odataType = n.getStringValue(); },
        "value": n => { detonationChain.value = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DetonationDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetonationDetails(detonationDetails = {}) {
    return {
        "analysisDateTime": n => { detonationDetails.analysisDateTime = n.getDateValue(); },
        "backingStoreEnabled": n => { detonationDetails.backingStoreEnabled = true; },
        "compromiseIndicators": n => { detonationDetails.compromiseIndicators = n.getCollectionOfObjectValues(createCompromiseIndicatorFromDiscriminatorValue); },
        "detonationBehaviourDetails": n => { detonationDetails.detonationBehaviourDetails = n.getObjectValue(createDetonationBehaviourDetailsFromDiscriminatorValue); },
        "detonationBehaviourDetailsV2": n => { detonationDetails.detonationBehaviourDetailsV2 = n.getStringValue(); },
        "detonationChain": n => { detonationDetails.detonationChain = n.getObjectValue(createDetonationChainFromDiscriminatorValue); },
        "detonationObservables": n => { detonationDetails.detonationObservables = n.getObjectValue(createDetonationObservablesFromDiscriminatorValue); },
        "detonationScreenshotUri": n => { detonationDetails.detonationScreenshotUri = n.getStringValue(); },
        "detonationVerdict": n => { detonationDetails.detonationVerdict = n.getStringValue(); },
        "detonationVerdictReason": n => { detonationDetails.detonationVerdictReason = n.getStringValue(); },
        "entityMetadata": n => { detonationDetails.entityMetadata = n.getStringValue(); },
        "mitreTechniques": n => { detonationDetails.mitreTechniques = n.getStringValue(); },
        "@odata.type": n => { detonationDetails.odataType = n.getStringValue(); },
        "staticAnalysis": n => { detonationDetails.staticAnalysis = n.getStringValue(); },
        "submissionSource": n => { detonationDetails.submissionSource = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DetonationObservables The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDetonationObservables(detonationObservables = {}) {
    return {
        "backingStoreEnabled": n => { detonationObservables.backingStoreEnabled = true; },
        "contactedIps": n => { detonationObservables.contactedIps = n.getCollectionOfPrimitiveValues("string"); },
        "contactedUrls": n => { detonationObservables.contactedUrls = n.getCollectionOfPrimitiveValues("string"); },
        "droppedfiles": n => { detonationObservables.droppedfiles = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { detonationObservables.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DeviceAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeviceAction(deviceAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(deviceAction)), { "deviceIdColumn": n => { deviceAction.deviceIdColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DeviceDiscoverySettingsAuthenticatedScansRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeviceDiscoverySettingsAuthenticatedScansRecord(deviceDiscoverySettingsAuthenticatedScansRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(deviceDiscoverySettingsAuthenticatedScansRecord));
}
/**
 * The deserialization information for the current model
 * @param DeviceDiscoverySettingsExclusionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeviceDiscoverySettingsExclusionRecord(deviceDiscoverySettingsExclusionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(deviceDiscoverySettingsExclusionRecord));
}
/**
 * The deserialization information for the current model
 * @param DeviceDiscoverySettingsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeviceDiscoverySettingsRecord(deviceDiscoverySettingsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(deviceDiscoverySettingsRecord));
}
/**
 * The deserialization information for the current model
 * @param DeviceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDeviceEvidence(deviceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(deviceEvidence)), { "azureAdDeviceId": n => { deviceEvidence.azureAdDeviceId = n.getStringValue(); }, "defenderAvStatus": n => { deviceEvidence.defenderAvStatus = n.getEnumValue(DefenderAvStatusObject); }, "deviceDnsName": n => { deviceEvidence.deviceDnsName = n.getStringValue(); }, "dnsDomain": n => { deviceEvidence.dnsDomain = n.getStringValue(); }, "firstSeenDateTime": n => { deviceEvidence.firstSeenDateTime = n.getDateValue(); }, "healthStatus": n => { deviceEvidence.healthStatus = n.getEnumValue(DeviceHealthStatusObject); }, "hostName": n => { deviceEvidence.hostName = n.getStringValue(); }, "ipInterfaces": n => { deviceEvidence.ipInterfaces = n.getCollectionOfPrimitiveValues("string"); }, "lastExternalIpAddress": n => { deviceEvidence.lastExternalIpAddress = n.getStringValue(); }, "lastIpAddress": n => { deviceEvidence.lastIpAddress = n.getStringValue(); }, "loggedOnUsers": n => { deviceEvidence.loggedOnUsers = n.getCollectionOfObjectValues(createLoggedOnUserFromDiscriminatorValue); }, "mdeDeviceId": n => { deviceEvidence.mdeDeviceId = n.getStringValue(); }, "ntDomain": n => { deviceEvidence.ntDomain = n.getStringValue(); }, "onboardingStatus": n => { deviceEvidence.onboardingStatus = n.getEnumValue(OnboardingStatusObject); }, "osBuild": n => { deviceEvidence.osBuild = n.getNumberValue(); }, "osPlatform": n => { deviceEvidence.osPlatform = n.getStringValue(); }, "rbacGroupId": n => { deviceEvidence.rbacGroupId = n.getNumberValue(); }, "rbacGroupName": n => { deviceEvidence.rbacGroupName = n.getStringValue(); }, "resourceAccessEvents": n => { deviceEvidence.resourceAccessEvents = n.getCollectionOfObjectValues(createResourceAccessEventFromDiscriminatorValue); }, "riskScore": n => { deviceEvidence.riskScore = n.getEnumValue(DeviceRiskScoreObject); }, "version": n => { deviceEvidence.version = n.getStringValue(); }, "vmMetadata": n => { deviceEvidence.vmMetadata = n.getObjectValue(createVmMetadataFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Dictionary The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDictionary(dictionary = {}) {
    return {
        "backingStoreEnabled": n => { dictionary.backingStoreEnabled = true; },
        "@odata.type": n => { dictionary.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DisableUserIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDisableUserIncidentTaskResponseAction(disableUserIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(disableUserIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param DisableUserResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDisableUserResponseAction(disableUserResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(disableUserResponseAction)), { "identifier": n => { disableUserResponseAction.identifier = n.getCollectionOfEnumValues(DisableUserEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param DiscoveredCloudAppDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveredCloudAppDetail(discoveredCloudAppDetail = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(discoveredCloudAppDetail)), { "appInfo": n => { discoveredCloudAppDetail.appInfo = n.getObjectValue(createDiscoveredCloudAppInfoFromDiscriminatorValue); }, "category": n => { discoveredCloudAppDetail.category = n.getEnumValue(AppCategoryObject); }, "description": n => { discoveredCloudAppDetail.description = n.getStringValue(); }, "displayName": n => { discoveredCloudAppDetail.displayName = n.getStringValue(); }, "domains": n => { discoveredCloudAppDetail.domains = n.getCollectionOfPrimitiveValues("string"); }, "downloadNetworkTrafficInBytes": n => { discoveredCloudAppDetail.downloadNetworkTrafficInBytes = n.getNumberValue(); }, "firstSeenDateTime": n => { discoveredCloudAppDetail.firstSeenDateTime = n.getDateValue(); }, "ipAddressCount": n => { discoveredCloudAppDetail.ipAddressCount = n.getNumberValue(); }, "ipAddresses": n => { discoveredCloudAppDetail.ipAddresses = n.getCollectionOfObjectValues(createDiscoveredCloudAppIPAddressFromDiscriminatorValue); }, "lastSeenDateTime": n => { discoveredCloudAppDetail.lastSeenDateTime = n.getDateValue(); }, "riskScore": n => { discoveredCloudAppDetail.riskScore = n.getNumberValue(); }, "tags": n => { discoveredCloudAppDetail.tags = n.getCollectionOfPrimitiveValues("string"); }, "transactionCount": n => { discoveredCloudAppDetail.transactionCount = n.getNumberValue(); }, "uploadNetworkTrafficInBytes": n => { discoveredCloudAppDetail.uploadNetworkTrafficInBytes = n.getNumberValue(); }, "userCount": n => { discoveredCloudAppDetail.userCount = n.getNumberValue(); }, "users": n => { discoveredCloudAppDetail.users = n.getCollectionOfObjectValues(createDiscoveredCloudAppUserFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DiscoveredCloudAppDevice The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveredCloudAppDevice(discoveredCloudAppDevice = {}) {
    return {
        "backingStoreEnabled": n => { discoveredCloudAppDevice.backingStoreEnabled = true; },
        "name": n => { discoveredCloudAppDevice.name = n.getStringValue(); },
        "@odata.type": n => { discoveredCloudAppDevice.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DiscoveredCloudAppInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveredCloudAppInfo(discoveredCloudAppInfo = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(discoveredCloudAppInfo)), { "csaStarLevel": n => { discoveredCloudAppInfo.csaStarLevel = n.getEnumValue(AppInfoCsaStarLevelObject); }, "dataAtRestEncryptionMethod": n => { discoveredCloudAppInfo.dataAtRestEncryptionMethod = n.getEnumValue(AppInfoDataAtRestEncryptionMethodObject); }, "dataCenter": n => { discoveredCloudAppInfo.dataCenter = n.getStringValue(); }, "dataRetentionPolicy": n => { discoveredCloudAppInfo.dataRetentionPolicy = n.getEnumValue(AppInfoDataRetentionPolicyObject); }, "dataTypes": n => { discoveredCloudAppInfo.dataTypes = n.getCollectionOfEnumValues(AppInfoUploadedDataTypesObject); }, "domainRegistrationDateTime": n => { discoveredCloudAppInfo.domainRegistrationDateTime = n.getDateValue(); }, "encryptionProtocol": n => { discoveredCloudAppInfo.encryptionProtocol = n.getEnumValue(AppInfoEncryptionProtocolObject); }, "fedRampLevel": n => { discoveredCloudAppInfo.fedRampLevel = n.getEnumValue(AppInfoFedRampLevelObject); }, "founded": n => { discoveredCloudAppInfo.founded = n.getNumberValue(); }, "gdprReadinessStatement": n => { discoveredCloudAppInfo.gdprReadinessStatement = n.getStringValue(); }, "headquarters": n => { discoveredCloudAppInfo.headquarters = n.getStringValue(); }, "holding": n => { discoveredCloudAppInfo.holding = n.getEnumValue(AppInfoHoldingObject); }, "hostingCompany": n => { discoveredCloudAppInfo.hostingCompany = n.getStringValue(); }, "isAdminAuditTrail": n => { discoveredCloudAppInfo.isAdminAuditTrail = n.getEnumValue(CloudAppInfoStateObject); }, "isCobitCompliant": n => { discoveredCloudAppInfo.isCobitCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isCoppaCompliant": n => { discoveredCloudAppInfo.isCoppaCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isDataAuditTrail": n => { discoveredCloudAppInfo.isDataAuditTrail = n.getEnumValue(CloudAppInfoStateObject); }, "isDataClassification": n => { discoveredCloudAppInfo.isDataClassification = n.getEnumValue(CloudAppInfoStateObject); }, "isDataOwnership": n => { discoveredCloudAppInfo.isDataOwnership = n.getEnumValue(CloudAppInfoStateObject); }, "isDisasterRecoveryPlan": n => { discoveredCloudAppInfo.isDisasterRecoveryPlan = n.getEnumValue(CloudAppInfoStateObject); }, "isDmca": n => { discoveredCloudAppInfo.isDmca = n.getEnumValue(CloudAppInfoStateObject); }, "isFerpaCompliant": n => { discoveredCloudAppInfo.isFerpaCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isFfiecCompliant": n => { discoveredCloudAppInfo.isFfiecCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isFileSharing": n => { discoveredCloudAppInfo.isFileSharing = n.getEnumValue(CloudAppInfoStateObject); }, "isFinraCompliant": n => { discoveredCloudAppInfo.isFinraCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isFismaCompliant": n => { discoveredCloudAppInfo.isFismaCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isGaapCompliant": n => { discoveredCloudAppInfo.isGaapCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprDataProtectionImpactAssessment": n => { discoveredCloudAppInfo.isGdprDataProtectionImpactAssessment = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprDataProtectionOfficer": n => { discoveredCloudAppInfo.isGdprDataProtectionOfficer = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprDataProtectionSecureCrossBorderDataTransfer": n => { discoveredCloudAppInfo.isGdprDataProtectionSecureCrossBorderDataTransfer = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprImpactAssessment": n => { discoveredCloudAppInfo.isGdprImpactAssessment = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprLawfulBasisForProcessing": n => { discoveredCloudAppInfo.isGdprLawfulBasisForProcessing = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprReportDataBreaches": n => { discoveredCloudAppInfo.isGdprReportDataBreaches = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightsRelatedToAutomatedDecisionMaking": n => { discoveredCloudAppInfo.isGdprRightsRelatedToAutomatedDecisionMaking = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToAccess": n => { discoveredCloudAppInfo.isGdprRightToAccess = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToBeInformed": n => { discoveredCloudAppInfo.isGdprRightToBeInformed = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToDataPortablility": n => { discoveredCloudAppInfo.isGdprRightToDataPortablility = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToErasure": n => { discoveredCloudAppInfo.isGdprRightToErasure = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToObject": n => { discoveredCloudAppInfo.isGdprRightToObject = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToRectification": n => { discoveredCloudAppInfo.isGdprRightToRectification = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprRightToRestrictionOfProcessing": n => { discoveredCloudAppInfo.isGdprRightToRestrictionOfProcessing = n.getEnumValue(CloudAppInfoStateObject); }, "isGdprSecureCrossBorderDataControl": n => { discoveredCloudAppInfo.isGdprSecureCrossBorderDataControl = n.getEnumValue(CloudAppInfoStateObject); }, "isGlbaCompliant": n => { discoveredCloudAppInfo.isGlbaCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isHipaaCompliant": n => { discoveredCloudAppInfo.isHipaaCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isHitrustCsfCompliant": n => { discoveredCloudAppInfo.isHitrustCsfCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isHttpSecurityHeadersContentSecurityPolicy": n => { discoveredCloudAppInfo.isHttpSecurityHeadersContentSecurityPolicy = n.getEnumValue(CloudAppInfoStateObject); }, "isHttpSecurityHeadersStrictTransportSecurity": n => { discoveredCloudAppInfo.isHttpSecurityHeadersStrictTransportSecurity = n.getEnumValue(CloudAppInfoStateObject); }, "isHttpSecurityHeadersXContentTypeOptions": n => { discoveredCloudAppInfo.isHttpSecurityHeadersXContentTypeOptions = n.getEnumValue(CloudAppInfoStateObject); }, "isHttpSecurityHeadersXFrameOptions": n => { discoveredCloudAppInfo.isHttpSecurityHeadersXFrameOptions = n.getEnumValue(CloudAppInfoStateObject); }, "isHttpSecurityHeadersXXssProtection": n => { discoveredCloudAppInfo.isHttpSecurityHeadersXXssProtection = n.getEnumValue(CloudAppInfoStateObject); }, "isIpAddressRestriction": n => { discoveredCloudAppInfo.isIpAddressRestriction = n.getEnumValue(CloudAppInfoStateObject); }, "isIsae3402Compliant": n => { discoveredCloudAppInfo.isIsae3402Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isIso27001Compliant": n => { discoveredCloudAppInfo.isIso27001Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isIso27017Compliant": n => { discoveredCloudAppInfo.isIso27017Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isIso27018Compliant": n => { discoveredCloudAppInfo.isIso27018Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isItarCompliant": n => { discoveredCloudAppInfo.isItarCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isMultiFactorAuthentication": n => { discoveredCloudAppInfo.isMultiFactorAuthentication = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicy": n => { discoveredCloudAppInfo.isPasswordPolicy = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicyChangePasswordPeriod": n => { discoveredCloudAppInfo.isPasswordPolicyChangePasswordPeriod = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicyCharacterCombination": n => { discoveredCloudAppInfo.isPasswordPolicyCharacterCombination = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicyPasswordHistoryAndReuse": n => { discoveredCloudAppInfo.isPasswordPolicyPasswordHistoryAndReuse = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicyPasswordLengthLimit": n => { discoveredCloudAppInfo.isPasswordPolicyPasswordLengthLimit = n.getEnumValue(CloudAppInfoStateObject); }, "isPasswordPolicyPersonalInformationUse": n => { discoveredCloudAppInfo.isPasswordPolicyPersonalInformationUse = n.getEnumValue(CloudAppInfoStateObject); }, "isPenetrationTesting": n => { discoveredCloudAppInfo.isPenetrationTesting = n.getEnumValue(CloudAppInfoStateObject); }, "isPrivacyShieldCompliant": n => { discoveredCloudAppInfo.isPrivacyShieldCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isRememberPassword": n => { discoveredCloudAppInfo.isRememberPassword = n.getEnumValue(CloudAppInfoStateObject); }, "isRequiresUserAuthentication": n => { discoveredCloudAppInfo.isRequiresUserAuthentication = n.getEnumValue(CloudAppInfoStateObject); }, "isSoc1Compliant": n => { discoveredCloudAppInfo.isSoc1Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSoc2Compliant": n => { discoveredCloudAppInfo.isSoc2Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSoc3Compliant": n => { discoveredCloudAppInfo.isSoc3Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSoxCompliant": n => { discoveredCloudAppInfo.isSoxCompliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSp80053Compliant": n => { discoveredCloudAppInfo.isSp80053Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSsae16Compliant": n => { discoveredCloudAppInfo.isSsae16Compliant = n.getEnumValue(CloudAppInfoStateObject); }, "isSupportsSaml": n => { discoveredCloudAppInfo.isSupportsSaml = n.getEnumValue(CloudAppInfoStateObject); }, "isTrustedCertificate": n => { discoveredCloudAppInfo.isTrustedCertificate = n.getEnumValue(CloudAppInfoStateObject); }, "isUserAuditTrail": n => { discoveredCloudAppInfo.isUserAuditTrail = n.getEnumValue(CloudAppInfoStateObject); }, "isUserCanUploadData": n => { discoveredCloudAppInfo.isUserCanUploadData = n.getEnumValue(CloudAppInfoStateObject); }, "isUserRolesSupport": n => { discoveredCloudAppInfo.isUserRolesSupport = n.getEnumValue(CloudAppInfoStateObject); }, "isValidCertificateName": n => { discoveredCloudAppInfo.isValidCertificateName = n.getEnumValue(CloudAppInfoStateObject); }, "latestBreachDateTime": n => { discoveredCloudAppInfo.latestBreachDateTime = n.getDateValue(); }, "logonUrls": n => { discoveredCloudAppInfo.logonUrls = n.getCollectionOfPrimitiveValues("string"); }, "pciDssVersion": n => { discoveredCloudAppInfo.pciDssVersion = n.getEnumValue(AppInfoPciDssVersionObject); }, "vendor": n => { discoveredCloudAppInfo.vendor = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DiscoveredCloudAppIPAddress The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveredCloudAppIPAddress(discoveredCloudAppIPAddress = {}) {
    return {
        "backingStoreEnabled": n => { discoveredCloudAppIPAddress.backingStoreEnabled = true; },
        "ipAddress": n => { discoveredCloudAppIPAddress.ipAddress = n.getStringValue(); },
        "@odata.type": n => { discoveredCloudAppIPAddress.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DiscoveredCloudAppUser The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveredCloudAppUser(discoveredCloudAppUser = {}) {
    return {
        "backingStoreEnabled": n => { discoveredCloudAppUser.backingStoreEnabled = true; },
        "@odata.type": n => { discoveredCloudAppUser.odataType = n.getStringValue(); },
        "userIdentifier": n => { discoveredCloudAppUser.userIdentifier = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DiscoveryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDiscoveryAuditRecord(discoveryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(discoveryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DispositionReviewStage The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDispositionReviewStage(dispositionReviewStage = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(dispositionReviewStage)), { "name": n => { dispositionReviewStage.name = n.getStringValue(); }, "reviewersEmailAddresses": n => { dispositionReviewStage.reviewersEmailAddresses = n.getCollectionOfPrimitiveValues("string"); }, "stageNumber": n => { dispositionReviewStage.stageNumber = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DispositionReviewStageCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDispositionReviewStageCollectionResponse(dispositionReviewStageCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(dispositionReviewStageCollectionResponse)), { "value": n => { dispositionReviewStageCollectionResponse.value = n.getCollectionOfObjectValues(createDispositionReviewStageFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DlpEndpointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDlpEndpointAuditRecord(dlpEndpointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dlpEndpointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DlpImportResultAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDlpImportResultAuditRecord(dlpImportResultAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dlpImportResultAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param DlpSensitiveInformationTypeRulePackageCmdletRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDlpSensitiveInformationTypeRulePackageCmdletRecord(dlpSensitiveInformationTypeRulePackageCmdletRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dlpSensitiveInformationTypeRulePackageCmdletRecord));
}
/**
 * The deserialization information for the current model
 * @param DnsEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDnsEntityMapping(dnsEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(dnsEntityMapping)), { "domainNameColumn": n => { dnsEntityMapping.domainNameColumn = n.getStringValue(); }, "hostIpAddressColumn": n => { dnsEntityMapping.hostIpAddressColumn = n.getStringValue(); }, "serverIpColumn": n => { dnsEntityMapping.serverIpColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param DnsEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDnsEvidence(dnsEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(dnsEvidence)), { "dnsServerIp": n => { dnsEvidence.dnsServerIp = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "domainName": n => { dnsEvidence.domainName = n.getStringValue(); }, "hostIpAddress": n => { dnsEvidence.hostIpAddress = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "ipAddresses": n => { dnsEvidence.ipAddresses = n.getCollectionOfObjectValues(createIpEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param DowngradeJustification The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDowngradeJustification(downgradeJustification = {}) {
    return {
        "backingStoreEnabled": n => { downgradeJustification.backingStoreEnabled = true; },
        "isDowngradeJustified": n => { downgradeJustification.isDowngradeJustified = n.getBooleanValue(); },
        "justificationMessage": n => { downgradeJustification.justificationMessage = n.getStringValue(); },
        "@odata.type": n => { downgradeJustification.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param DragonCopilotAccessRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDragonCopilotAccessRecord(dragonCopilotAccessRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dragonCopilotAccessRecord));
}
/**
 * The deserialization information for the current model
 * @param DragonCopilotAdminRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDragonCopilotAdminRecord(dragonCopilotAdminRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dragonCopilotAdminRecord));
}
/**
 * The deserialization information for the current model
 * @param DragonCopilotClinicalDataRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDragonCopilotClinicalDataRecord(dragonCopilotClinicalDataRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dragonCopilotClinicalDataRecord));
}
/**
 * The deserialization information for the current model
 * @param DragonCopilotSessionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDragonCopilotSessionRecord(dragonCopilotSessionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dragonCopilotSessionRecord));
}
/**
 * The deserialization information for the current model
 * @param Dynamics365BusinessCentralAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoDynamics365BusinessCentralAuditRecord(dynamics365BusinessCentralAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(dynamics365BusinessCentralAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryAddToReviewSetOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryAddToReviewSetOperation(ediscoveryAddToReviewSetOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoveryAddToReviewSetOperation)), { "additionalDataOptions": n => { ediscoveryAddToReviewSetOperation.additionalDataOptions = n.getCollectionOfEnumValues(AdditionalDataOptionsObject); }, "cloudAttachmentVersion": n => { ediscoveryAddToReviewSetOperation.cloudAttachmentVersion = n.getEnumValue(CloudAttachmentVersionObject); }, "documentVersion": n => { ediscoveryAddToReviewSetOperation.documentVersion = n.getEnumValue(DocumentVersionObject); }, "itemsToInclude": n => { ediscoveryAddToReviewSetOperation.itemsToInclude = n.getCollectionOfEnumValues(ItemsToIncludeObject); }, "reportFileMetadata": n => { ediscoveryAddToReviewSetOperation.reportFileMetadata = n.getCollectionOfObjectValues(createReportFileMetadataFromDiscriminatorValue); }, "reviewSet": n => { ediscoveryAddToReviewSetOperation.reviewSet = n.getObjectValue(createEdiscoveryReviewSetFromDiscriminatorValue); }, "search": n => { ediscoveryAddToReviewSetOperation.search = n.getObjectValue(createEdiscoverySearchFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCase(ediscoveryCase = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseEscaped(ediscoveryCase)), { "caseMembers": n => { ediscoveryCase.caseMembers = n.getCollectionOfObjectValues(createEdiscoveryCaseMemberFromDiscriminatorValue); }, "closedBy": n => { ediscoveryCase.closedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "closedDateTime": n => { ediscoveryCase.closedDateTime = n.getDateValue(); }, "custodians": n => { ediscoveryCase.custodians = n.getCollectionOfObjectValues(createEdiscoveryCustodianFromDiscriminatorValue); }, "externalId": n => { ediscoveryCase.externalId = n.getStringValue(); }, "legalHolds": n => { ediscoveryCase.legalHolds = n.getCollectionOfObjectValues(createEdiscoveryHoldPolicyFromDiscriminatorValue); }, "noncustodialDataSources": n => { ediscoveryCase.noncustodialDataSources = n.getCollectionOfObjectValues(createEdiscoveryNoncustodialDataSourceFromDiscriminatorValue); }, "operations": n => { ediscoveryCase.operations = n.getCollectionOfObjectValues(createCaseOperationFromDiscriminatorValue); }, "reviewSets": n => { ediscoveryCase.reviewSets = n.getCollectionOfObjectValues(createEdiscoveryReviewSetFromDiscriminatorValue); }, "searches": n => { ediscoveryCase.searches = n.getCollectionOfObjectValues(createEdiscoverySearchFromDiscriminatorValue); }, "settings": n => { ediscoveryCase.settings = n.getObjectValue(createEdiscoveryCaseSettingsFromDiscriminatorValue); }, "tags": n => { ediscoveryCase.tags = n.getCollectionOfObjectValues(createEdiscoveryReviewTagFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCaseCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCaseCollectionResponse(ediscoveryCaseCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryCaseCollectionResponse)), { "value": n => { ediscoveryCaseCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryCaseFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCaseMember The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCaseMember(ediscoveryCaseMember = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(ediscoveryCaseMember)), { "displayName": n => { ediscoveryCaseMember.displayName = n.getStringValue(); }, "recipientType": n => { ediscoveryCaseMember.recipientType = n.getCollectionOfEnumValues(RecipientTypeObject); }, "smtpAddress": n => { ediscoveryCaseMember.smtpAddress = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCaseMemberCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCaseMemberCollectionResponse(ediscoveryCaseMemberCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryCaseMemberCollectionResponse)), { "value": n => { ediscoveryCaseMemberCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryCaseMemberFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCaseSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCaseSettings(ediscoveryCaseSettings = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(ediscoveryCaseSettings)), { "caseType": n => { ediscoveryCaseSettings.caseType = n.getEnumValue(CaseTypeObject); }, "ocr": n => { ediscoveryCaseSettings.ocr = n.getObjectValue(createOcrSettingsFromDiscriminatorValue); }, "redundancyDetection": n => { ediscoveryCaseSettings.redundancyDetection = n.getObjectValue(createRedundancyDetectionSettingsFromDiscriminatorValue); }, "reviewSetSettings": n => { ediscoveryCaseSettings.reviewSetSettings = n.getCollectionOfEnumValues(ReviewSetSettingsObject); }, "topicModeling": n => { ediscoveryCaseSettings.topicModeling = n.getObjectValue(createTopicModelingSettingsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCustodian The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCustodian(ediscoveryCustodian = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSourceContainer(ediscoveryCustodian)), { "acknowledgedDateTime": n => { ediscoveryCustodian.acknowledgedDateTime = n.getDateValue(); }, "email": n => { ediscoveryCustodian.email = n.getStringValue(); }, "lastIndexOperation": n => { ediscoveryCustodian.lastIndexOperation = n.getObjectValue(createEdiscoveryIndexOperationFromDiscriminatorValue); }, "siteSources": n => { ediscoveryCustodian.siteSources = n.getCollectionOfObjectValues(createSiteSourceFromDiscriminatorValue); }, "unifiedGroupSources": n => { ediscoveryCustodian.unifiedGroupSources = n.getCollectionOfObjectValues(createUnifiedGroupSourceFromDiscriminatorValue); }, "userSources": n => { ediscoveryCustodian.userSources = n.getCollectionOfObjectValues(createUserSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryCustodianCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryCustodianCollectionResponse(ediscoveryCustodianCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryCustodianCollectionResponse)), { "value": n => { ediscoveryCustodianCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryCustodianFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryEstimateOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryEstimateOperation(ediscoveryEstimateOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoveryEstimateOperation)), { "indexedItemCount": n => { ediscoveryEstimateOperation.indexedItemCount = n.getNumberValue(); }, "indexedItemsSize": n => { ediscoveryEstimateOperation.indexedItemsSize = n.getNumberValue(); }, "mailboxCount": n => { ediscoveryEstimateOperation.mailboxCount = n.getNumberValue(); }, "reportFileMetadata": n => { ediscoveryEstimateOperation.reportFileMetadata = n.getCollectionOfObjectValues(createReportFileMetadataFromDiscriminatorValue); }, "search": n => { ediscoveryEstimateOperation.search = n.getObjectValue(createEdiscoverySearchFromDiscriminatorValue); }, "siteCount": n => { ediscoveryEstimateOperation.siteCount = n.getNumberValue(); }, "statisticsOptions": n => { ediscoveryEstimateOperation.statisticsOptions = n.getCollectionOfEnumValues(StatisticsOptionsObject); }, "unindexedItemCount": n => { ediscoveryEstimateOperation.unindexedItemCount = n.getNumberValue(); }, "unindexedItemsSize": n => { ediscoveryEstimateOperation.unindexedItemsSize = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryExportOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryExportOperation(ediscoveryExportOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoveryExportOperation)), { "azureBlobContainer": n => { ediscoveryExportOperation.azureBlobContainer = n.getStringValue(); }, "azureBlobToken": n => { ediscoveryExportOperation.azureBlobToken = n.getStringValue(); }, "description": n => { ediscoveryExportOperation.description = n.getStringValue(); }, "exportFileMetadata": n => { ediscoveryExportOperation.exportFileMetadata = n.getCollectionOfObjectValues(createExportFileMetadataFromDiscriminatorValue); }, "exportOptions": n => { ediscoveryExportOperation.exportOptions = n.getCollectionOfEnumValues(ExportOptionsObject); }, "exportStructure": n => { ediscoveryExportOperation.exportStructure = n.getEnumValue(ExportFileStructureObject); }, "outputFolderId": n => { ediscoveryExportOperation.outputFolderId = n.getStringValue(); }, "outputName": n => { ediscoveryExportOperation.outputName = n.getStringValue(); }, "reviewSet": n => { ediscoveryExportOperation.reviewSet = n.getObjectValue(createEdiscoveryReviewSetFromDiscriminatorValue); }, "reviewSetQuery": n => { ediscoveryExportOperation.reviewSetQuery = n.getObjectValue(createEdiscoveryReviewSetQueryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryFile The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryFile(ediscoveryFile = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFile(ediscoveryFile)), { "custodian": n => { ediscoveryFile.custodian = n.getObjectValue(createEdiscoveryCustodianFromDiscriminatorValue); }, "tags": n => { ediscoveryFile.tags = n.getCollectionOfObjectValues(createEdiscoveryReviewTagFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryFileCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryFileCollectionResponse(ediscoveryFileCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryFileCollectionResponse)), { "value": n => { ediscoveryFileCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryFileFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryHoldOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryHoldOperation(ediscoveryHoldOperation = {}) {
    return Object.assign({}, deserializeIntoCaseOperation(ediscoveryHoldOperation));
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryHoldPolicy The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryHoldPolicy(ediscoveryHoldPolicy = {}) {
    return Object.assign(Object.assign({}, deserializeIntoPolicyBase(ediscoveryHoldPolicy)), { "contentQuery": n => { ediscoveryHoldPolicy.contentQuery = n.getStringValue(); }, "errors": n => { ediscoveryHoldPolicy.errors = n.getCollectionOfPrimitiveValues("string"); }, "isEnabled": n => { ediscoveryHoldPolicy.isEnabled = n.getBooleanValue(); }, "siteSources": n => { ediscoveryHoldPolicy.siteSources = n.getCollectionOfObjectValues(createSiteSourceFromDiscriminatorValue); }, "userSources": n => { ediscoveryHoldPolicy.userSources = n.getCollectionOfObjectValues(createUserSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryHoldPolicyCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryHoldPolicyCollectionResponse(ediscoveryHoldPolicyCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryHoldPolicyCollectionResponse)), { "value": n => { ediscoveryHoldPolicyCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryHoldPolicyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryHoldPolicySyncOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryHoldPolicySyncOperation(ediscoveryHoldPolicySyncOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoveryHoldPolicySyncOperation)), { "reportFileMetadata": n => { ediscoveryHoldPolicySyncOperation.reportFileMetadata = n.getCollectionOfObjectValues(createReportFileMetadataFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryIndexOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryIndexOperation(ediscoveryIndexOperation = {}) {
    return Object.assign({}, deserializeIntoCaseOperation(ediscoveryIndexOperation));
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryNoncustodialDataSource The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryNoncustodialDataSource(ediscoveryNoncustodialDataSource = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSourceContainer(ediscoveryNoncustodialDataSource)), { "dataSource": n => { ediscoveryNoncustodialDataSource.dataSource = n.getObjectValue(createDataSourceFromDiscriminatorValue); }, "lastIndexOperation": n => { ediscoveryNoncustodialDataSource.lastIndexOperation = n.getObjectValue(createEdiscoveryIndexOperationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryNoncustodialDataSourceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryNoncustodialDataSourceCollectionResponse(ediscoveryNoncustodialDataSourceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryNoncustodialDataSourceCollectionResponse)), { "value": n => { ediscoveryNoncustodialDataSourceCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryNoncustodialDataSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryPurgeDataOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryPurgeDataOperation(ediscoveryPurgeDataOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoveryPurgeDataOperation)), { "reportFileMetadata": n => { ediscoveryPurgeDataOperation.reportFileMetadata = n.getCollectionOfObjectValues(createReportFileMetadataFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewSet The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewSet(ediscoveryReviewSet = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSet(ediscoveryReviewSet)), { "files": n => { ediscoveryReviewSet.files = n.getCollectionOfObjectValues(createEdiscoveryFileFromDiscriminatorValue); }, "queries": n => { ediscoveryReviewSet.queries = n.getCollectionOfObjectValues(createEdiscoveryReviewSetQueryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewSetCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewSetCollectionResponse(ediscoveryReviewSetCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryReviewSetCollectionResponse)), { "value": n => { ediscoveryReviewSetCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryReviewSetFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewSetQuery The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewSetQuery(ediscoveryReviewSetQuery = {}) {
    return Object.assign({}, deserializeIntoSearch(ediscoveryReviewSetQuery));
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewSetQueryCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewSetQueryCollectionResponse(ediscoveryReviewSetQueryCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryReviewSetQueryCollectionResponse)), { "value": n => { ediscoveryReviewSetQueryCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryReviewSetQueryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewTag The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewTag(ediscoveryReviewTag = {}) {
    return Object.assign(Object.assign({}, deserializeIntoTag(ediscoveryReviewTag)), { "childSelectability": n => { ediscoveryReviewTag.childSelectability = n.getEnumValue(ChildSelectabilityObject); }, "childTags": n => { ediscoveryReviewTag.childTags = n.getCollectionOfObjectValues(createEdiscoveryReviewTagFromDiscriminatorValue); }, "parent": n => { ediscoveryReviewTag.parent = n.getObjectValue(createEdiscoveryReviewTagFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryReviewTagCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryReviewTagCollectionResponse(ediscoveryReviewTagCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoveryReviewTagCollectionResponse)), { "value": n => { ediscoveryReviewTagCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoveryReviewTagFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoverySearch The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoverySearch(ediscoverySearch = {}) {
    return Object.assign(Object.assign({}, deserializeIntoSearch(ediscoverySearch)), { "additionalSources": n => { ediscoverySearch.additionalSources = n.getCollectionOfObjectValues(createDataSourceFromDiscriminatorValue); }, "addToReviewSetOperation": n => { ediscoverySearch.addToReviewSetOperation = n.getObjectValue(createEdiscoveryAddToReviewSetOperationFromDiscriminatorValue); }, "custodianSources": n => { ediscoverySearch.custodianSources = n.getCollectionOfObjectValues(createDataSourceFromDiscriminatorValue); }, "dataSourceScopes": n => { ediscoverySearch.dataSourceScopes = n.getCollectionOfEnumValues(DataSourceScopesObject); }, "lastEstimateStatisticsOperation": n => { ediscoverySearch.lastEstimateStatisticsOperation = n.getObjectValue(createEdiscoveryEstimateOperationFromDiscriminatorValue); }, "noncustodialSources": n => { ediscoverySearch.noncustodialSources = n.getCollectionOfObjectValues(createEdiscoveryNoncustodialDataSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoverySearchCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoverySearchCollectionResponse(ediscoverySearchCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(ediscoverySearchCollectionResponse)), { "value": n => { ediscoverySearchCollectionResponse.value = n.getCollectionOfObjectValues(createEdiscoverySearchFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoverySearchExportOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoverySearchExportOperation(ediscoverySearchExportOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCaseOperation(ediscoverySearchExportOperation)), { "additionalOptions": n => { ediscoverySearchExportOperation.additionalOptions = n.getCollectionOfEnumValues(AdditionalOptionsObject); }, "cloudAttachmentVersion": n => { ediscoverySearchExportOperation.cloudAttachmentVersion = n.getEnumValue(CloudAttachmentVersionObject); }, "description": n => { ediscoverySearchExportOperation.description = n.getStringValue(); }, "displayName": n => { ediscoverySearchExportOperation.displayName = n.getStringValue(); }, "documentVersion": n => { ediscoverySearchExportOperation.documentVersion = n.getEnumValue(DocumentVersionObject); }, "exportCriteria": n => { ediscoverySearchExportOperation.exportCriteria = n.getCollectionOfEnumValues(ExportCriteriaObject); }, "exportFileMetadata": n => { ediscoverySearchExportOperation.exportFileMetadata = n.getCollectionOfObjectValues(createExportFileMetadataFromDiscriminatorValue); }, "exportFormat": n => { ediscoverySearchExportOperation.exportFormat = n.getEnumValue(ExportFormatObject); }, "exportLocation": n => { ediscoverySearchExportOperation.exportLocation = n.getCollectionOfEnumValues(ExportLocationObject); }, "exportSingleItems": n => { ediscoverySearchExportOperation.exportSingleItems = n.getBooleanValue(); }, "search": n => { ediscoverySearchExportOperation.search = n.getObjectValue(createEdiscoverySearchFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EdiscoveryTagOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEdiscoveryTagOperation(ediscoveryTagOperation = {}) {
    return Object.assign({}, deserializeIntoCaseOperation(ediscoveryTagOperation));
}
/**
 * The deserialization information for the current model
 * @param EhrConnectorAuditBaseRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEhrConnectorAuditBaseRecord(ehrConnectorAuditBaseRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(ehrConnectorAuditBaseRecord));
}
/**
 * The deserialization information for the current model
 * @param EmailAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailAction(emailAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(emailAction)), { "networkMessageIdColumn": n => { emailAction.networkMessageIdColumn = n.getStringValue(); }, "recipientColumn": n => { emailAction.recipientColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EmailContentThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailContentThreatSubmission(emailContentThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEmailThreatSubmission(emailContentThreatSubmission)), { "fileContent": n => { emailContentThreatSubmission.fileContent = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EmailSender The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailSender(emailSender = {}) {
    return {
        "backingStoreEnabled": n => { emailSender.backingStoreEnabled = true; },
        "displayName": n => { emailSender.displayName = n.getStringValue(); },
        "domainName": n => { emailSender.domainName = n.getStringValue(); },
        "emailAddress": n => { emailSender.emailAddress = n.getStringValue(); },
        "@odata.type": n => { emailSender.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param EmailThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailThreatSubmission(emailThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoThreatSubmission(emailThreatSubmission)), { "attackSimulationInfo": n => { emailThreatSubmission.attackSimulationInfo = n.getObjectValue(createAttackSimulationInfoFromDiscriminatorValue); }, "internetMessageId": n => { emailThreatSubmission.internetMessageId = n.getStringValue(); }, "originalCategory": n => { emailThreatSubmission.originalCategory = n.getEnumValue(SubmissionCategoryObject); }, "receivedDateTime": n => { emailThreatSubmission.receivedDateTime = n.getDateValue(); }, "recipientEmailAddress": n => { emailThreatSubmission.recipientEmailAddress = n.getStringValue(); }, "sender": n => { emailThreatSubmission.sender = n.getStringValue(); }, "senderIP": n => { emailThreatSubmission.senderIP = n.getStringValue(); }, "subject": n => { emailThreatSubmission.subject = n.getStringValue(); }, "tenantAllowOrBlockListAction": n => { emailThreatSubmission.tenantAllowOrBlockListAction = n.getObjectValue(createTenantAllowOrBlockListActionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EmailThreatSubmissionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailThreatSubmissionCollectionResponse(emailThreatSubmissionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(emailThreatSubmissionCollectionResponse)), { "value": n => { emailThreatSubmissionCollectionResponse.value = n.getCollectionOfObjectValues(createEmailThreatSubmissionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EmailThreatSubmissionPolicy The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailThreatSubmissionPolicy(emailThreatSubmissionPolicy = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(emailThreatSubmissionPolicy)), { "customizedNotificationSenderEmailAddress": n => { emailThreatSubmissionPolicy.customizedNotificationSenderEmailAddress = n.getStringValue(); }, "customizedReportRecipientEmailAddress": n => { emailThreatSubmissionPolicy.customizedReportRecipientEmailAddress = n.getStringValue(); }, "isAlwaysReportEnabledForUsers": n => { emailThreatSubmissionPolicy.isAlwaysReportEnabledForUsers = n.getBooleanValue(); }, "isAskMeEnabledForUsers": n => { emailThreatSubmissionPolicy.isAskMeEnabledForUsers = n.getBooleanValue(); }, "isCustomizedMessageEnabled": n => { emailThreatSubmissionPolicy.isCustomizedMessageEnabled = n.getBooleanValue(); }, "isCustomizedMessageEnabledForPhishing": n => { emailThreatSubmissionPolicy.isCustomizedMessageEnabledForPhishing = n.getBooleanValue(); }, "isCustomizedNotificationSenderEnabled": n => { emailThreatSubmissionPolicy.isCustomizedNotificationSenderEnabled = n.getBooleanValue(); }, "isNeverReportEnabledForUsers": n => { emailThreatSubmissionPolicy.isNeverReportEnabledForUsers = n.getBooleanValue(); }, "isOrganizationBrandingEnabled": n => { emailThreatSubmissionPolicy.isOrganizationBrandingEnabled = n.getBooleanValue(); }, "isReportFromQuarantineEnabled": n => { emailThreatSubmissionPolicy.isReportFromQuarantineEnabled = n.getBooleanValue(); }, "isReportToCustomizedEmailAddressEnabled": n => { emailThreatSubmissionPolicy.isReportToCustomizedEmailAddressEnabled = n.getBooleanValue(); }, "isReportToMicrosoftEnabled": n => { emailThreatSubmissionPolicy.isReportToMicrosoftEnabled = n.getBooleanValue(); }, "isReviewEmailNotificationEnabled": n => { emailThreatSubmissionPolicy.isReviewEmailNotificationEnabled = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EmailThreatSubmissionPolicyCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailThreatSubmissionPolicyCollectionResponse(emailThreatSubmissionPolicyCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(emailThreatSubmissionPolicyCollectionResponse)), { "value": n => { emailThreatSubmissionPolicyCollectionResponse.value = n.getCollectionOfObjectValues(createEmailThreatSubmissionPolicyFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EmailUrlThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEmailUrlThreatSubmission(emailUrlThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEmailThreatSubmission(emailUrlThreatSubmission)), { "messageUrl": n => { emailUrlThreatSubmission.messageUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param EnableUserIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEnableUserIncidentTaskResponseAction(enableUserIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(enableUserIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param EndpointDiscoveredCloudAppDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEndpointDiscoveredCloudAppDetail(endpointDiscoveredCloudAppDetail = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDiscoveredCloudAppDetail(endpointDiscoveredCloudAppDetail)), { "deviceCount": n => { endpointDiscoveredCloudAppDetail.deviceCount = n.getNumberValue(); }, "devices": n => { endpointDiscoveredCloudAppDetail.devices = n.getCollectionOfObjectValues(createDiscoveredCloudAppDeviceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EntityDefinitionInput The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEntityDefinitionInput(entityDefinitionInput = {}) {
    return {
        "backingStoreEnabled": n => { entityDefinitionInput.backingStoreEnabled = true; },
        "entityIdentifier": n => { entityDefinitionInput.entityIdentifier = n.getStringValue(); },
        "entityType": n => { entityDefinitionInput.entityType = n.getEnumValue(ManualAlertEntityTypeObject); },
        "identifierValue": n => { entityDefinitionInput.identifierValue = n.getStringValue(); },
        "@odata.type": n => { entityDefinitionInput.odataType = n.getStringValue(); },
        "role": n => { entityDefinitionInput.role = n.getEnumValue(EntityDefinitionInputRoleObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param EntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEntityMapping(entityMapping = {}) {
    return {
        "backingStoreEnabled": n => { entityMapping.backingStoreEnabled = true; },
        "@odata.type": n => { entityMapping.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param EntityMappingConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEntityMappingConfiguration(entityMappingConfiguration = {}) {
    return {
        "accounts": n => { entityMappingConfiguration.accounts = n.getCollectionOfObjectValues(createAccountEntityMappingFromDiscriminatorValue); },
        "amazonResources": n => { entityMappingConfiguration.amazonResources = n.getCollectionOfObjectValues(createAmazonResourceEntityMappingFromDiscriminatorValue); },
        "azureResources": n => { entityMappingConfiguration.azureResources = n.getCollectionOfObjectValues(createAzureResourceEntityMappingFromDiscriminatorValue); },
        "backingStoreEnabled": n => { entityMappingConfiguration.backingStoreEnabled = true; },
        "cloudApplications": n => { entityMappingConfiguration.cloudApplications = n.getCollectionOfObjectValues(createCloudApplicationEntityMappingFromDiscriminatorValue); },
        "dns": n => { entityMappingConfiguration.dns = n.getCollectionOfObjectValues(createDnsEntityMappingFromDiscriminatorValue); },
        "files": n => { entityMappingConfiguration.files = n.getCollectionOfObjectValues(createFileEntityMappingFromDiscriminatorValue); },
        "googleCloudResources": n => { entityMappingConfiguration.googleCloudResources = n.getCollectionOfObjectValues(createGoogleCloudResourceEntityMappingFromDiscriminatorValue); },
        "hosts": n => { entityMappingConfiguration.hosts = n.getCollectionOfObjectValues(createHostEntityMappingFromDiscriminatorValue); },
        "ips": n => { entityMappingConfiguration.ips = n.getCollectionOfObjectValues(createIpEntityMappingFromDiscriminatorValue); },
        "mailboxes": n => { entityMappingConfiguration.mailboxes = n.getCollectionOfObjectValues(createMailboxEntityMappingFromDiscriminatorValue); },
        "mailClusters": n => { entityMappingConfiguration.mailClusters = n.getCollectionOfObjectValues(createMailClusterEntityMappingFromDiscriminatorValue); },
        "mailMessages": n => { entityMappingConfiguration.mailMessages = n.getCollectionOfObjectValues(createMailMessageEntityMappingFromDiscriminatorValue); },
        "oAuthApplications": n => { entityMappingConfiguration.oAuthApplications = n.getCollectionOfObjectValues(createOAuthApplicationEntityMappingFromDiscriminatorValue); },
        "@odata.type": n => { entityMappingConfiguration.odataType = n.getStringValue(); },
        "processes": n => { entityMappingConfiguration.processes = n.getCollectionOfObjectValues(createProcessEntityMappingFromDiscriminatorValue); },
        "registryValues": n => { entityMappingConfiguration.registryValues = n.getCollectionOfObjectValues(createRegistryValueEntityMappingFromDiscriminatorValue); },
        "securityGroups": n => { entityMappingConfiguration.securityGroups = n.getCollectionOfObjectValues(createSecurityGroupEntityMappingFromDiscriminatorValue); },
        "urls": n => { entityMappingConfiguration.urls = n.getCollectionOfObjectValues(createUrlEntityMappingFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param Environment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEnvironment(environment = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(environment)), { "kind": n => { environment.kind = n.getEnumValue(EnvironmentKindObject); } });
}
/**
 * The deserialization information for the current model
 * @param EnvironmentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEnvironmentCollectionResponse(environmentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(environmentCollectionResponse)), { "value": n => { environmentCollectionResponse.value = n.getCollectionOfObjectValues(createEnvironmentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EopSubmissionFeedEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEopSubmissionFeedEntityAuditRecord(eopSubmissionFeedEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(eopSubmissionFeedEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param EventPropagationResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEventPropagationResult(eventPropagationResult = {}) {
    return {
        "backingStoreEnabled": n => { eventPropagationResult.backingStoreEnabled = true; },
        "location": n => { eventPropagationResult.location = n.getStringValue(); },
        "@odata.type": n => { eventPropagationResult.odataType = n.getStringValue(); },
        "serviceName": n => { eventPropagationResult.serviceName = n.getStringValue(); },
        "status": n => { eventPropagationResult.status = n.getEnumValue(EventPropagationStatusObject); },
        "statusInformation": n => { eventPropagationResult.statusInformation = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param EventQuery The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEventQuery(eventQuery = {}) {
    return {
        "backingStoreEnabled": n => { eventQuery.backingStoreEnabled = true; },
        "@odata.type": n => { eventQuery.odataType = n.getStringValue(); },
        "query": n => { eventQuery.query = n.getStringValue(); },
        "queryType": n => { eventQuery.queryType = n.getEnumValue(QueryTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param ExchangeAdminAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeAdminAuditRecord(exchangeAdminAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(exchangeAdminAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ExchangeAggregatedMailboxAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeAggregatedMailboxAuditRecord(exchangeAggregatedMailboxAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(exchangeAggregatedMailboxAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ExchangeAggregatedOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeAggregatedOperationRecord(exchangeAggregatedOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(exchangeAggregatedOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param ExchangeMailboxAuditGroupRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeMailboxAuditGroupRecord(exchangeMailboxAuditGroupRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(exchangeMailboxAuditGroupRecord));
}
/**
 * The deserialization information for the current model
 * @param ExchangeMailboxAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeMailboxAuditRecord(exchangeMailboxAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(exchangeMailboxAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ExportFileMetadata The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExportFileMetadata(exportFileMetadata = {}) {
    return {
        "backingStoreEnabled": n => { exportFileMetadata.backingStoreEnabled = true; },
        "downloadUrl": n => { exportFileMetadata.downloadUrl = n.getStringValue(); },
        "fileName": n => { exportFileMetadata.fileName = n.getStringValue(); },
        "@odata.type": n => { exportFileMetadata.odataType = n.getStringValue(); },
        "size": n => { exportFileMetadata.size = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param FabricAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFabricAuditRecord(fabricAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(fabricAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param FabricPolicyRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFabricPolicyRecord(fabricPolicyRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(fabricPolicyRecord));
}
/**
 * The deserialization information for the current model
 * @param File The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFile(file = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(file)), { "content": n => { file.content = n.getByteArrayValue(); }, "dateTime": n => { file.dateTime = n.getDateValue(); }, "extension": n => { file.extension = n.getStringValue(); }, "extractedTextContent": n => { file.extractedTextContent = n.getByteArrayValue(); }, "mediaType": n => { file.mediaType = n.getStringValue(); }, "name": n => { file.name = n.getStringValue(); }, "otherProperties": n => { file.otherProperties = n.getObjectValue(createStringValueDictionaryFromDiscriminatorValue); }, "processingStatus": n => { file.processingStatus = n.getEnumValue(FileProcessingStatusObject); }, "senderOrAuthors": n => { file.senderOrAuthors = n.getCollectionOfPrimitiveValues("string"); }, "size": n => { file.size = n.getNumberValue(); }, "sourceType": n => { file.sourceType = n.getCollectionOfEnumValues(SourceTypeObject); }, "subjectTitle": n => { file.subjectTitle = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileAction(fileAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(fileAction)), { "deviceGroupNames": n => { fileAction.deviceGroupNames = n.getCollectionOfPrimitiveValues("string"); }, "sha1Column": n => { fileAction.sha1Column = n.getStringValue(); }, "sha256Column": n => { fileAction.sha256Column = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileContentThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileContentThreatSubmission(fileContentThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFileThreatSubmission(fileContentThreatSubmission)), { "fileContent": n => { fileContentThreatSubmission.fileContent = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileDetails(fileDetails = {}) {
    return {
        "backingStoreEnabled": n => { fileDetails.backingStoreEnabled = true; },
        "fileName": n => { fileDetails.fileName = n.getStringValue(); },
        "filePath": n => { fileDetails.filePath = n.getStringValue(); },
        "filePublisher": n => { fileDetails.filePublisher = n.getStringValue(); },
        "fileSize": n => { fileDetails.fileSize = n.getNumberValue(); },
        "issuer": n => { fileDetails.issuer = n.getStringValue(); },
        "md5": n => { fileDetails.md5 = n.getStringValue(); },
        "@odata.type": n => { fileDetails.odataType = n.getStringValue(); },
        "sha1": n => { fileDetails.sha1 = n.getStringValue(); },
        "sha256": n => { fileDetails.sha256 = n.getStringValue(); },
        "sha256Ac": n => { fileDetails.sha256Ac = n.getStringValue(); },
        "signer": n => { fileDetails.signer = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param FileEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileEntityMapping(fileEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(fileEntityMapping)), { "nameColumn": n => { fileEntityMapping.nameColumn = n.getStringValue(); }, "sha1Column": n => { fileEntityMapping.sha1Column = n.getStringValue(); }, "sha256Column": n => { fileEntityMapping.sha256Column = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileEvidence(fileEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(fileEvidence)), { "detectionStatus": n => { fileEvidence.detectionStatus = n.getEnumValue(DetectionStatusObject); }, "fileDetails": n => { fileEvidence.fileDetails = n.getObjectValue(createFileDetailsFromDiscriminatorValue); }, "mdeDeviceId": n => { fileEvidence.mdeDeviceId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileHash The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileHash(fileHash = {}) {
    return {
        "algorithm": n => { fileHash.algorithm = n.getEnumValue(FileHashAlgorithmObject); },
        "backingStoreEnabled": n => { fileHash.backingStoreEnabled = true; },
        "@odata.type": n => { fileHash.odataType = n.getStringValue(); },
        "value": n => { fileHash.value = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param FileHashEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileHashEvidence(fileHashEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(fileHashEvidence)), { "algorithm": n => { fileHashEvidence.algorithm = n.getEnumValue(FileHashAlgorithmObject); }, "value": n => { fileHashEvidence.value = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanAppliedCategory The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanAppliedCategory(filePlanAppliedCategory = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanAppliedCategory)), { "subcategory": n => { filePlanAppliedCategory.subcategory = n.getObjectValue(createFilePlanSubcategoryFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanAuthority The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanAuthority(filePlanAuthority = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanAuthority));
}
/**
 * The deserialization information for the current model
 * @param FilePlanCitation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanCitation(filePlanCitation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanCitation)), { "citationJurisdiction": n => { filePlanCitation.citationJurisdiction = n.getStringValue(); }, "citationUrl": n => { filePlanCitation.citationUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanDepartment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanDepartment(filePlanDepartment = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanDepartment));
}
/**
 * The deserialization information for the current model
 * @param FilePlanDescriptor The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanDescriptor(filePlanDescriptor = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(filePlanDescriptor)), { "authority": n => { filePlanDescriptor.authority = n.getObjectValue(createFilePlanAuthorityFromDiscriminatorValue); }, "authorityTemplate": n => { filePlanDescriptor.authorityTemplate = n.getObjectValue(createAuthorityTemplateFromDiscriminatorValue); }, "category": n => { filePlanDescriptor.category = n.getObjectValue(createFilePlanAppliedCategoryFromDiscriminatorValue); }, "categoryTemplate": n => { filePlanDescriptor.categoryTemplate = n.getObjectValue(createCategoryTemplateFromDiscriminatorValue); }, "citation": n => { filePlanDescriptor.citation = n.getObjectValue(createFilePlanCitationFromDiscriminatorValue); }, "citationTemplate": n => { filePlanDescriptor.citationTemplate = n.getObjectValue(createCitationTemplateFromDiscriminatorValue); }, "department": n => { filePlanDescriptor.department = n.getObjectValue(createFilePlanDepartmentFromDiscriminatorValue); }, "departmentTemplate": n => { filePlanDescriptor.departmentTemplate = n.getObjectValue(createDepartmentTemplateFromDiscriminatorValue); }, "filePlanReference": n => { filePlanDescriptor.filePlanReference = n.getObjectValue(createFilePlanReferenceFromDiscriminatorValue); }, "filePlanReferenceTemplate": n => { filePlanDescriptor.filePlanReferenceTemplate = n.getObjectValue(createFilePlanReferenceTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanDescriptorBase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanDescriptorBase(filePlanDescriptorBase = {}) {
    return {
        "backingStoreEnabled": n => { filePlanDescriptorBase.backingStoreEnabled = true; },
        "displayName": n => { filePlanDescriptorBase.displayName = n.getStringValue(); },
        "@odata.type": n => { filePlanDescriptorBase.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param FilePlanDescriptorTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanDescriptorTemplate(filePlanDescriptorTemplate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(filePlanDescriptorTemplate)), { "createdBy": n => { filePlanDescriptorTemplate.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { filePlanDescriptorTemplate.createdDateTime = n.getDateValue(); }, "displayName": n => { filePlanDescriptorTemplate.displayName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanReference The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanReference(filePlanReference = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanReference));
}
/**
 * The deserialization information for the current model
 * @param FilePlanReferenceTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanReferenceTemplate(filePlanReferenceTemplate = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(filePlanReferenceTemplate));
}
/**
 * The deserialization information for the current model
 * @param FilePlanReferenceTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanReferenceTemplateCollectionResponse(filePlanReferenceTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(filePlanReferenceTemplateCollectionResponse)), { "value": n => { filePlanReferenceTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createFilePlanReferenceTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param FilePlanSubcategory The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilePlanSubcategory(filePlanSubcategory = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorBase(filePlanSubcategory));
}
/**
 * The deserialization information for the current model
 * @param FileThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileThreatSubmission(fileThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoThreatSubmission(fileThreatSubmission)), { "fileName": n => { fileThreatSubmission.fileName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param FileThreatSubmissionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileThreatSubmissionCollectionResponse(fileThreatSubmissionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(fileThreatSubmissionCollectionResponse)), { "value": n => { fileThreatSubmissionCollectionResponse.value = n.getCollectionOfObjectValues(createFileThreatSubmissionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param FileUrlThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileUrlThreatSubmission(fileUrlThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFileThreatSubmission(fileUrlThreatSubmission)), { "fileUrl": n => { fileUrlThreatSubmission.fileUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ForceUserPasswordResetIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoForceUserPasswordResetIncidentTaskResponseAction(forceUserPasswordResetIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(forceUserPasswordResetIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param ForceUserPasswordResetResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoForceUserPasswordResetResponseAction(forceUserPasswordResetResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(forceUserPasswordResetResponseAction)), { "identifier": n => { forceUserPasswordResetResponseAction.identifier = n.getCollectionOfEnumValues(ForceUserPasswordResetEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param FormattedContent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFormattedContent(formattedContent = {}) {
    return {
        "backingStoreEnabled": n => { formattedContent.backingStoreEnabled = true; },
        "content": n => { formattedContent.content = n.getStringValue(); },
        "format": n => { formattedContent.format = n.getEnumValue(ContentFormatObject); },
        "@odata.type": n => { formattedContent.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param GeoLocation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGeoLocation(geoLocation = {}) {
    return {
        "backingStoreEnabled": n => { geoLocation.backingStoreEnabled = true; },
        "city": n => { geoLocation.city = n.getStringValue(); },
        "countryName": n => { geoLocation.countryName = n.getStringValue(); },
        "latitude": n => { geoLocation.latitude = n.getNumberValue(); },
        "longitude": n => { geoLocation.longitude = n.getNumberValue(); },
        "@odata.type": n => { geoLocation.odataType = n.getStringValue(); },
        "state": n => { geoLocation.state = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param GitHubOrganizationEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGitHubOrganizationEvidence(gitHubOrganizationEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(gitHubOrganizationEvidence)), { "company": n => { gitHubOrganizationEvidence.company = n.getStringValue(); }, "displayName": n => { gitHubOrganizationEvidence.displayName = n.getStringValue(); }, "email": n => { gitHubOrganizationEvidence.email = n.getStringValue(); }, "login": n => { gitHubOrganizationEvidence.login = n.getStringValue(); }, "orgId": n => { gitHubOrganizationEvidence.orgId = n.getStringValue(); }, "webUrl": n => { gitHubOrganizationEvidence.webUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param GitHubRepoEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGitHubRepoEvidence(gitHubRepoEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(gitHubRepoEvidence)), { "baseUrl": n => { gitHubRepoEvidence.baseUrl = n.getStringValue(); }, "login": n => { gitHubRepoEvidence.login = n.getStringValue(); }, "owner": n => { gitHubRepoEvidence.owner = n.getStringValue(); }, "ownerType": n => { gitHubRepoEvidence.ownerType = n.getStringValue(); }, "repoId": n => { gitHubRepoEvidence.repoId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param GitHubUserEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGitHubUserEvidence(gitHubUserEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(gitHubUserEvidence)), { "email": n => { gitHubUserEvidence.email = n.getStringValue(); }, "login": n => { gitHubUserEvidence.login = n.getStringValue(); }, "name": n => { gitHubUserEvidence.name = n.getStringValue(); }, "userId": n => { gitHubUserEvidence.userId = n.getStringValue(); }, "webUrl": n => { gitHubUserEvidence.webUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param GoogleCloudResourceEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGoogleCloudResourceEntityMapping(googleCloudResourceEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(googleCloudResourceEntityMapping)), { "fullResourceNameColumn": n => { googleCloudResourceEntityMapping.fullResourceNameColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param GoogleCloudResourceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoGoogleCloudResourceEvidence(googleCloudResourceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(googleCloudResourceEvidence)), { "fullResourceName": n => { googleCloudResourceEvidence.fullResourceName = n.getStringValue(); }, "location": n => { googleCloudResourceEvidence.location = n.getStringValue(); }, "locationType": n => { googleCloudResourceEvidence.locationType = n.getEnumValue(GoogleCloudLocationTypeObject); }, "projectId": n => { googleCloudResourceEvidence.projectId = n.getStringValue(); }, "projectNumber": n => { googleCloudResourceEvidence.projectNumber = n.getNumberValue(); }, "resourceName": n => { googleCloudResourceEvidence.resourceName = n.getStringValue(); }, "resourceType": n => { googleCloudResourceEvidence.resourceType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HardDeleteEmailIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHardDeleteEmailIncidentTaskResponseAction(hardDeleteEmailIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(hardDeleteEmailIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param HardDeleteResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHardDeleteResponseAction(hardDeleteResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(hardDeleteResponseAction)), { "identifier": n => { hardDeleteResponseAction.identifier = n.getCollectionOfEnumValues(EmailEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param HealthcareSignalRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHealthcareSignalRecord(healthcareSignalRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(healthcareSignalRecord));
}
/**
 * The deserialization information for the current model
 * @param HealthIssue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHealthIssue(healthIssue = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(healthIssue)), { "additionalInformation": n => { healthIssue.additionalInformation = n.getCollectionOfPrimitiveValues("string"); }, "createdDateTime": n => { healthIssue.createdDateTime = n.getDateValue(); }, "description": n => { healthIssue.description = n.getStringValue(); }, "displayName": n => { healthIssue.displayName = n.getStringValue(); }, "domainNames": n => { healthIssue.domainNames = n.getCollectionOfPrimitiveValues("string"); }, "healthIssueType": n => { healthIssue.healthIssueType = n.getEnumValue(HealthIssueTypeObject); }, "issueTypeId": n => { healthIssue.issueTypeId = n.getStringValue(); }, "lastModifiedDateTime": n => { healthIssue.lastModifiedDateTime = n.getDateValue(); }, "recommendations": n => { healthIssue.recommendations = n.getCollectionOfPrimitiveValues("string"); }, "recommendedActionCommands": n => { healthIssue.recommendedActionCommands = n.getCollectionOfPrimitiveValues("string"); }, "sensorDNSNames": n => { healthIssue.sensorDNSNames = n.getCollectionOfPrimitiveValues("string"); }, "severity": n => { healthIssue.severity = n.getEnumValue(HealthIssueSeverityObject); }, "status": n => { healthIssue.status = n.getEnumValue(HealthIssueStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param HealthIssueCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHealthIssueCollectionResponse(healthIssueCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(healthIssueCollectionResponse)), { "value": n => { healthIssueCollectionResponse.value = n.getCollectionOfObjectValues(createHealthIssueFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Host The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHost(host = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(host)), { "childHostPairs": n => { host.childHostPairs = n.getCollectionOfObjectValues(createHostPairFromDiscriminatorValue); }, "components": n => { host.components = n.getCollectionOfObjectValues(createHostComponentFromDiscriminatorValue); }, "cookies": n => { host.cookies = n.getCollectionOfObjectValues(createHostCookieFromDiscriminatorValue); }, "firstSeenDateTime": n => { host.firstSeenDateTime = n.getDateValue(); }, "hostPairs": n => { host.hostPairs = n.getCollectionOfObjectValues(createHostPairFromDiscriminatorValue); }, "lastSeenDateTime": n => { host.lastSeenDateTime = n.getDateValue(); }, "parentHostPairs": n => { host.parentHostPairs = n.getCollectionOfObjectValues(createHostPairFromDiscriminatorValue); }, "passiveDns": n => { host.passiveDns = n.getCollectionOfObjectValues(createPassiveDnsRecordFromDiscriminatorValue); }, "passiveDnsReverse": n => { host.passiveDnsReverse = n.getCollectionOfObjectValues(createPassiveDnsRecordFromDiscriminatorValue); }, "ports": n => { host.ports = n.getCollectionOfObjectValues(createHostPortFromDiscriminatorValue); }, "reputation": n => { host.reputation = n.getObjectValue(createHostReputationFromDiscriminatorValue); }, "sslCertificates": n => { host.sslCertificates = n.getCollectionOfObjectValues(createHostSslCertificateFromDiscriminatorValue); }, "subdomains": n => { host.subdomains = n.getCollectionOfObjectValues(createSubdomainFromDiscriminatorValue); }, "trackers": n => { host.trackers = n.getCollectionOfObjectValues(createHostTrackerFromDiscriminatorValue); }, "whois": n => { host.whois = n.getObjectValue(createWhoisRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostCollectionResponse(hostCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostCollectionResponse)), { "value": n => { hostCollectionResponse.value = n.getCollectionOfObjectValues(createHostFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostComponent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostComponent(hostComponent = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(hostComponent)), { "category": n => { hostComponent.category = n.getStringValue(); }, "firstSeenDateTime": n => { hostComponent.firstSeenDateTime = n.getDateValue(); }, "host": n => { hostComponent.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "lastSeenDateTime": n => { hostComponent.lastSeenDateTime = n.getDateValue(); }, "name": n => { hostComponent.name = n.getStringValue(); }, "version": n => { hostComponent.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostComponentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostComponentCollectionResponse(hostComponentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostComponentCollectionResponse)), { "value": n => { hostComponentCollectionResponse.value = n.getCollectionOfObjectValues(createHostComponentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostCookie The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostCookie(hostCookie = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(hostCookie)), { "domain": n => { hostCookie.domain = n.getStringValue(); }, "firstSeenDateTime": n => { hostCookie.firstSeenDateTime = n.getDateValue(); }, "host": n => { hostCookie.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "lastSeenDateTime": n => { hostCookie.lastSeenDateTime = n.getDateValue(); }, "name": n => { hostCookie.name = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostCookieCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostCookieCollectionResponse(hostCookieCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostCookieCollectionResponse)), { "value": n => { hostCookieCollectionResponse.value = n.getCollectionOfObjectValues(createHostCookieFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostedRpaAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostedRpaAuditRecord(hostedRpaAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(hostedRpaAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param HostEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostEntityMapping(hostEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(hostEntityMapping)), { "deviceIdColumn": n => { hostEntityMapping.deviceIdColumn = n.getStringValue(); }, "dnsDomainColumn": n => { hostEntityMapping.dnsDomainColumn = n.getStringValue(); }, "nameColumn": n => { hostEntityMapping.nameColumn = n.getStringValue(); }, "netBiosNameColumn": n => { hostEntityMapping.netBiosNameColumn = n.getStringValue(); }, "ntDomainColumn": n => { hostEntityMapping.ntDomainColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostLogonSessionEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostLogonSessionEvidence(hostLogonSessionEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(hostLogonSessionEvidence)), { "account": n => { hostLogonSessionEvidence.account = n.getObjectValue(createUserEvidenceFromDiscriminatorValue); }, "endUtcDateTime": n => { hostLogonSessionEvidence.endUtcDateTime = n.getDateValue(); }, "host": n => { hostLogonSessionEvidence.host = n.getObjectValue(createDeviceEvidenceFromDiscriminatorValue); }, "sessionId": n => { hostLogonSessionEvidence.sessionId = n.getStringValue(); }, "startUtcDateTime": n => { hostLogonSessionEvidence.startUtcDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Hostname The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostname(hostname = {}) {
    return Object.assign(Object.assign({}, deserializeIntoHost(hostname)), { "registrant": n => { hostname.registrant = n.getStringValue(); }, "registrar": n => { hostname.registrar = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostPair The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPair(hostPair = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(hostPair)), { "childHost": n => { hostPair.childHost = n.getObjectValue(createHostFromDiscriminatorValue); }, "firstSeenDateTime": n => { hostPair.firstSeenDateTime = n.getDateValue(); }, "lastSeenDateTime": n => { hostPair.lastSeenDateTime = n.getDateValue(); }, "linkKind": n => { hostPair.linkKind = n.getStringValue(); }, "parentHost": n => { hostPair.parentHost = n.getObjectValue(createHostFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostPairCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPairCollectionResponse(hostPairCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostPairCollectionResponse)), { "value": n => { hostPairCollectionResponse.value = n.getCollectionOfObjectValues(createHostPairFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostPort The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPort(hostPort = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(hostPort)), { "banners": n => { hostPort.banners = n.getCollectionOfObjectValues(createHostPortBannerFromDiscriminatorValue); }, "firstSeenDateTime": n => { hostPort.firstSeenDateTime = n.getDateValue(); }, "host": n => { hostPort.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "lastScanDateTime": n => { hostPort.lastScanDateTime = n.getDateValue(); }, "lastSeenDateTime": n => { hostPort.lastSeenDateTime = n.getDateValue(); }, "mostRecentSslCertificate": n => { hostPort.mostRecentSslCertificate = n.getObjectValue(createSslCertificateFromDiscriminatorValue); }, "port": n => { hostPort.port = n.getNumberValue(); }, "protocol": n => { hostPort.protocol = n.getEnumValue(HostPortProtocolObject); }, "services": n => { hostPort.services = n.getCollectionOfObjectValues(createHostPortComponentFromDiscriminatorValue); }, "status": n => { hostPort.status = n.getEnumValue(HostPortStatusObject); }, "timesObserved": n => { hostPort.timesObserved = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostPortBanner The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPortBanner(hostPortBanner = {}) {
    return {
        "backingStoreEnabled": n => { hostPortBanner.backingStoreEnabled = true; },
        "banner": n => { hostPortBanner.banner = n.getStringValue(); },
        "firstSeenDateTime": n => { hostPortBanner.firstSeenDateTime = n.getDateValue(); },
        "lastSeenDateTime": n => { hostPortBanner.lastSeenDateTime = n.getDateValue(); },
        "@odata.type": n => { hostPortBanner.odataType = n.getStringValue(); },
        "scanProtocol": n => { hostPortBanner.scanProtocol = n.getStringValue(); },
        "timesObserved": n => { hostPortBanner.timesObserved = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HostPortCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPortCollectionResponse(hostPortCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostPortCollectionResponse)), { "value": n => { hostPortCollectionResponse.value = n.getCollectionOfObjectValues(createHostPortFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostPortComponent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostPortComponent(hostPortComponent = {}) {
    return {
        "backingStoreEnabled": n => { hostPortComponent.backingStoreEnabled = true; },
        "component": n => { hostPortComponent.component = n.getObjectValue(createHostComponentFromDiscriminatorValue); },
        "firstSeenDateTime": n => { hostPortComponent.firstSeenDateTime = n.getDateValue(); },
        "isRecent": n => { hostPortComponent.isRecent = n.getBooleanValue(); },
        "lastSeenDateTime": n => { hostPortComponent.lastSeenDateTime = n.getDateValue(); },
        "@odata.type": n => { hostPortComponent.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HostReputation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostReputation(hostReputation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(hostReputation)), { "classification": n => { hostReputation.classification = n.getEnumValue(HostReputationClassificationObject); }, "rules": n => { hostReputation.rules = n.getCollectionOfObjectValues(createHostReputationRuleFromDiscriminatorValue); }, "score": n => { hostReputation.score = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostReputationRule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostReputationRule(hostReputationRule = {}) {
    return {
        "backingStoreEnabled": n => { hostReputationRule.backingStoreEnabled = true; },
        "description": n => { hostReputationRule.description = n.getStringValue(); },
        "name": n => { hostReputationRule.name = n.getStringValue(); },
        "@odata.type": n => { hostReputationRule.odataType = n.getStringValue(); },
        "relatedDetailsUrl": n => { hostReputationRule.relatedDetailsUrl = n.getStringValue(); },
        "severity": n => { hostReputationRule.severity = n.getEnumValue(HostReputationRuleSeverityObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param HostSslCertificate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostSslCertificate(hostSslCertificate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(hostSslCertificate)), { "firstSeenDateTime": n => { hostSslCertificate.firstSeenDateTime = n.getDateValue(); }, "host": n => { hostSslCertificate.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "lastSeenDateTime": n => { hostSslCertificate.lastSeenDateTime = n.getDateValue(); }, "ports": n => { hostSslCertificate.ports = n.getCollectionOfObjectValues(createHostSslCertificatePortFromDiscriminatorValue); }, "sslCertificate": n => { hostSslCertificate.sslCertificate = n.getObjectValue(createSslCertificateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostSslCertificateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostSslCertificateCollectionResponse(hostSslCertificateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostSslCertificateCollectionResponse)), { "value": n => { hostSslCertificateCollectionResponse.value = n.getCollectionOfObjectValues(createHostSslCertificateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HostSslCertificatePort The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostSslCertificatePort(hostSslCertificatePort = {}) {
    return {
        "backingStoreEnabled": n => { hostSslCertificatePort.backingStoreEnabled = true; },
        "firstSeenDateTime": n => { hostSslCertificatePort.firstSeenDateTime = n.getDateValue(); },
        "lastSeenDateTime": n => { hostSslCertificatePort.lastSeenDateTime = n.getDateValue(); },
        "@odata.type": n => { hostSslCertificatePort.odataType = n.getStringValue(); },
        "port": n => { hostSslCertificatePort.port = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HostTracker The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostTracker(hostTracker = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(hostTracker)), { "firstSeenDateTime": n => { hostTracker.firstSeenDateTime = n.getDateValue(); }, "host": n => { hostTracker.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "kind": n => { hostTracker.kind = n.getStringValue(); }, "lastSeenDateTime": n => { hostTracker.lastSeenDateTime = n.getDateValue(); }, "value": n => { hostTracker.value = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param HostTrackerCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHostTrackerCollectionResponse(hostTrackerCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(hostTrackerCollectionResponse)), { "value": n => { hostTrackerCollectionResponse.value = n.getCollectionOfObjectValues(createHostTrackerFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param HrSignalAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHrSignalAuditRecord(hrSignalAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(hrSignalAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param HuntingQueryResults The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingQueryResults(huntingQueryResults = {}) {
    return {
        "backingStoreEnabled": n => { huntingQueryResults.backingStoreEnabled = true; },
        "@odata.type": n => { huntingQueryResults.odataType = n.getStringValue(); },
        "results": n => { huntingQueryResults.results = n.getCollectionOfObjectValues(createHuntingRowResultFromDiscriminatorValue); },
        "schema": n => { huntingQueryResults.schema = n.getCollectionOfObjectValues(createSinglePropertySchemaFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingRowResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingRowResult(huntingRowResult = {}) {
    return {
        "backingStoreEnabled": n => { huntingRowResult.backingStoreEnabled = true; },
        "@odata.type": n => { huntingRowResult.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaBuiltInFunction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaBuiltInFunction(huntingSchemaBuiltInFunction = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaBuiltInFunction.backingStoreEnabled = true; },
        "documentation": n => { huntingSchemaBuiltInFunction.documentation = n.getStringValue(); },
        "huntingFunctionId": n => { huntingSchemaBuiltInFunction.huntingFunctionId = n.getNumberValue(); },
        "inputParameters": n => { huntingSchemaBuiltInFunction.inputParameters = n.getCollectionOfObjectValues(createHuntingSchemaFunctionParameterFromDiscriminatorValue); },
        "name": n => { huntingSchemaBuiltInFunction.name = n.getStringValue(); },
        "@odata.type": n => { huntingSchemaBuiltInFunction.odataType = n.getStringValue(); },
        "outputColumns": n => { huntingSchemaBuiltInFunction.outputColumns = n.getCollectionOfObjectValues(createHuntingSchemaTableColumnFromDiscriminatorValue); },
        "path": n => { huntingSchemaBuiltInFunction.path = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaFunctionParameter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaFunctionParameter(huntingSchemaFunctionParameter = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaFunctionParameter.backingStoreEnabled = true; },
        "cslType": n => { huntingSchemaFunctionParameter.cslType = n.getStringValue(); },
        "defaultValue": n => { huntingSchemaFunctionParameter.defaultValue = n.getStringValue(); },
        "name": n => { huntingSchemaFunctionParameter.name = n.getStringValue(); },
        "@odata.type": n => { huntingSchemaFunctionParameter.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaFunctions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaFunctions(huntingSchemaFunctions = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaFunctions.backingStoreEnabled = true; },
        "builtInFunctions": n => { huntingSchemaFunctions.builtInFunctions = n.getCollectionOfObjectValues(createHuntingSchemaBuiltInFunctionFromDiscriminatorValue); },
        "@odata.type": n => { huntingSchemaFunctions.odataType = n.getStringValue(); },
        "savedFunctions": n => { huntingSchemaFunctions.savedFunctions = n.getCollectionOfObjectValues(createHuntingSchemaSavedFunctionFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaResult(huntingSchemaResult = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaResult.backingStoreEnabled = true; },
        "functions": n => { huntingSchemaResult.functions = n.getObjectValue(createHuntingSchemaFunctionsFromDiscriminatorValue); },
        "@odata.type": n => { huntingSchemaResult.odataType = n.getStringValue(); },
        "tables": n => { huntingSchemaResult.tables = n.getCollectionOfObjectValues(createHuntingSchemaTableFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaSavedFunction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaSavedFunction(huntingSchemaSavedFunction = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaSavedFunction.backingStoreEnabled = true; },
        "createdBy": n => { huntingSchemaSavedFunction.createdBy = n.getStringValue(); },
        "description": n => { huntingSchemaSavedFunction.description = n.getStringValue(); },
        "huntingFunctionId": n => { huntingSchemaSavedFunction.huntingFunctionId = n.getNumberValue(); },
        "inputParameters": n => { huntingSchemaSavedFunction.inputParameters = n.getCollectionOfObjectValues(createHuntingSchemaFunctionParameterFromDiscriminatorValue); },
        "lastModifiedBy": n => { huntingSchemaSavedFunction.lastModifiedBy = n.getStringValue(); },
        "lastModifiedDateTime": n => { huntingSchemaSavedFunction.lastModifiedDateTime = n.getDateValue(); },
        "name": n => { huntingSchemaSavedFunction.name = n.getStringValue(); },
        "@odata.type": n => { huntingSchemaSavedFunction.odataType = n.getStringValue(); },
        "outputColumns": n => { huntingSchemaSavedFunction.outputColumns = n.getCollectionOfObjectValues(createHuntingSchemaTableColumnFromDiscriminatorValue); },
        "path": n => { huntingSchemaSavedFunction.path = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaTable The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaTable(huntingSchemaTable = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaTable.backingStoreEnabled = true; },
        "columns": n => { huntingSchemaTable.columns = n.getCollectionOfObjectValues(createHuntingSchemaTableColumnFromDiscriminatorValue); },
        "description": n => { huntingSchemaTable.description = n.getStringValue(); },
        "name": n => { huntingSchemaTable.name = n.getStringValue(); },
        "@odata.type": n => { huntingSchemaTable.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HuntingSchemaTableColumn The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHuntingSchemaTableColumn(huntingSchemaTableColumn = {}) {
    return {
        "backingStoreEnabled": n => { huntingSchemaTableColumn.backingStoreEnabled = true; },
        "dataType": n => { huntingSchemaTableColumn.dataType = n.getStringValue(); },
        "description": n => { huntingSchemaTableColumn.description = n.getStringValue(); },
        "name": n => { huntingSchemaTableColumn.name = n.getStringValue(); },
        "@odata.type": n => { huntingSchemaTableColumn.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param HygieneEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHygieneEventRecord(hygieneEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(hygieneEventRecord));
}
/**
 * The deserialization information for the current model
 * @param Hyperlink The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoHyperlink(hyperlink = {}) {
    return {
        "backingStoreEnabled": n => { hyperlink.backingStoreEnabled = true; },
        "name": n => { hyperlink.name = n.getStringValue(); },
        "@odata.type": n => { hyperlink.odataType = n.getStringValue(); },
        "url": n => { hyperlink.url = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IdentityAccounts The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIdentityAccounts(identityAccounts = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(identityAccounts)), { "accounts": n => { identityAccounts.accounts = n.getCollectionOfObjectValues(createAccountFromDiscriminatorValue); }, "cloudSecurityIdentifier": n => { identityAccounts.cloudSecurityIdentifier = n.getStringValue(); }, "displayName": n => { identityAccounts.displayName = n.getStringValue(); }, "domain": n => { identityAccounts.domain = n.getStringValue(); }, "isEnabled": n => { identityAccounts.isEnabled = n.getBooleanValue(); }, "onPremisesSecurityIdentifier": n => { identityAccounts.onPremisesSecurityIdentifier = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IdentityAccountsCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIdentityAccountsCollectionResponse(identityAccountsCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(identityAccountsCollectionResponse)), { "value": n => { identityAccountsCollectionResponse.value = n.getCollectionOfObjectValues(createIdentityAccountsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IdentityContainer The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIdentityContainer(identityContainer = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(identityContainer)), { "healthIssues": n => { identityContainer.healthIssues = n.getCollectionOfObjectValues(createHealthIssueFromDiscriminatorValue); }, "identityAccounts": n => { identityContainer.identityAccounts = n.getCollectionOfObjectValues(createIdentityAccountsFromDiscriminatorValue); }, "sensorCandidateActivationConfiguration": n => { identityContainer.sensorCandidateActivationConfiguration = n.getObjectValue(createSensorCandidateActivationConfigurationFromDiscriminatorValue); }, "sensorCandidates": n => { identityContainer.sensorCandidates = n.getCollectionOfObjectValues(createSensorCandidateFromDiscriminatorValue); }, "sensorMigration": n => { identityContainer.sensorMigration = n.getCollectionOfObjectValues(createSensorMigrationFromDiscriminatorValue); }, "sensors": n => { identityContainer.sensors = n.getCollectionOfObjectValues(createSensorFromDiscriminatorValue); }, "settings": n => { identityContainer.settings = n.getObjectValue(createSettingsContainerFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ImpactedAsset The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoImpactedAsset(impactedAsset = {}) {
    return {
        "backingStoreEnabled": n => { impactedAsset.backingStoreEnabled = true; },
        "@odata.type": n => { impactedAsset.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ImpactedDeviceAsset The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoImpactedDeviceAsset(impactedDeviceAsset = {}) {
    return Object.assign(Object.assign({}, deserializeIntoImpactedAsset(impactedDeviceAsset)), { "identifier": n => { impactedDeviceAsset.identifier = n.getEnumValue(DeviceAssetIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param ImpactedMailboxAsset The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoImpactedMailboxAsset(impactedMailboxAsset = {}) {
    return Object.assign(Object.assign({}, deserializeIntoImpactedAsset(impactedMailboxAsset)), { "identifier": n => { impactedMailboxAsset.identifier = n.getEnumValue(MailboxAssetIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param ImpactedUserAsset The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoImpactedUserAsset(impactedUserAsset = {}) {
    return Object.assign(Object.assign({}, deserializeIntoImpactedAsset(impactedUserAsset)), { "identifier": n => { impactedUserAsset.identifier = n.getEnumValue(UserAssetIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param Incident The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncident(incident = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(incident)), { "alerts": n => { incident.alerts = n.getCollectionOfObjectValues(createAlertFromDiscriminatorValue); }, "assignedTo": n => { incident.assignedTo = n.getStringValue(); }, "classification": n => { incident.classification = n.getEnumValue(AlertClassificationObject); }, "comments": n => { incident.comments = n.getCollectionOfObjectValues(createAlertCommentFromDiscriminatorValue); }, "createdDateTime": n => { incident.createdDateTime = n.getDateValue(); }, "customTags": n => { incident.customTags = n.getCollectionOfPrimitiveValues("string"); }, "description": n => { incident.description = n.getStringValue(); }, "determination": n => { incident.determination = n.getEnumValue(AlertDeterminationObject); }, "displayName": n => { incident.displayName = n.getStringValue(); }, "incidentWebUrl": n => { incident.incidentWebUrl = n.getStringValue(); }, "lastModifiedBy": n => { incident.lastModifiedBy = n.getStringValue(); }, "lastUpdateDateTime": n => { incident.lastUpdateDateTime = n.getDateValue(); }, "priorityScore": n => { incident.priorityScore = n.getNumberValue(); }, "recommendedActions": n => { incident.recommendedActions = n.getStringValue(); }, "recommendedHuntingQueries": n => { incident.recommendedHuntingQueries = n.getCollectionOfObjectValues(createRecommendedHuntingQueryFromDiscriminatorValue); }, "redirectIncidentId": n => { incident.redirectIncidentId = n.getStringValue(); }, "resolvingComment": n => { incident.resolvingComment = n.getStringValue(); }, "severity": n => { incident.severity = n.getEnumValue(AlertSeverityObject); }, "status": n => { incident.status = n.getEnumValue(IncidentStatusObject); }, "summary": n => { incident.summary = n.getStringValue(); }, "systemTags": n => { incident.systemTags = n.getCollectionOfPrimitiveValues("string"); }, "tenantId": n => { incident.tenantId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IncidentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentCollectionResponse(incidentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(incidentCollectionResponse)), { "value": n => { incidentCollectionResponse.value = n.getCollectionOfObjectValues(createIncidentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IncidentTask The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentTask(incidentTask = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(incidentTask)), { "actionStatus": n => { incidentTask.actionStatus = n.getEnumValue(IncidentTaskActionStatusObject); }, "actionType": n => { incidentTask.actionType = n.getEnumValue(IncidentTaskActionTypeObject); }, "createdByDisplayName": n => { incidentTask.createdByDisplayName = n.getStringValue(); }, "createdDateTime": n => { incidentTask.createdDateTime = n.getDateValue(); }, "description": n => { incidentTask.description = n.getStringValue(); }, "displayName": n => { incidentTask.displayName = n.getStringValue(); }, "incident": n => { incidentTask.incident = n.getObjectValue(createIncidentFromDiscriminatorValue); }, "lastModifiedByDisplayName": n => { incidentTask.lastModifiedByDisplayName = n.getStringValue(); }, "lastModifiedDateTime": n => { incidentTask.lastModifiedDateTime = n.getDateValue(); }, "responseAction": n => { incidentTask.responseAction = n.getObjectValue(createIncidentTaskResponseActionFromDiscriminatorValue); }, "source": n => { incidentTask.source = n.getEnumValue(IncidentTaskSourceObject); }, "status": n => { incidentTask.status = n.getEnumValue(IncidentTaskStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param IncidentTaskCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentTaskCollectionResponse(incidentTaskCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(incidentTaskCollectionResponse)), { "value": n => { incidentTaskCollectionResponse.value = n.getCollectionOfObjectValues(createIncidentTaskFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIncidentTaskResponseAction(incidentTaskResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(incidentTaskResponseAction)), { "identifierValue": n => { incidentTaskResponseAction.identifierValue = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param Indicator The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndicator(indicator = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(indicator)), { "artifact": n => { indicator.artifact = n.getObjectValue(createArtifactFromDiscriminatorValue); }, "source": n => { indicator.source = n.getEnumValue(IndicatorSourceObject); } });
}
/**
 * The deserialization information for the current model
 * @param InformationBarrierPolicyApplicationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInformationBarrierPolicyApplicationAuditRecord(informationBarrierPolicyApplicationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(informationBarrierPolicyApplicationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param InformationProtection The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInformationProtection(informationProtection = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(informationProtection)), { "labelPolicySettings": n => { informationProtection.labelPolicySettings = n.getObjectValue(createInformationProtectionPolicySettingFromDiscriminatorValue); }, "sensitivityLabels": n => { informationProtection.sensitivityLabels = n.getCollectionOfObjectValues(createSensitivityLabelFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param InformationProtectionAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInformationProtectionAction(informationProtectionAction = {}) {
    return {
        "backingStoreEnabled": n => { informationProtectionAction.backingStoreEnabled = true; },
        "@odata.type": n => { informationProtectionAction.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param InformationProtectionPolicySetting The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInformationProtectionPolicySetting(informationProtectionPolicySetting = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(informationProtectionPolicySetting)), { "defaultLabelId": n => { informationProtectionPolicySetting.defaultLabelId = n.getStringValue(); }, "isDowngradeJustificationRequired": n => { informationProtectionPolicySetting.isDowngradeJustificationRequired = n.getBooleanValue(); }, "isMandatory": n => { informationProtectionPolicySetting.isMandatory = n.getBooleanValue(); }, "moreInfoUrl": n => { informationProtectionPolicySetting.moreInfoUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param InformationWorkerProtectionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInformationWorkerProtectionAuditRecord(informationWorkerProtectionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(informationWorkerProtectionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param InitiateInvestigationResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInitiateInvestigationResponseAction(initiateInvestigationResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(initiateInvestigationResponseAction)), { "identifier": n => { initiateInvestigationResponseAction.identifier = n.getCollectionOfEnumValues(DeviceIdEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param InsiderRiskScopedUserInsightsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInsiderRiskScopedUserInsightsRecord(insiderRiskScopedUserInsightsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(insiderRiskScopedUserInsightsRecord));
}
/**
 * The deserialization information for the current model
 * @param InsiderRiskScopedUsersRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInsiderRiskScopedUsersRecord(insiderRiskScopedUsersRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(insiderRiskScopedUsersRecord));
}
/**
 * The deserialization information for the current model
 * @param IntegratedAppsAppAdminActivityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntegratedAppsAppAdminActivityAuditRecord(integratedAppsAppAdminActivityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(integratedAppsAppAdminActivityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param IntegratedAppsAppSettingsAdminActivityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntegratedAppsAppSettingsAdminActivityAuditRecord(integratedAppsAppSettingsAdminActivityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(integratedAppsAppSettingsAdminActivityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param IntelligenceProfile The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntelligenceProfile(intelligenceProfile = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(intelligenceProfile)), { "aliases": n => { intelligenceProfile.aliases = n.getCollectionOfPrimitiveValues("string"); }, "countriesOrRegionsOfOrigin": n => { intelligenceProfile.countriesOrRegionsOfOrigin = n.getCollectionOfObjectValues(createIntelligenceProfileCountryOrRegionOfOriginFromDiscriminatorValue); }, "description": n => { intelligenceProfile.description = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "firstActiveDateTime": n => { intelligenceProfile.firstActiveDateTime = n.getDateValue(); }, "indicators": n => { intelligenceProfile.indicators = n.getCollectionOfObjectValues(createIntelligenceProfileIndicatorFromDiscriminatorValue); }, "kind": n => { intelligenceProfile.kind = n.getEnumValue(IntelligenceProfileKindObject); }, "summary": n => { intelligenceProfile.summary = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "targets": n => { intelligenceProfile.targets = n.getCollectionOfPrimitiveValues("string"); }, "title": n => { intelligenceProfile.title = n.getStringValue(); }, "tradecraft": n => { intelligenceProfile.tradecraft = n.getObjectValue(createFormattedContentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IntelligenceProfileCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntelligenceProfileCollectionResponse(intelligenceProfileCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(intelligenceProfileCollectionResponse)), { "value": n => { intelligenceProfileCollectionResponse.value = n.getCollectionOfObjectValues(createIntelligenceProfileFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IntelligenceProfileCountryOrRegionOfOrigin The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntelligenceProfileCountryOrRegionOfOrigin(intelligenceProfileCountryOrRegionOfOrigin = {}) {
    return {
        "backingStoreEnabled": n => { intelligenceProfileCountryOrRegionOfOrigin.backingStoreEnabled = true; },
        "code": n => { intelligenceProfileCountryOrRegionOfOrigin.code = n.getStringValue(); },
        "label": n => { intelligenceProfileCountryOrRegionOfOrigin.label = n.getStringValue(); },
        "@odata.type": n => { intelligenceProfileCountryOrRegionOfOrigin.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IntelligenceProfileIndicator The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntelligenceProfileIndicator(intelligenceProfileIndicator = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIndicator(intelligenceProfileIndicator)), { "firstSeenDateTime": n => { intelligenceProfileIndicator.firstSeenDateTime = n.getDateValue(); }, "lastSeenDateTime": n => { intelligenceProfileIndicator.lastSeenDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IntelligenceProfileIndicatorCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIntelligenceProfileIndicatorCollectionResponse(intelligenceProfileIndicatorCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(intelligenceProfileIndicatorCollectionResponse)), { "value": n => { intelligenceProfileIndicatorCollectionResponse.value = n.getCollectionOfObjectValues(createIntelligenceProfileIndicatorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param InvokeActionResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInvokeActionResult(invokeActionResult = {}) {
    return {
        "accountId": n => { invokeActionResult.accountId = n.getStringValue(); },
        "action": n => { invokeActionResult.action = n.getEnumValue(ActionObject); },
        "backingStoreEnabled": n => { invokeActionResult.backingStoreEnabled = true; },
        "correlationId": n => { invokeActionResult.correlationId = n.getStringValue(); },
        "identityProvider": n => { invokeActionResult.identityProvider = n.getEnumValue(IdentityProviderObject); },
        "@odata.type": n => { invokeActionResult.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IoTDeviceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIoTDeviceEvidence(ioTDeviceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(ioTDeviceEvidence)), { "deviceId": n => { ioTDeviceEvidence.deviceId = n.getStringValue(); }, "deviceName": n => { ioTDeviceEvidence.deviceName = n.getStringValue(); }, "devicePageLink": n => { ioTDeviceEvidence.devicePageLink = n.getStringValue(); }, "deviceSubType": n => { ioTDeviceEvidence.deviceSubType = n.getStringValue(); }, "deviceType": n => { ioTDeviceEvidence.deviceType = n.getStringValue(); }, "importance": n => { ioTDeviceEvidence.importance = n.getEnumValue(IoTDeviceImportanceTypeObject); }, "ioTHub": n => { ioTDeviceEvidence.ioTHub = n.getObjectValue(createAzureResourceEvidenceFromDiscriminatorValue); }, "ioTSecurityAgentId": n => { ioTDeviceEvidence.ioTSecurityAgentId = n.getStringValue(); }, "ipAddress": n => { ioTDeviceEvidence.ipAddress = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "isAuthorized": n => { ioTDeviceEvidence.isAuthorized = n.getBooleanValue(); }, "isProgramming": n => { ioTDeviceEvidence.isProgramming = n.getBooleanValue(); }, "isScanner": n => { ioTDeviceEvidence.isScanner = n.getBooleanValue(); }, "macAddress": n => { ioTDeviceEvidence.macAddress = n.getStringValue(); }, "manufacturer": n => { ioTDeviceEvidence.manufacturer = n.getStringValue(); }, "model": n => { ioTDeviceEvidence.model = n.getStringValue(); }, "nics": n => { ioTDeviceEvidence.nics = n.getCollectionOfObjectValues(createNicEvidenceFromDiscriminatorValue); }, "operatingSystem": n => { ioTDeviceEvidence.operatingSystem = n.getStringValue(); }, "owners": n => { ioTDeviceEvidence.owners = n.getCollectionOfPrimitiveValues("string"); }, "protocols": n => { ioTDeviceEvidence.protocols = n.getCollectionOfPrimitiveValues("string"); }, "purdueLayer": n => { ioTDeviceEvidence.purdueLayer = n.getStringValue(); }, "sensor": n => { ioTDeviceEvidence.sensor = n.getStringValue(); }, "serialNumber": n => { ioTDeviceEvidence.serialNumber = n.getStringValue(); }, "site": n => { ioTDeviceEvidence.site = n.getStringValue(); }, "source": n => { ioTDeviceEvidence.source = n.getStringValue(); }, "sourceRef": n => { ioTDeviceEvidence.sourceRef = n.getObjectValue(createUrlEvidenceFromDiscriminatorValue); }, "zone": n => { ioTDeviceEvidence.zone = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IpAddress The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIpAddress(ipAddress = {}) {
    return Object.assign(Object.assign({}, deserializeIntoHost(ipAddress)), { "autonomousSystem": n => { ipAddress.autonomousSystem = n.getObjectValue(createAutonomousSystemFromDiscriminatorValue); }, "countryOrRegion": n => { ipAddress.countryOrRegion = n.getStringValue(); }, "hostingProvider": n => { ipAddress.hostingProvider = n.getStringValue(); }, "netblock": n => { ipAddress.netblock = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IpEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIpEntityMapping(ipEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(ipEntityMapping)), { "addressColumn": n => { ipEntityMapping.addressColumn = n.getStringValue(); }, "scopeColumn": n => { ipEntityMapping.scopeColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param IpEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIpEvidence(ipEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(ipEvidence)), { "countryLetterCode": n => { ipEvidence.countryLetterCode = n.getStringValue(); }, "ipAddress": n => { ipEvidence.ipAddress = n.getStringValue(); }, "location": n => { ipEvidence.location = n.getObjectValue(createGeoLocationFromDiscriminatorValue); }, "stream": n => { ipEvidence.stream = n.getObjectValue(createStreamFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IrmActivityAuditTrailRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIrmActivityAuditTrailRecord(irmActivityAuditTrailRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(irmActivityAuditTrailRecord));
}
/**
 * The deserialization information for the current model
 * @param IrmUserDefinedDetectionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIrmUserDefinedDetectionRecord(irmUserDefinedDetectionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(irmUserDefinedDetectionRecord));
}
/**
 * The deserialization information for the current model
 * @param IsolateDeviceAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIsolateDeviceAction(isolateDeviceAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDeviceAction(isolateDeviceAction)), { "isolationType": n => { isolateDeviceAction.isolationType = n.getEnumValue(IsolationTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param IsolateDeviceIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIsolateDeviceIncidentTaskResponseAction(isolateDeviceIncidentTaskResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIncidentTaskResponseAction(isolateDeviceIncidentTaskResponseAction)), { "isolationType": n => { isolateDeviceIncidentTaskResponseAction.isolationType = n.getEnumValue(IsolationTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param IsolateDeviceResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIsolateDeviceResponseAction(isolateDeviceResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(isolateDeviceResponseAction)), { "identifier": n => { isolateDeviceResponseAction.identifier = n.getCollectionOfEnumValues(DeviceIdEntityIdentifierObject); }, "isolationType": n => { isolateDeviceResponseAction.isolationType = n.getEnumValue(IsolationTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param JustifyAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoJustifyAction(justifyAction = {}) {
    return Object.assign({}, deserializeIntoInformationProtectionAction(justifyAction));
}
/**
 * The deserialization information for the current model
 * @param KaizalaAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKaizalaAuditRecord(kaizalaAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(kaizalaAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param KeyValuePair The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKeyValuePair(keyValuePair = {}) {
    return {
        "backingStoreEnabled": n => { keyValuePair.backingStoreEnabled = true; },
        "name": n => { keyValuePair.name = n.getStringValue(); },
        "@odata.type": n => { keyValuePair.odataType = n.getStringValue(); },
        "value": n => { keyValuePair.value = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param KubernetesClusterEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesClusterEvidence(kubernetesClusterEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesClusterEvidence)), { "cloudResource": n => { kubernetesClusterEvidence.cloudResource = n.getObjectValue(createAlertEvidenceFromDiscriminatorValue); }, "distribution": n => { kubernetesClusterEvidence.distribution = n.getStringValue(); }, "name": n => { kubernetesClusterEvidence.name = n.getStringValue(); }, "platform": n => { kubernetesClusterEvidence.platform = n.getEnumValue(KubernetesPlatformObject); }, "version": n => { kubernetesClusterEvidence.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesControllerEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesControllerEvidence(kubernetesControllerEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesControllerEvidence)), { "labels": n => { kubernetesControllerEvidence.labels = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "name": n => { kubernetesControllerEvidence.name = n.getStringValue(); }, "namespace": n => { kubernetesControllerEvidence.namespace = n.getObjectValue(createKubernetesNamespaceEvidenceFromDiscriminatorValue); }, "type": n => { kubernetesControllerEvidence.type = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesNamespaceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesNamespaceEvidence(kubernetesNamespaceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesNamespaceEvidence)), { "cluster": n => { kubernetesNamespaceEvidence.cluster = n.getObjectValue(createKubernetesClusterEvidenceFromDiscriminatorValue); }, "labels": n => { kubernetesNamespaceEvidence.labels = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "name": n => { kubernetesNamespaceEvidence.name = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesPodEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesPodEvidence(kubernetesPodEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesPodEvidence)), { "containers": n => { kubernetesPodEvidence.containers = n.getCollectionOfObjectValues(createContainerEvidenceFromDiscriminatorValue); }, "controller": n => { kubernetesPodEvidence.controller = n.getObjectValue(createKubernetesControllerEvidenceFromDiscriminatorValue); }, "ephemeralContainers": n => { kubernetesPodEvidence.ephemeralContainers = n.getCollectionOfObjectValues(createContainerEvidenceFromDiscriminatorValue); }, "initContainers": n => { kubernetesPodEvidence.initContainers = n.getCollectionOfObjectValues(createContainerEvidenceFromDiscriminatorValue); }, "labels": n => { kubernetesPodEvidence.labels = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "name": n => { kubernetesPodEvidence.name = n.getStringValue(); }, "namespace": n => { kubernetesPodEvidence.namespace = n.getObjectValue(createKubernetesNamespaceEvidenceFromDiscriminatorValue); }, "podIp": n => { kubernetesPodEvidence.podIp = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "serviceAccount": n => { kubernetesPodEvidence.serviceAccount = n.getObjectValue(createKubernetesServiceAccountEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesSecretEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesSecretEvidence(kubernetesSecretEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesSecretEvidence)), { "name": n => { kubernetesSecretEvidence.name = n.getStringValue(); }, "namespace": n => { kubernetesSecretEvidence.namespace = n.getObjectValue(createKubernetesNamespaceEvidenceFromDiscriminatorValue); }, "secretType": n => { kubernetesSecretEvidence.secretType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesServiceAccountEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesServiceAccountEvidence(kubernetesServiceAccountEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesServiceAccountEvidence)), { "name": n => { kubernetesServiceAccountEvidence.name = n.getStringValue(); }, "namespace": n => { kubernetesServiceAccountEvidence.namespace = n.getObjectValue(createKubernetesNamespaceEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesServiceEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesServiceEvidence(kubernetesServiceEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(kubernetesServiceEvidence)), { "clusterIP": n => { kubernetesServiceEvidence.clusterIP = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "externalIPs": n => { kubernetesServiceEvidence.externalIPs = n.getCollectionOfObjectValues(createIpEvidenceFromDiscriminatorValue); }, "labels": n => { kubernetesServiceEvidence.labels = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "name": n => { kubernetesServiceEvidence.name = n.getStringValue(); }, "namespace": n => { kubernetesServiceEvidence.namespace = n.getObjectValue(createKubernetesNamespaceEvidenceFromDiscriminatorValue); }, "selector": n => { kubernetesServiceEvidence.selector = n.getObjectValue(createDictionaryFromDiscriminatorValue); }, "servicePorts": n => { kubernetesServiceEvidence.servicePorts = n.getCollectionOfObjectValues(createKubernetesServicePortFromDiscriminatorValue); }, "serviceType": n => { kubernetesServiceEvidence.serviceType = n.getEnumValue(KubernetesServiceTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param KubernetesServicePort The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoKubernetesServicePort(kubernetesServicePort = {}) {
    return {
        "appProtocol": n => { kubernetesServicePort.appProtocol = n.getStringValue(); },
        "backingStoreEnabled": n => { kubernetesServicePort.backingStoreEnabled = true; },
        "name": n => { kubernetesServicePort.name = n.getStringValue(); },
        "nodePort": n => { kubernetesServicePort.nodePort = n.getNumberValue(); },
        "@odata.type": n => { kubernetesServicePort.odataType = n.getStringValue(); },
        "port": n => { kubernetesServicePort.port = n.getNumberValue(); },
        "protocol": n => { kubernetesServicePort.protocol = n.getEnumValue(ContainerPortProtocolObject); },
        "targetPort": n => { kubernetesServicePort.targetPort = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param LabelAnalyticsAggregateAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLabelAnalyticsAggregateAuditRecord(labelAnalyticsAggregateAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(labelAnalyticsAggregateAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param LabelContentExplorerAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLabelContentExplorerAuditRecord(labelContentExplorerAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(labelContentExplorerAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param LabelingOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLabelingOptions(labelingOptions = {}) {
    return {
        "assignmentMethod": n => { labelingOptions.assignmentMethod = n.getEnumValue(AssignmentMethodObject); },
        "backingStoreEnabled": n => { labelingOptions.backingStoreEnabled = true; },
        "downgradeJustification": n => { labelingOptions.downgradeJustification = n.getObjectValue(createDowngradeJustificationFromDiscriminatorValue); },
        "extendedProperties": n => { labelingOptions.extendedProperties = n.getCollectionOfObjectValues(createKeyValuePairFromDiscriminatorValue); },
        "labelId": n => { labelingOptions.labelId = n.getStringValue(); },
        "@odata.type": n => { labelingOptions.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param LabelsRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLabelsRoot(labelsRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(labelsRoot)), { "authorities": n => { labelsRoot.authorities = n.getCollectionOfObjectValues(createAuthorityTemplateFromDiscriminatorValue); }, "categories": n => { labelsRoot.categories = n.getCollectionOfObjectValues(createCategoryTemplateFromDiscriminatorValue); }, "citations": n => { labelsRoot.citations = n.getCollectionOfObjectValues(createCitationTemplateFromDiscriminatorValue); }, "departments": n => { labelsRoot.departments = n.getCollectionOfObjectValues(createDepartmentTemplateFromDiscriminatorValue); }, "filePlanReferences": n => { labelsRoot.filePlanReferences = n.getCollectionOfObjectValues(createFilePlanReferenceTemplateFromDiscriminatorValue); }, "retentionLabels": n => { labelsRoot.retentionLabels = n.getCollectionOfObjectValues(createRetentionLabelFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param LargeContentMetadataAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLargeContentMetadataAuditRecord(largeContentMetadataAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(largeContentMetadataAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param LoggedOnUser The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoLoggedOnUser(loggedOnUser = {}) {
    return {
        "accountName": n => { loggedOnUser.accountName = n.getStringValue(); },
        "backingStoreEnabled": n => { loggedOnUser.backingStoreEnabled = true; },
        "domainName": n => { loggedOnUser.domainName = n.getStringValue(); },
        "@odata.type": n => { loggedOnUser.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param M365ComplianceConnectorAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoM365ComplianceConnectorAuditRecord(m365ComplianceConnectorAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(m365ComplianceConnectorAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param M365daadAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoM365daadAuditRecord(m365daadAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(m365daadAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param M365odspAssetMetadataRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoM365odspAssetMetadataRecord(m365odspAssetMetadataRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(m365odspAssetMetadataRecord));
}
/**
 * The deserialization information for the current model
 * @param M365SearchSectionsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoM365SearchSectionsRecord(m365SearchSectionsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(m365SearchSectionsRecord));
}
/**
 * The deserialization information for the current model
 * @param MailboxConfigurationEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailboxConfigurationEvidence(mailboxConfigurationEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(mailboxConfigurationEvidence)), { "configurationId": n => { mailboxConfigurationEvidence.configurationId = n.getStringValue(); }, "configurationType": n => { mailboxConfigurationEvidence.configurationType = n.getEnumValue(MailboxConfigurationTypeObject); }, "displayName": n => { mailboxConfigurationEvidence.displayName = n.getStringValue(); }, "externalDirectoryObjectId": n => { mailboxConfigurationEvidence.externalDirectoryObjectId = n.getGuidValue(); }, "mailboxPrimaryAddress": n => { mailboxConfigurationEvidence.mailboxPrimaryAddress = n.getStringValue(); }, "upn": n => { mailboxConfigurationEvidence.upn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MailboxEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailboxEntityMapping(mailboxEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(mailboxEntityMapping)), { "primaryAddressColumn": n => { mailboxEntityMapping.primaryAddressColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MailboxEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailboxEvidence(mailboxEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(mailboxEvidence)), { "displayName": n => { mailboxEvidence.displayName = n.getStringValue(); }, "primaryAddress": n => { mailboxEvidence.primaryAddress = n.getStringValue(); }, "upn": n => { mailboxEvidence.upn = n.getStringValue(); }, "userAccount": n => { mailboxEvidence.userAccount = n.getObjectValue(createUserAccountFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param MailClusterEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailClusterEntityMapping(mailClusterEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(mailClusterEntityMapping)), { "queryColumn": n => { mailClusterEntityMapping.queryColumn = n.getStringValue(); }, "sourceColumn": n => { mailClusterEntityMapping.sourceColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MailClusterEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailClusterEvidence(mailClusterEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(mailClusterEvidence)), { "clusterBy": n => { mailClusterEvidence.clusterBy = n.getStringValue(); }, "clusterByValue": n => { mailClusterEvidence.clusterByValue = n.getStringValue(); }, "emailCount": n => { mailClusterEvidence.emailCount = n.getNumberValue(); }, "networkMessageIds": n => { mailClusterEvidence.networkMessageIds = n.getCollectionOfPrimitiveValues("string"); }, "query": n => { mailClusterEvidence.query = n.getStringValue(); }, "urn": n => { mailClusterEvidence.urn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MailMessageEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailMessageEntityMapping(mailMessageEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(mailMessageEntityMapping)), { "networkMessageIdColumn": n => { mailMessageEntityMapping.networkMessageIdColumn = n.getStringValue(); }, "recipientColumn": n => { mailMessageEntityMapping.recipientColumn = n.getStringValue(); }, "senderColumn": n => { mailMessageEntityMapping.senderColumn = n.getStringValue(); }, "subjectColumn": n => { mailMessageEntityMapping.subjectColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MailSubmissionData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMailSubmissionData(mailSubmissionData = {}) {
    return Object.assign({}, deserializeIntoAuditData(mailSubmissionData));
}
/**
 * The deserialization information for the current model
 * @param MalwareEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMalwareEvidence(malwareEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(malwareEvidence)), { "category": n => { malwareEvidence.category = n.getStringValue(); }, "files": n => { malwareEvidence.files = n.getCollectionOfObjectValues(createFileEvidenceFromDiscriminatorValue); }, "name": n => { malwareEvidence.name = n.getStringValue(); }, "processes": n => { malwareEvidence.processes = n.getCollectionOfObjectValues(createProcessEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ManagedServicesAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoManagedServicesAuditRecord(managedServicesAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(managedServicesAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ManagedTenantsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoManagedTenantsAuditRecord(managedTenantsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(managedTenantsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ManualAlert The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoManualAlert(manualAlert = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlert(manualAlert)), { "entityDefinitions": n => { manualAlert.entityDefinitions = n.getCollectionOfObjectValues(createEntityDefinitionInputFromDiscriminatorValue); }, "isExcludedFromCorrelation": n => { manualAlert.isExcludedFromCorrelation = n.getBooleanValue(); }, "linkToIncident": n => { manualAlert.linkToIncident = n.getNumberValue(); }, "sentinelWorkspace": n => { manualAlert.sentinelWorkspace = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param MapgAlertsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMapgAlertsAuditRecord(mapgAlertsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mapgAlertsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MapgOnboardAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMapgOnboardAuditRecord(mapgOnboardAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mapgOnboardAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MapgPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMapgPolicyAuditRecord(mapgPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mapgPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MapgRemediationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMapgRemediationAuditRecord(mapgRemediationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mapgRemediationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MarkUserAsCompromisedIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMarkUserAsCompromisedIncidentTaskResponseAction(markUserAsCompromisedIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(markUserAsCompromisedIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param MarkUserAsCompromisedResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMarkUserAsCompromisedResponseAction(markUserAsCompromisedResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(markUserAsCompromisedResponseAction)), { "identifier": n => { markUserAsCompromisedResponseAction.identifier = n.getCollectionOfEnumValues(MarkUserAsCompromisedEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param McasAlertsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMcasAlertsAuditRecord(mcasAlertsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mcasAlertsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MdaAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMdaAuditRecord(mdaAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mdaAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MdaDataSecuritySignalRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMdaDataSecuritySignalRecord(mdaDataSecuritySignalRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mdaDataSecuritySignalRecord));
}
/**
 * The deserialization information for the current model
 * @param MDASHAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMDASHAuditRecord(mDASHAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mDASHAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MdatpAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMdatpAuditRecord(mdatpAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mdatpAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MdcEventsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMdcEventsRecord(mdcEventsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mdcEventsRecord));
}
/**
 * The deserialization information for the current model
 * @param MdiAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMdiAuditRecord(mdiAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mdiAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MergeResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMergeResponse(mergeResponse = {}) {
    return {
        "backingStoreEnabled": n => { mergeResponse.backingStoreEnabled = true; },
        "@odata.type": n => { mergeResponse.odataType = n.getStringValue(); },
        "targetIncidentId": n => { mergeResponse.targetIncidentId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param MeshWorldsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMeshWorldsAuditRecord(meshWorldsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(meshWorldsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MetadataAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMetadataAction(metadataAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(metadataAction)), { "metadataToAdd": n => { metadataAction.metadataToAdd = n.getCollectionOfObjectValues(createKeyValuePairFromDiscriminatorValue); }, "metadataToRemove": n => { metadataAction.metadataToRemove = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param Microsoft365BackupBackupItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365BackupBackupItemAuditRecord(microsoft365BackupBackupItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365BackupBackupItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Microsoft365BackupBackupPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365BackupBackupPolicyAuditRecord(microsoft365BackupBackupPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365BackupBackupPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Microsoft365BackupGranularBrowseTaskAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365BackupGranularBrowseTaskAuditRecord(microsoft365BackupGranularBrowseTaskAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365BackupGranularBrowseTaskAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Microsoft365BackupRestoreItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365BackupRestoreItemAuditRecord(microsoft365BackupRestoreItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365BackupRestoreItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Microsoft365BackupRestoreTaskAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365BackupRestoreTaskAuditRecord(microsoft365BackupRestoreTaskAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365BackupRestoreTaskAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Microsoft365CopilotScheduledPromptAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoft365CopilotScheduledPromptAuditRecord(microsoft365CopilotScheduledPromptAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoft365CopilotScheduledPromptAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftDefenderExpertsXDRAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftDefenderExpertsXDRAuditRecord(microsoftDefenderExpertsXDRAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftDefenderExpertsXDRAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftFlowAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftFlowAuditRecord(microsoftFlowAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftFlowAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftFormsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftFormsAuditRecord(microsoftFormsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftFormsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftGraphDataConnectConsent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftGraphDataConnectConsent(microsoftGraphDataConnectConsent = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftGraphDataConnectConsent));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftGraphDataConnectOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftGraphDataConnectOperation(microsoftGraphDataConnectOperation = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftGraphDataConnectOperation));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewDataCatalogOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewDataCatalogOperationRecord(microsoftPurviewDataCatalogOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewDataCatalogOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewDataMapOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewDataMapOperationRecord(microsoftPurviewDataMapOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewDataMapOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewMetadataPolicyOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewMetadataPolicyOperationRecord(microsoftPurviewMetadataPolicyOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewMetadataPolicyOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewPolicyOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewPolicyOperationRecord(microsoftPurviewPolicyOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewPolicyOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewPrivacyAuditEvent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewPrivacyAuditEvent(microsoftPurviewPrivacyAuditEvent = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewPrivacyAuditEvent));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftPurviewUnifiedCatalogOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftPurviewUnifiedCatalogOperationRecord(microsoftPurviewUnifiedCatalogOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftPurviewUnifiedCatalogOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftStreamAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftStreamAuditRecord(microsoftStreamAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftStreamAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsAdminAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsAdminAuditRecord(microsoftTeamsAdminAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsAdminAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsAnalyticsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsAnalyticsAuditRecord(microsoftTeamsAnalyticsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsAnalyticsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsAuditRecord(microsoftTeamsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsDeviceAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsDeviceAuditRecord(microsoftTeamsDeviceAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsDeviceAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsRetentionLabelActionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsRetentionLabelActionAuditRecord(microsoftTeamsRetentionLabelActionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsRetentionLabelActionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsSensitivityLabelActionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsSensitivityLabelActionAuditRecord(microsoftTeamsSensitivityLabelActionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsSensitivityLabelActionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsShiftsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsShiftsAuditRecord(microsoftTeamsShiftsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsShiftsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MicrosoftTeamsUserConcernAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMicrosoftTeamsUserConcernAuditRecord(microsoftTeamsUserConcernAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(microsoftTeamsUserConcernAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MigrateSensorsResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMigrateSensorsResult(migrateSensorsResult = {}) {
    return {
        "backingStoreEnabled": n => { migrateSensorsResult.backingStoreEnabled = true; },
        "failedMigrationSensorIds": n => { migrateSensorsResult.failedMigrationSensorIds = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { migrateSensorsResult.odataType = n.getStringValue(); },
        "successfulMigrationSensorIds": n => { migrateSensorsResult.successfulMigrationSensorIds = n.getCollectionOfPrimitiveValues("string"); },
    };
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelExchangeItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelExchangeItemAuditRecord(mipAutoLabelExchangeItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelExchangeItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelProgressFeedbackAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelProgressFeedbackAuditRecord(mipAutoLabelProgressFeedbackAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelProgressFeedbackAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelSharePointItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelSharePointItemAuditRecord(mipAutoLabelSharePointItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelSharePointItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelSharePointPolicyLocationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelSharePointPolicyLocationAuditRecord(mipAutoLabelSharePointPolicyLocationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelSharePointPolicyLocationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelSimulationSharePointCompletionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelSimulationSharePointCompletionRecord(mipAutoLabelSimulationSharePointCompletionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelSimulationSharePointCompletionRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelSimulationSharePointProgressRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelSimulationSharePointProgressRecord(mipAutoLabelSimulationSharePointProgressRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelSimulationSharePointProgressRecord));
}
/**
 * The deserialization information for the current model
 * @param MipAutoLabelSimulationStatisticsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipAutoLabelSimulationStatisticsRecord(mipAutoLabelSimulationStatisticsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipAutoLabelSimulationStatisticsRecord));
}
/**
 * The deserialization information for the current model
 * @param MipExactDataMatchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipExactDataMatchAuditRecord(mipExactDataMatchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipExactDataMatchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipLabelAnalyticsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipLabelAnalyticsAuditRecord(mipLabelAnalyticsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipLabelAnalyticsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MipLabelAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMipLabelAuditRecord(mipLabelAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mipLabelAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MitreTactic The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMitreTactic(mitreTactic = {}) {
    return {
        "backingStoreEnabled": n => { mitreTactic.backingStoreEnabled = true; },
        "@odata.type": n => { mitreTactic.odataType = n.getStringValue(); },
        "tactic": n => { mitreTactic.tactic = n.getStringValue(); },
        "techniques": n => { mitreTactic.techniques = n.getCollectionOfObjectValues(createMitreTechniqueFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param MitreTechnique The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMitreTechnique(mitreTechnique = {}) {
    return {
        "backingStoreEnabled": n => { mitreTechnique.backingStoreEnabled = true; },
        "@odata.type": n => { mitreTechnique.odataType = n.getStringValue(); },
        "subTechniques": n => { mitreTechnique.subTechniques = n.getCollectionOfPrimitiveValues("string"); },
        "technique": n => { mitreTechnique.technique = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param MosAgentInfoRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMosAgentInfoRecord(mosAgentInfoRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mosAgentInfoRecord));
}
/**
 * The deserialization information for the current model
 * @param MosAgentInfoRecordV2 The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMosAgentInfoRecordV2(mosAgentInfoRecordV2 = {}) {
    return Object.assign({}, deserializeIntoAuditData(mosAgentInfoRecordV2));
}
/**
 * The deserialization information for the current model
 * @param MoveToDeletedItemsResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMoveToDeletedItemsResponseAction(moveToDeletedItemsResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(moveToDeletedItemsResponseAction)), { "identifier": n => { moveToDeletedItemsResponseAction.identifier = n.getCollectionOfEnumValues(EmailEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param MoveToInboxResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMoveToInboxResponseAction(moveToInboxResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(moveToInboxResponseAction)), { "identifier": n => { moveToInboxResponseAction.identifier = n.getCollectionOfEnumValues(EmailEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param MoveToJunkResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMoveToJunkResponseAction(moveToJunkResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(moveToJunkResponseAction)), { "identifier": n => { moveToJunkResponseAction.identifier = n.getCollectionOfEnumValues(EmailEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param Ms365dCustomDetectionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMs365dCustomDetectionAuditRecord(ms365dCustomDetectionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(ms365dCustomDetectionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Ms365dIncidentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMs365dIncidentAuditRecord(ms365dIncidentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(ms365dIncidentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Ms365dSuppressionRuleAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMs365dSuppressionRuleAuditRecord(ms365dSuppressionRuleAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(ms365dSuppressionRuleAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsdeCustomCollectionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsdeCustomCollectionAuditRecord(msdeCustomCollectionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msdeCustomCollectionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsdeGeneralSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsdeGeneralSettingsAuditRecord(msdeGeneralSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msdeGeneralSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsdeIndicatorsSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsdeIndicatorsSettingsAuditRecord(msdeIndicatorsSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msdeIndicatorsSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsdeResponseActionsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsdeResponseActionsAuditRecord(msdeResponseActionsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msdeResponseActionsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsdeRolesSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsdeRolesSettingsAuditRecord(msdeRolesSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msdeRolesSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MspVectorSearchContentMetadataAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMspVectorSearchContentMetadataAuditRecord(mspVectorSearchContentMetadataAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(mspVectorSearchContentMetadataAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MsticNationStateNotificationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMsticNationStateNotificationRecord(msticNationStateNotificationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(msticNationStateNotificationRecord));
}
/**
 * The deserialization information for the current model
 * @param MultiStageDispositionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMultiStageDispositionAuditRecord(multiStageDispositionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(multiStageDispositionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param MyAnalyticsSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoMyAnalyticsSettingsAuditRecord(myAnalyticsSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(myAnalyticsSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param NetworkAdapter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoNetworkAdapter(networkAdapter = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(networkAdapter)), { "isEnabled": n => { networkAdapter.isEnabled = n.getBooleanValue(); }, "name": n => { networkAdapter.name = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param NetworkConnectionEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoNetworkConnectionEvidence(networkConnectionEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(networkConnectionEvidence)), { "destinationAddress": n => { networkConnectionEvidence.destinationAddress = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "destinationPort": n => { networkConnectionEvidence.destinationPort = n.getNumberValue(); }, "protocol": n => { networkConnectionEvidence.protocol = n.getEnumValue(ProtocolTypeObject); }, "sourceAddress": n => { networkConnectionEvidence.sourceAddress = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "sourcePort": n => { networkConnectionEvidence.sourcePort = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param NicEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoNicEvidence(nicEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(nicEvidence)), { "ipAddress": n => { nicEvidence.ipAddress = n.getObjectValue(createIpEvidenceFromDiscriminatorValue); }, "macAddress": n => { nicEvidence.macAddress = n.getStringValue(); }, "vlans": n => { nicEvidence.vlans = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param NoisyAlertPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoNoisyAlertPolicyAuditRecord(noisyAlertPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(noisyAlertPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OAuthApplicationEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOAuthApplicationEntityMapping(oAuthApplicationEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(oAuthApplicationEntityMapping)), { "oAuthAppIdColumn": n => { oAuthApplicationEntityMapping.oAuthAppIdColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OauthApplicationEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOauthApplicationEvidence(oauthApplicationEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(oauthApplicationEvidence)), { "appId": n => { oauthApplicationEvidence.appId = n.getStringValue(); }, "displayName": n => { oauthApplicationEvidence.displayName = n.getStringValue(); }, "objectId": n => { oauthApplicationEvidence.objectId = n.getStringValue(); }, "publisher": n => { oauthApplicationEvidence.publisher = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OcrSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOcrSettings(ocrSettings = {}) {
    return {
        "backingStoreEnabled": n => { ocrSettings.backingStoreEnabled = true; },
        "isEnabled": n => { ocrSettings.isEnabled = n.getBooleanValue(); },
        "maxImageSize": n => { ocrSettings.maxImageSize = n.getNumberValue(); },
        "@odata.type": n => { ocrSettings.odataType = n.getStringValue(); },
        "timeout": n => { ocrSettings.timeout = n.getDurationValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param OfficeNativeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOfficeNativeAuditRecord(officeNativeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(officeNativeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OmePortalAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOmePortalAuditRecord(omePortalAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(omePortalAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OnDemandSharePointClassificationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOnDemandSharePointClassificationAuditRecord(onDemandSharePointClassificationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(onDemandSharePointClassificationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OneDriveAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOneDriveAuditRecord(oneDriveAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(oneDriveAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OnPremisesFileShareScannerDLPAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOnPremisesFileShareScannerDLPAuditRecord(onPremisesFileShareScannerDLPAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(onPremisesFileShareScannerDLPAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OnPremisesSharePointScannerDLPAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOnPremisesSharePointScannerDLPAuditRecord(onPremisesSharePointScannerDLPAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(onPremisesSharePointScannerDLPAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OrganizationalDataInM365AuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOrganizationalDataInM365AuditRecord(organizationalDataInM365AuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(organizationalDataInM365AuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OrganizationalScope The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOrganizationalScope(organizationalScope = {}) {
    return {
        "backingStoreEnabled": n => { organizationalScope.backingStoreEnabled = true; },
        "deviceGroups": n => { organizationalScope.deviceGroups = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { organizationalScope.odataType = n.getStringValue(); },
        "scopeNames": n => { organizationalScope.scopeNames = n.getCollectionOfPrimitiveValues("string"); },
        "scopeType": n => { organizationalScope.scopeType = n.getEnumValue(ScopeTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param OutlookCopilotAutomationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOutlookCopilotAutomationAuditRecord(outlookCopilotAutomationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(outlookCopilotAutomationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param OwaGetAccessTokenForResourceAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOwaGetAccessTokenForResourceAuditRecord(owaGetAccessTokenForResourceAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(owaGetAccessTokenForResourceAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param P4aiAssessmentCategoryRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoP4aiAssessmentCategoryRecord(p4aiAssessmentCategoryRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(p4aiAssessmentCategoryRecord));
}
/**
 * The deserialization information for the current model
 * @param P4aiAssessmentFabricScannerRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoP4aiAssessmentFabricScannerRecord(p4aiAssessmentFabricScannerRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(p4aiAssessmentFabricScannerRecord));
}
/**
 * The deserialization information for the current model
 * @param P4aiAssessmentLocationResultRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoP4aiAssessmentLocationResultRecord(p4aiAssessmentLocationResultRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(p4aiAssessmentLocationResultRecord));
}
/**
 * The deserialization information for the current model
 * @param P4aiAssessmentRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoP4aiAssessmentRecord(p4aiAssessmentRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(p4aiAssessmentRecord));
}
/**
 * The deserialization information for the current model
 * @param P4AIRiskScoreRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoP4AIRiskScoreRecord(p4AIRiskScoreRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(p4AIRiskScoreRecord));
}
/**
 * The deserialization information for the current model
 * @param PassiveDnsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPassiveDnsRecord(passiveDnsRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(passiveDnsRecord)), { "artifact": n => { passiveDnsRecord.artifact = n.getObjectValue(createArtifactFromDiscriminatorValue); }, "collectedDateTime": n => { passiveDnsRecord.collectedDateTime = n.getDateValue(); }, "firstSeenDateTime": n => { passiveDnsRecord.firstSeenDateTime = n.getDateValue(); }, "lastSeenDateTime": n => { passiveDnsRecord.lastSeenDateTime = n.getDateValue(); }, "parentHost": n => { passiveDnsRecord.parentHost = n.getObjectValue(createHostFromDiscriminatorValue); }, "recordType": n => { passiveDnsRecord.recordType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param PassiveDnsRecordCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPassiveDnsRecordCollectionResponse(passiveDnsRecordCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(passiveDnsRecordCollectionResponse)), { "value": n => { passiveDnsRecordCollectionResponse.value = n.getCollectionOfObjectValues(createPassiveDnsRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param PeopleAdminSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPeopleAdminSettingsAuditRecord(peopleAdminSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(peopleAdminSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PhysicalBadgingSignalAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPhysicalBadgingSignalAuditRecord(physicalBadgingSignalAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(physicalBadgingSignalAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlacesDirectoryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlacesDirectoryAuditRecord(placesDirectoryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(placesDirectoryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerChatMessageAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerChatMessageAuditRecord(plannerChatMessageAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerChatMessageAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerChatMessageListAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerChatMessageListAuditRecord(plannerChatMessageListAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerChatMessageListAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerCopyPlanAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerCopyPlanAuditRecord(plannerCopyPlanAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerCopyPlanAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerGoalAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerGoalAuditRecord(plannerGoalAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerGoalAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerGoalListAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerGoalListAuditRecord(plannerGoalListAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerGoalListAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerPlanAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerPlanAuditRecord(plannerPlanAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerPlanAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerPlanListAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerPlanListAuditRecord(plannerPlanListAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerPlanListAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerPlanSensitivityLabelAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerPlanSensitivityLabelAuditRecord(plannerPlanSensitivityLabelAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerPlanSensitivityLabelAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerRosterAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerRosterAuditRecord(plannerRosterAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerRosterAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerRosterSensitivityLabelAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerRosterSensitivityLabelAuditRecord(plannerRosterSensitivityLabelAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerRosterSensitivityLabelAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerTaskAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerTaskAuditRecord(plannerTaskAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerTaskAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerTaskListAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerTaskListAuditRecord(plannerTaskListAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerTaskListAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PlannerTenantSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPlannerTenantSettingsAuditRecord(plannerTenantSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(plannerTenantSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PolicyBase The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicyBase(policyBase = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(policyBase)), { "createdBy": n => { policyBase.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { policyBase.createdDateTime = n.getDateValue(); }, "description": n => { policyBase.description = n.getStringValue(); }, "displayName": n => { policyBase.displayName = n.getStringValue(); }, "lastModifiedBy": n => { policyBase.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { policyBase.lastModifiedDateTime = n.getDateValue(); }, "status": n => { policyBase.status = n.getEnumValue(PolicyStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param PolicyConfigChangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPolicyConfigChangeAuditRecord(policyConfigChangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(policyConfigChangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerAppsAuditAppRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerAppsAuditAppRecord(powerAppsAuditAppRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerAppsAuditAppRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerAppsAuditPlanRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerAppsAuditPlanRecord(powerAppsAuditPlanRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerAppsAuditPlanRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerAppsAuditResourceRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerAppsAuditResourceRecord(powerAppsAuditResourceRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerAppsAuditResourceRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerBIAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerBIAuditRecord(powerBIAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerBIAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerBIDlpAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerBIDlpAuditRecord(powerBIDlpAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerBIDlpAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPagesSiteAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPagesSiteAuditRecord(powerPagesSiteAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPagesSiteAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformAdminDlpAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformAdminDlpAuditRecord(powerPlatformAdminDlpAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformAdminDlpAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformAdminEnvironmentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformAdminEnvironmentAuditRecord(powerPlatformAdminEnvironmentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformAdminEnvironmentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformAdministratorActivityRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformAdministratorActivityRecord(powerPlatformAdministratorActivityRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformAdministratorActivityRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformLockboxResourceAccessRequestAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformLockboxResourceAccessRequestAuditRecord(powerPlatformLockboxResourceAccessRequestAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformLockboxResourceAccessRequestAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformLockboxResourceCommandAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformLockboxResourceCommandAuditRecord(powerPlatformLockboxResourceCommandAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformLockboxResourceCommandAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformServiceActivityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformServiceActivityAuditRecord(powerPlatformServiceActivityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformServiceActivityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PowerPlatformTenantIsolationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPowerPlatformTenantIsolationRecord(powerPlatformTenantIsolationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(powerPlatformTenantIsolationRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyDataMatchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyDataMatchAuditRecord(privacyDataMatchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyDataMatchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyDataMinimizationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyDataMinimizationRecord(privacyDataMinimizationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyDataMinimizationRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyDigestEmailRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyDigestEmailRecord(privacyDigestEmailRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyDigestEmailRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyOpenAccessAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyOpenAccessAuditRecord(privacyOpenAccessAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyOpenAccessAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyPortalAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyPortalAuditRecord(privacyPortalAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyPortalAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyRemediationActionRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyRemediationActionRecord(privacyRemediationActionRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyRemediationActionRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivacyRemediationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivacyRemediationRecord(privacyRemediationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privacyRemediationRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivaPrivacyAssessmentOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivaPrivacyAssessmentOperationRecord(privaPrivacyAssessmentOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privaPrivacyAssessmentOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param PrivaPrivacyConsentOperationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPrivaPrivacyConsentOperationRecord(privaPrivacyConsentOperationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(privaPrivacyConsentOperationRecord));
}
/**
 * The deserialization information for the current model
 * @param ProcessEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProcessEntityMapping(processEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(processEntityMapping)), { "sha1Column": n => { processEntityMapping.sha1Column = n.getStringValue(); }, "sha256Column": n => { processEntityMapping.sha256Column = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ProcessEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProcessEvidence(processEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(processEvidence)), { "detectionStatus": n => { processEvidence.detectionStatus = n.getEnumValue(DetectionStatusObject); }, "imageFile": n => { processEvidence.imageFile = n.getObjectValue(createFileDetailsFromDiscriminatorValue); }, "mdeDeviceId": n => { processEvidence.mdeDeviceId = n.getStringValue(); }, "parentProcessCreationDateTime": n => { processEvidence.parentProcessCreationDateTime = n.getDateValue(); }, "parentProcessId": n => { processEvidence.parentProcessId = n.getNumberValue(); }, "parentProcessImageFile": n => { processEvidence.parentProcessImageFile = n.getObjectValue(createFileDetailsFromDiscriminatorValue); }, "processCommandLine": n => { processEvidence.processCommandLine = n.getStringValue(); }, "processCreationDateTime": n => { processEvidence.processCreationDateTime = n.getDateValue(); }, "processId": n => { processEvidence.processId = n.getNumberValue(); }, "userAccount": n => { processEvidence.userAccount = n.getObjectValue(createUserAccountFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ProjectAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectAuditRecord(projectAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebAssignedToMeSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebAssignedToMeSettingsAuditRecord(projectForTheWebAssignedToMeSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebAssignedToMeSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebProjectAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebProjectAuditRecord(projectForTheWebProjectAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebProjectAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebProjectSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebProjectSettingsAuditRecord(projectForTheWebProjectSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebProjectSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebRoadmapAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebRoadmapAuditRecord(projectForTheWebRoadmapAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebRoadmapAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebRoadmapItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebRoadmapItemAuditRecord(projectForTheWebRoadmapItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebRoadmapItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebRoadmapSettingsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebRoadmapSettingsAuditRecord(projectForTheWebRoadmapSettingsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebRoadmapSettingsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProjectForTheWebTaskAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProjectForTheWebTaskAuditRecord(projectForTheWebTaskAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(projectForTheWebTaskAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ProtectAdhocAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProtectAdhocAction(protectAdhocAction = {}) {
    return Object.assign({}, deserializeIntoInformationProtectionAction(protectAdhocAction));
}
/**
 * The deserialization information for the current model
 * @param ProtectByTemplateAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProtectByTemplateAction(protectByTemplateAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(protectByTemplateAction)), { "templateId": n => { protectByTemplateAction.templateId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ProtectDoNotForwardAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProtectDoNotForwardAction(protectDoNotForwardAction = {}) {
    return Object.assign({}, deserializeIntoInformationProtectionAction(protectDoNotForwardAction));
}
/**
 * The deserialization information for the current model
 * @param PublicFolderAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPublicFolderAuditRecord(publicFolderAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(publicFolderAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param PurviewInsiderRiskAlertsRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPurviewInsiderRiskAlertsRecord(purviewInsiderRiskAlertsRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(purviewInsiderRiskAlertsRecord));
}
/**
 * The deserialization information for the current model
 * @param PurviewInsiderRiskCasesRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPurviewInsiderRiskCasesRecord(purviewInsiderRiskCasesRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(purviewInsiderRiskCasesRecord));
}
/**
 * The deserialization information for the current model
 * @param PurviewMCRecommendationRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPurviewMCRecommendationRecord(purviewMCRecommendationRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(purviewMCRecommendationRecord));
}
/**
 * The deserialization information for the current model
 * @param PurviewPostureAgentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPurviewPostureAgentAuditRecord(purviewPostureAgentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(purviewPostureAgentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param QuarantineAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQuarantineAuditRecord(quarantineAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(quarantineAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param QueryCondition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoQueryCondition(queryCondition = {}) {
    return {
        "backingStoreEnabled": n => { queryCondition.backingStoreEnabled = true; },
        "lastModifiedDateTime": n => { queryCondition.lastModifiedDateTime = n.getDateValue(); },
        "@odata.type": n => { queryCondition.odataType = n.getStringValue(); },
        "queryText": n => { queryCondition.queryText = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RecommendedHuntingQuery The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecommendedHuntingQuery(recommendedHuntingQuery = {}) {
    return {
        "backingStoreEnabled": n => { recommendedHuntingQuery.backingStoreEnabled = true; },
        "kqlText": n => { recommendedHuntingQuery.kqlText = n.getStringValue(); },
        "@odata.type": n => { recommendedHuntingQuery.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RecommendLabelAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecommendLabelAction(recommendLabelAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(recommendLabelAction)), { "actions": n => { recommendLabelAction.actions = n.getCollectionOfObjectValues(createInformationProtectionActionFromDiscriminatorValue); }, "actionSource": n => { recommendLabelAction.actionSource = n.getEnumValue(ActionSourceObject); }, "responsibleSensitiveTypeIds": n => { recommendLabelAction.responsibleSensitiveTypeIds = n.getCollectionOfPrimitiveValues("string"); }, "sensitivityLabelId": n => { recommendLabelAction.sensitivityLabelId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RecordsManagementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRecordsManagementAuditRecord(recordsManagementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(recordsManagementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param RedundancyDetectionSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRedundancyDetectionSettings(redundancyDetectionSettings = {}) {
    return {
        "backingStoreEnabled": n => { redundancyDetectionSettings.backingStoreEnabled = true; },
        "isEnabled": n => { redundancyDetectionSettings.isEnabled = n.getBooleanValue(); },
        "maxWords": n => { redundancyDetectionSettings.maxWords = n.getNumberValue(); },
        "minWords": n => { redundancyDetectionSettings.minWords = n.getNumberValue(); },
        "@odata.type": n => { redundancyDetectionSettings.odataType = n.getStringValue(); },
        "similarityThreshold": n => { redundancyDetectionSettings.similarityThreshold = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RegistryKeyEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRegistryKeyEvidence(registryKeyEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(registryKeyEvidence)), { "registryHive": n => { registryKeyEvidence.registryHive = n.getStringValue(); }, "registryKey": n => { registryKeyEvidence.registryKey = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RegistryValueEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRegistryValueEntityMapping(registryValueEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(registryValueEntityMapping)), { "keyColumn": n => { registryValueEntityMapping.keyColumn = n.getStringValue(); }, "valueNameColumn": n => { registryValueEntityMapping.valueNameColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RegistryValueEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRegistryValueEvidence(registryValueEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(registryValueEvidence)), { "mdeDeviceId": n => { registryValueEvidence.mdeDeviceId = n.getStringValue(); }, "registryHive": n => { registryValueEvidence.registryHive = n.getStringValue(); }, "registryKey": n => { registryValueEvidence.registryKey = n.getStringValue(); }, "registryValue": n => { registryValueEvidence.registryValue = n.getStringValue(); }, "registryValueName": n => { registryValueEvidence.registryValueName = n.getStringValue(); }, "registryValueType": n => { registryValueEvidence.registryValueType = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RemoveContentFooterAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemoveContentFooterAction(removeContentFooterAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(removeContentFooterAction)), { "uiElementNames": n => { removeContentFooterAction.uiElementNames = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param RemoveContentHeaderAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemoveContentHeaderAction(removeContentHeaderAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(removeContentHeaderAction)), { "uiElementNames": n => { removeContentHeaderAction.uiElementNames = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param RemoveProtectionAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemoveProtectionAction(removeProtectionAction = {}) {
    return Object.assign({}, deserializeIntoInformationProtectionAction(removeProtectionAction));
}
/**
 * The deserialization information for the current model
 * @param RemoveWatermarkAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemoveWatermarkAction(removeWatermarkAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoInformationProtectionAction(removeWatermarkAction)), { "uiElementNames": n => { removeWatermarkAction.uiElementNames = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param ReportFileMetadata The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReportFileMetadata(reportFileMetadata = {}) {
    return {
        "backingStoreEnabled": n => { reportFileMetadata.backingStoreEnabled = true; },
        "downloadUrl": n => { reportFileMetadata.downloadUrl = n.getStringValue(); },
        "fileName": n => { reportFileMetadata.fileName = n.getStringValue(); },
        "@odata.type": n => { reportFileMetadata.odataType = n.getStringValue(); },
        "size": n => { reportFileMetadata.size = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ReportSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReportSubmission(reportSubmission = {}) {
    return Object.assign({}, deserializeIntoAuditData(reportSubmission));
}
/**
 * The deserialization information for the current model
 * @param ReportSubmissionResultDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReportSubmissionResultDetail(reportSubmissionResultDetail = {}) {
    return Object.assign({}, deserializeIntoAuditData(reportSubmissionResultDetail));
}
/**
 * The deserialization information for the current model
 * @param RequireSignInIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRequireSignInIncidentTaskResponseAction(requireSignInIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(requireSignInIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param ResourceAccessEvent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoResourceAccessEvent(resourceAccessEvent = {}) {
    return {
        "accessDateTime": n => { resourceAccessEvent.accessDateTime = n.getDateValue(); },
        "accountId": n => { resourceAccessEvent.accountId = n.getStringValue(); },
        "backingStoreEnabled": n => { resourceAccessEvent.backingStoreEnabled = true; },
        "ipAddress": n => { resourceAccessEvent.ipAddress = n.getStringValue(); },
        "@odata.type": n => { resourceAccessEvent.odataType = n.getStringValue(); },
        "resourceIdentifier": n => { resourceAccessEvent.resourceIdentifier = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoResponseAction(responseAction = {}) {
    return {
        "backingStoreEnabled": n => { responseAction.backingStoreEnabled = true; },
        "@odata.type": n => { responseAction.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RestrictAppExecutionIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRestrictAppExecutionIncidentTaskResponseAction(restrictAppExecutionIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(restrictAppExecutionIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param RestrictAppExecutionResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRestrictAppExecutionResponseAction(restrictAppExecutionResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(restrictAppExecutionResponseAction)), { "identifier": n => { restrictAppExecutionResponseAction.identifier = n.getCollectionOfEnumValues(DeviceIdEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param RestrictedModeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRestrictedModeAuditRecord(restrictedModeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(restrictedModeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param RetentionDuration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionDuration(retentionDuration = {}) {
    return {
        "backingStoreEnabled": n => { retentionDuration.backingStoreEnabled = true; },
        "@odata.type": n => { retentionDuration.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RetentionDurationForever The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionDurationForever(retentionDurationForever = {}) {
    return Object.assign({}, deserializeIntoRetentionDuration(retentionDurationForever));
}
/**
 * The deserialization information for the current model
 * @param RetentionDurationInDays The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionDurationInDays(retentionDurationInDays = {}) {
    return Object.assign(Object.assign({}, deserializeIntoRetentionDuration(retentionDurationInDays)), { "days": n => { retentionDurationInDays.days = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionEvent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionEvent(retentionEvent = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(retentionEvent)), { "createdBy": n => { retentionEvent.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { retentionEvent.createdDateTime = n.getDateValue(); }, "description": n => { retentionEvent.description = n.getStringValue(); }, "displayName": n => { retentionEvent.displayName = n.getStringValue(); }, "eventPropagationResults": n => { retentionEvent.eventPropagationResults = n.getCollectionOfObjectValues(createEventPropagationResultFromDiscriminatorValue); }, "eventQueries": n => { retentionEvent.eventQueries = n.getCollectionOfObjectValues(createEventQueryFromDiscriminatorValue); }, "eventStatus": n => { retentionEvent.eventStatus = n.getObjectValue(createRetentionEventStatusFromDiscriminatorValue); }, "eventTriggerDateTime": n => { retentionEvent.eventTriggerDateTime = n.getDateValue(); }, "lastModifiedBy": n => { retentionEvent.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { retentionEvent.lastModifiedDateTime = n.getDateValue(); }, "lastStatusUpdateDateTime": n => { retentionEvent.lastStatusUpdateDateTime = n.getDateValue(); }, "retentionEventType": n => { retentionEvent.retentionEventType = n.getObjectValue(createRetentionEventTypeFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionEventCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionEventCollectionResponse(retentionEventCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(retentionEventCollectionResponse)), { "value": n => { retentionEventCollectionResponse.value = n.getCollectionOfObjectValues(createRetentionEventFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionEventStatus The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionEventStatus(retentionEventStatus = {}) {
    return {
        "backingStoreEnabled": n => { retentionEventStatus.backingStoreEnabled = true; },
        "error": n => { retentionEventStatus.errorEscaped = n.getObjectValue(createPublicErrorFromDiscriminatorValue); },
        "@odata.type": n => { retentionEventStatus.odataType = n.getStringValue(); },
        "status": n => { retentionEventStatus.status = n.getEnumValue(EventStatusTypeObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param RetentionEventType The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionEventType(retentionEventType = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(retentionEventType)), { "createdBy": n => { retentionEventType.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { retentionEventType.createdDateTime = n.getDateValue(); }, "description": n => { retentionEventType.description = n.getStringValue(); }, "displayName": n => { retentionEventType.displayName = n.getStringValue(); }, "lastModifiedBy": n => { retentionEventType.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { retentionEventType.lastModifiedDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionEventTypeCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionEventTypeCollectionResponse(retentionEventTypeCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(retentionEventTypeCollectionResponse)), { "value": n => { retentionEventTypeCollectionResponse.value = n.getCollectionOfObjectValues(createRetentionEventTypeFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionLabel The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionLabel(retentionLabel = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(retentionLabel)), { "actionAfterRetentionPeriod": n => { retentionLabel.actionAfterRetentionPeriod = n.getEnumValue(ActionAfterRetentionPeriodObject); }, "behaviorDuringRetentionPeriod": n => { retentionLabel.behaviorDuringRetentionPeriod = n.getEnumValue(BehaviorDuringRetentionPeriodObject); }, "createdBy": n => { retentionLabel.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { retentionLabel.createdDateTime = n.getDateValue(); }, "defaultRecordBehavior": n => { retentionLabel.defaultRecordBehavior = n.getEnumValue(DefaultRecordBehaviorObject); }, "descriptionForAdmins": n => { retentionLabel.descriptionForAdmins = n.getStringValue(); }, "descriptionForUsers": n => { retentionLabel.descriptionForUsers = n.getStringValue(); }, "descriptors": n => { retentionLabel.descriptors = n.getObjectValue(createFilePlanDescriptorFromDiscriminatorValue); }, "displayName": n => { retentionLabel.displayName = n.getStringValue(); }, "dispositionReviewStages": n => { retentionLabel.dispositionReviewStages = n.getCollectionOfObjectValues(createDispositionReviewStageFromDiscriminatorValue); }, "isInUse": n => { retentionLabel.isInUse = n.getBooleanValue(); }, "labelToBeApplied": n => { retentionLabel.labelToBeApplied = n.getStringValue(); }, "lastModifiedBy": n => { retentionLabel.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { retentionLabel.lastModifiedDateTime = n.getDateValue(); }, "retentionDuration": n => { retentionLabel.retentionDuration = n.getObjectValue(createRetentionDurationFromDiscriminatorValue); }, "retentionEventType": n => { retentionLabel.retentionEventType = n.getObjectValue(createRetentionEventTypeFromDiscriminatorValue); }, "retentionTrigger": n => { retentionLabel.retentionTrigger = n.getEnumValue(RetentionTriggerObject); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionLabelCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionLabelCollectionResponse(retentionLabelCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(retentionLabelCollectionResponse)), { "value": n => { retentionLabelCollectionResponse.value = n.getCollectionOfObjectValues(createRetentionLabelFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RetentionPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRetentionPolicyAuditRecord(retentionPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(retentionPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param RtiOperationsAgentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRtiOperationsAgentAuditRecord(rtiOperationsAgentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(rtiOperationsAgentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param RuleSchedule The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRuleSchedule(ruleSchedule = {}) {
    return {
        "backingStoreEnabled": n => { ruleSchedule.backingStoreEnabled = true; },
        "frequency": n => { ruleSchedule.frequency = n.getDurationValue(); },
        "nextRunDateTime": n => { ruleSchedule.nextRunDateTime = n.getDateValue(); },
        "@odata.type": n => { ruleSchedule.odataType = n.getStringValue(); },
        "period": n => { ruleSchedule.period = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RulesRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRulesRoot(rulesRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(rulesRoot)), { "detectionRules": n => { rulesRoot.detectionRules = n.getCollectionOfObjectValues(createDetectionRuleFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RunAntivirusScanIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRunAntivirusScanIncidentTaskResponseAction(runAntivirusScanIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(runAntivirusScanIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param RunAntivirusScanResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRunAntivirusScanResponseAction(runAntivirusScanResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(runAntivirusScanResponseAction)), { "identifier": n => { runAntivirusScanResponseAction.identifier = n.getCollectionOfEnumValues(DeviceIdEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param RunDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRunDetails(runDetails = {}) {
    return {
        "backingStoreEnabled": n => { runDetails.backingStoreEnabled = true; },
        "errorCode": n => { runDetails.errorCode = n.getEnumValue(HuntingRuleErrorCodeObject); },
        "failureReason": n => { runDetails.failureReason = n.getStringValue(); },
        "lastRunDateTime": n => { runDetails.lastRunDateTime = n.getDateValue(); },
        "@odata.type": n => { runDetails.odataType = n.getStringValue(); },
        "status": n => { runDetails.status = n.getEnumValue(HuntingRuleRunStatusObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param SasTokenEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSasTokenEvidence(sasTokenEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(sasTokenEvidence)), { "allowedIpAddresses": n => { sasTokenEvidence.allowedIpAddresses = n.getStringValue(); }, "allowedResourceTypes": n => { sasTokenEvidence.allowedResourceTypes = n.getCollectionOfPrimitiveValues("string"); }, "allowedServices": n => { sasTokenEvidence.allowedServices = n.getCollectionOfPrimitiveValues("string"); }, "expiryDateTime": n => { sasTokenEvidence.expiryDateTime = n.getDateValue(); }, "permissions": n => { sasTokenEvidence.permissions = n.getCollectionOfPrimitiveValues("string"); }, "protocol": n => { sasTokenEvidence.protocol = n.getStringValue(); }, "signatureHash": n => { sasTokenEvidence.signatureHash = n.getStringValue(); }, "signedWith": n => { sasTokenEvidence.signedWith = n.getStringValue(); }, "startDateTime": n => { sasTokenEvidence.startDateTime = n.getDateValue(); }, "storageResource": n => { sasTokenEvidence.storageResource = n.getObjectValue(createAzureResourceEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SbpConfigurationEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSbpConfigurationEventRecord(sbpConfigurationEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sbpConfigurationEventRecord));
}
/**
 * The deserialization information for the current model
 * @param SbpUsageEventRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSbpUsageEventRecord(sbpUsageEventRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sbpUsageEventRecord));
}
/**
 * The deserialization information for the current model
 * @param ScoreEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoScoreEvidence(scoreEvidence = {}) {
    return Object.assign({}, deserializeIntoAuditData(scoreEvidence));
}
/**
 * The deserialization information for the current model
 * @param ScorePlatformGenericAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoScorePlatformGenericAuditRecord(scorePlatformGenericAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(scorePlatformGenericAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ScriptRunAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoScriptRunAuditRecord(scriptRunAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(scriptRunAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Search The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSearch(search = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(search)), { "contentQuery": n => { search.contentQuery = n.getStringValue(); }, "createdBy": n => { search.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "createdDateTime": n => { search.createdDateTime = n.getDateValue(); }, "description": n => { search.description = n.getStringValue(); }, "displayName": n => { search.displayName = n.getStringValue(); }, "lastModifiedBy": n => { search.lastModifiedBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "lastModifiedDateTime": n => { search.lastModifiedDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SearchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSearchAuditRecord(searchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(searchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Security The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurity(security = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(security)), { "informationProtection": n => { security.informationProtection = n.getObjectValue(createInformationProtectionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SecurityComplianceAlertRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityComplianceAlertRecord(securityComplianceAlertRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityComplianceAlertRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityComplianceCenterEOPCmdletAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityComplianceCenterEOPCmdletAuditRecord(securityComplianceCenterEOPCmdletAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityComplianceCenterEOPCmdletAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityComplianceInsightsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityComplianceInsightsAuditRecord(securityComplianceInsightsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityComplianceInsightsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityComplianceRBACAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityComplianceRBACAuditRecord(securityComplianceRBACAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityComplianceRBACAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityComplianceUserChangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityComplianceUserChangeAuditRecord(securityComplianceUserChangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityComplianceUserChangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityCopilotIdentityManagementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityCopilotIdentityManagementAuditRecord(securityCopilotIdentityManagementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityCopilotIdentityManagementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityDevelopmentLifecycleAILogAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityDevelopmentLifecycleAILogAuditRecord(securityDevelopmentLifecycleAILogAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(securityDevelopmentLifecycleAILogAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SecurityGroupEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityGroupEntityMapping(securityGroupEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(securityGroupEntityMapping)), { "distinguishedNameColumn": n => { securityGroupEntityMapping.distinguishedNameColumn = n.getStringValue(); }, "objectIdColumn": n => { securityGroupEntityMapping.objectIdColumn = n.getStringValue(); }, "sidColumn": n => { securityGroupEntityMapping.sidColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SecurityGroupEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityGroupEvidence(securityGroupEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(securityGroupEvidence)), { "activeDirectoryObjectGuid": n => { securityGroupEvidence.activeDirectoryObjectGuid = n.getGuidValue(); }, "displayName": n => { securityGroupEvidence.displayName = n.getStringValue(); }, "distinguishedName": n => { securityGroupEvidence.distinguishedName = n.getStringValue(); }, "friendlyName": n => { securityGroupEvidence.friendlyName = n.getStringValue(); }, "securityGroupId": n => { securityGroupEvidence.securityGroupId = n.getStringValue(); }, "sid": n => { securityGroupEvidence.sid = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SensitiveInfoRemediationAgentDataRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitiveInfoRemediationAgentDataRecord(sensitiveInfoRemediationAgentDataRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sensitiveInfoRemediationAgentDataRecord));
}
/**
 * The deserialization information for the current model
 * @param SensitivityLabel The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitivityLabel(sensitivityLabel = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sensitivityLabel)), { "color": n => { sensitivityLabel.color = n.getStringValue(); }, "contentFormats": n => { sensitivityLabel.contentFormats = n.getCollectionOfPrimitiveValues("string"); }, "description": n => { sensitivityLabel.description = n.getStringValue(); }, "hasProtection": n => { sensitivityLabel.hasProtection = n.getBooleanValue(); }, "isActive": n => { sensitivityLabel.isActive = n.getBooleanValue(); }, "isAppliable": n => { sensitivityLabel.isAppliable = n.getBooleanValue(); }, "name": n => { sensitivityLabel.name = n.getStringValue(); }, "parent": n => { sensitivityLabel.parent = n.getObjectValue(createSensitivityLabelFromDiscriminatorValue); }, "sensitivity": n => { sensitivityLabel.sensitivity = n.getNumberValue(); }, "tooltip": n => { sensitivityLabel.tooltip = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SensitivityLabelActionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitivityLabelActionAuditRecord(sensitivityLabelActionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sensitivityLabelActionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SensitivityLabelCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitivityLabelCollectionResponse(sensitivityLabelCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sensitivityLabelCollectionResponse)), { "value": n => { sensitivityLabelCollectionResponse.value = n.getCollectionOfObjectValues(createSensitivityLabelFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SensitivityLabeledFileActionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitivityLabeledFileActionAuditRecord(sensitivityLabeledFileActionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sensitivityLabeledFileActionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SensitivityLabelPolicyMatchAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitivityLabelPolicyMatchAuditRecord(sensitivityLabelPolicyMatchAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sensitivityLabelPolicyMatchAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Sensor The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensor(sensor = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sensor)), { "createdDateTime": n => { sensor.createdDateTime = n.getDateValue(); }, "deploymentStatus": n => { sensor.deploymentStatus = n.getEnumValue(DeploymentStatusObject); }, "displayName": n => { sensor.displayName = n.getStringValue(); }, "domainName": n => { sensor.domainName = n.getStringValue(); }, "healthIssues": n => { sensor.healthIssues = n.getCollectionOfObjectValues(createHealthIssueFromDiscriminatorValue); }, "healthStatus": n => { sensor.healthStatus = n.getEnumValue(SensorHealthStatusObject); }, "migrationState": n => { sensor.migrationState = n.getEnumValue(MigrationStateObject); }, "openHealthIssuesCount": n => { sensor.openHealthIssuesCount = n.getNumberValue(); }, "sensorType": n => { sensor.sensorType = n.getEnumValue(SensorTypeObject); }, "serviceStatus": n => { sensor.serviceStatus = n.getEnumValue(ServiceStatusObject); }, "settings": n => { sensor.settings = n.getObjectValue(createSensorSettingsFromDiscriminatorValue); }, "version": n => { sensor.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SensorCandidate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorCandidate(sensorCandidate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sensorCandidate)), { "computerDnsName": n => { sensorCandidate.computerDnsName = n.getStringValue(); }, "domainName": n => { sensorCandidate.domainName = n.getStringValue(); }, "lastSeenDateTime": n => { sensorCandidate.lastSeenDateTime = n.getDateValue(); }, "senseClientVersion": n => { sensorCandidate.senseClientVersion = n.getStringValue(); }, "sensorTypes": n => { sensorCandidate.sensorTypes = n.getCollectionOfEnumValues(DeviceTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param SensorCandidateActivationConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorCandidateActivationConfiguration(sensorCandidateActivationConfiguration = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sensorCandidateActivationConfiguration)), { "activationMode": n => { sensorCandidateActivationConfiguration.activationMode = n.getEnumValue(SensorCandidateActivationModeObject); } });
}
/**
 * The deserialization information for the current model
 * @param SensorCandidateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorCandidateCollectionResponse(sensorCandidateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sensorCandidateCollectionResponse)), { "value": n => { sensorCandidateCollectionResponse.value = n.getCollectionOfObjectValues(createSensorCandidateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SensorCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorCollectionResponse(sensorCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sensorCollectionResponse)), { "value": n => { sensorCollectionResponse.value = n.getCollectionOfObjectValues(createSensorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SensorDeploymentPackage The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorDeploymentPackage(sensorDeploymentPackage = {}) {
    return {
        "backingStoreEnabled": n => { sensorDeploymentPackage.backingStoreEnabled = true; },
        "downloadUrl": n => { sensorDeploymentPackage.downloadUrl = n.getStringValue(); },
        "@odata.type": n => { sensorDeploymentPackage.odataType = n.getStringValue(); },
        "version": n => { sensorDeploymentPackage.version = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SensorMigration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorMigration(sensorMigration = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sensorMigration)), { "createdDateTime": n => { sensorMigration.createdDateTime = n.getDateValue(); }, "displayName": n => { sensorMigration.displayName = n.getStringValue(); }, "domainName": n => { sensorMigration.domainName = n.getStringValue(); }, "healthStatus": n => { sensorMigration.healthStatus = n.getEnumValue(SensorHealthStatusObject); }, "migrationState": n => { sensorMigration.migrationState = n.getEnumValue(MigrationStateObject); }, "sensorType": n => { sensorMigration.sensorType = n.getEnumValue(SensorTypeObject); }, "serviceStatus": n => { sensorMigration.serviceStatus = n.getEnumValue(ServiceStatusObject); }, "version": n => { sensorMigration.version = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SensorMigrationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorMigrationCollectionResponse(sensorMigrationCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sensorMigrationCollectionResponse)), { "value": n => { sensorMigrationCollectionResponse.value = n.getCollectionOfObjectValues(createSensorMigrationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SensorSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensorSettings(sensorSettings = {}) {
    return {
        "backingStoreEnabled": n => { sensorSettings.backingStoreEnabled = true; },
        "description": n => { sensorSettings.description = n.getStringValue(); },
        "domainControllerDnsNames": n => { sensorSettings.domainControllerDnsNames = n.getCollectionOfPrimitiveValues("string"); },
        "isDelayedDeploymentEnabled": n => { sensorSettings.isDelayedDeploymentEnabled = n.getBooleanValue(); },
        "networkAdapters": n => { sensorSettings.networkAdapters = n.getCollectionOfObjectValues(createNetworkAdapterFromDiscriminatorValue); },
        "@odata.type": n => { sensorSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SentinelAIToolAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelAIToolAuditRecord(sentinelAIToolAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelAIToolAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelGraphAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelGraphAuditRecord(sentinelGraphAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelGraphAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelJobAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelJobAuditRecord(sentinelJobAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelJobAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelKQLOnLakeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelKQLOnLakeAuditRecord(sentinelKQLOnLakeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelKQLOnLakeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelLakeDataOnboardingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelLakeDataOnboardingAuditRecord(sentinelLakeDataOnboardingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelLakeDataOnboardingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelLakeEncryptionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelLakeEncryptionAuditRecord(sentinelLakeEncryptionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelLakeEncryptionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelLakeOnboardingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelLakeOnboardingAuditRecord(sentinelLakeOnboardingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelLakeOnboardingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelNotebookOnLakeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelNotebookOnLakeAuditRecord(sentinelNotebookOnLakeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelNotebookOnLakeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SentinelPackageAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSentinelPackageAuditRecord(sentinelPackageAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sentinelPackageAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ServicePrincipalEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoServicePrincipalEvidence(servicePrincipalEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(servicePrincipalEvidence)), { "appId": n => { servicePrincipalEvidence.appId = n.getStringValue(); }, "appOwnerTenantId": n => { servicePrincipalEvidence.appOwnerTenantId = n.getStringValue(); }, "servicePrincipalName": n => { servicePrincipalEvidence.servicePrincipalName = n.getStringValue(); }, "servicePrincipalObjectId": n => { servicePrincipalEvidence.servicePrincipalObjectId = n.getStringValue(); }, "servicePrincipalType": n => { servicePrincipalEvidence.servicePrincipalType = n.getEnumValue(ServicePrincipalTypeObject); }, "tenantId": n => { servicePrincipalEvidence.tenantId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SettingsContainer The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSettingsContainer(settingsContainer = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(settingsContainer)), { "autoAuditingConfiguration": n => { settingsContainer.autoAuditingConfiguration = n.getObjectValue(createAutoAuditingConfigurationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SharePointAppPermissionOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointAppPermissionOperationAuditRecord(sharePointAppPermissionOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointAppPermissionOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointAuditRecord(sharePointAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointCommentOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointCommentOperationAuditRecord(sharePointCommentOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointCommentOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointContentSecurityPolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointContentSecurityPolicyAuditRecord(sharePointContentSecurityPolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointContentSecurityPolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointContentTypeOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointContentTypeOperationAuditRecord(sharePointContentTypeOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointContentTypeOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointESignatureAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointESignatureAuditRecord(sharePointESignatureAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointESignatureAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointFieldOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointFieldOperationAuditRecord(sharePointFieldOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointFieldOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointFileOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointFileOperationAuditRecord(sharePointFileOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointFileOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointListItemOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointListItemOperationAuditRecord(sharePointListItemOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointListItemOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointListOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointListOperationAuditRecord(sharePointListOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointListOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SharePointSharingOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointSharingOperationAuditRecord(sharePointSharingOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sharePointSharingOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SinglePropertySchema The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSinglePropertySchema(singlePropertySchema = {}) {
    return {
        "backingStoreEnabled": n => { singlePropertySchema.backingStoreEnabled = true; },
        "name": n => { singlePropertySchema.name = n.getStringValue(); },
        "@odata.type": n => { singlePropertySchema.odataType = n.getStringValue(); },
        "type": n => { singlePropertySchema.type = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SiteSource The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSiteSource(siteSource = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSource(siteSource)), { "site": n => { siteSource.site = n.getObjectValue(createSiteFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SiteSourceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSiteSourceCollectionResponse(siteSourceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(siteSourceCollectionResponse)), { "value": n => { siteSourceCollectionResponse.value = n.getCollectionOfObjectValues(createSiteSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SkypeForBusinessCmdletsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSkypeForBusinessCmdletsAuditRecord(skypeForBusinessCmdletsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(skypeForBusinessCmdletsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SkypeForBusinessPSTNUsageAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSkypeForBusinessPSTNUsageAuditRecord(skypeForBusinessPSTNUsageAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(skypeForBusinessPSTNUsageAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SkypeForBusinessUsersBlockedAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSkypeForBusinessUsersBlockedAuditRecord(skypeForBusinessUsersBlockedAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(skypeForBusinessUsersBlockedAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SoftDeleteIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSoftDeleteIncidentTaskResponseAction(softDeleteIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(softDeleteIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param SoftDeleteResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSoftDeleteResponseAction(softDeleteResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(softDeleteResponseAction)), { "identifier": n => { softDeleteResponseAction.identifier = n.getCollectionOfEnumValues(EmailEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param SonarDetonationContentMetadata The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSonarDetonationContentMetadata(sonarDetonationContentMetadata = {}) {
    return Object.assign({}, deserializeIntoAuditData(sonarDetonationContentMetadata));
}
/**
 * The deserialization information for the current model
 * @param SonarDetonationEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSonarDetonationEntityAuditRecord(sonarDetonationEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sonarDetonationEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SonarFileDetonationEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSonarFileDetonationEntityAuditRecord(sonarFileDetonationEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sonarFileDetonationEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SonarSubmissionEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSonarSubmissionEntityAuditRecord(sonarSubmissionEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sonarSubmissionEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SonarUrlDetonationEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSonarUrlDetonationEntityAuditRecord(sonarUrlDetonationEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sonarUrlDetonationEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SparkCoreCustomLivePoolRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSparkCoreCustomLivePoolRecord(sparkCoreCustomLivePoolRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(sparkCoreCustomLivePoolRecord));
}
/**
 * The deserialization information for the current model
 * @param SslCertificate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSslCertificate(sslCertificate = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(sslCertificate)), { "expirationDateTime": n => { sslCertificate.expirationDateTime = n.getDateValue(); }, "fingerprint": n => { sslCertificate.fingerprint = n.getStringValue(); }, "firstSeenDateTime": n => { sslCertificate.firstSeenDateTime = n.getDateValue(); }, "issueDateTime": n => { sslCertificate.issueDateTime = n.getDateValue(); }, "issuer": n => { sslCertificate.issuer = n.getObjectValue(createSslCertificateEntityFromDiscriminatorValue); }, "lastSeenDateTime": n => { sslCertificate.lastSeenDateTime = n.getDateValue(); }, "relatedHosts": n => { sslCertificate.relatedHosts = n.getCollectionOfObjectValues(createHostFromDiscriminatorValue); }, "serialNumber": n => { sslCertificate.serialNumber = n.getStringValue(); }, "sha1": n => { sslCertificate.sha1 = n.getStringValue(); }, "subject": n => { sslCertificate.subject = n.getObjectValue(createSslCertificateEntityFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SslCertificateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSslCertificateCollectionResponse(sslCertificateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sslCertificateCollectionResponse)), { "value": n => { sslCertificateCollectionResponse.value = n.getCollectionOfObjectValues(createSslCertificateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SslCertificateEntity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSslCertificateEntity(sslCertificateEntity = {}) {
    return {
        "address": n => { sslCertificateEntity.address = n.getObjectValue(createPhysicalAddressFromDiscriminatorValue); },
        "alternateNames": n => { sslCertificateEntity.alternateNames = n.getCollectionOfPrimitiveValues("string"); },
        "backingStoreEnabled": n => { sslCertificateEntity.backingStoreEnabled = true; },
        "commonName": n => { sslCertificateEntity.commonName = n.getStringValue(); },
        "email": n => { sslCertificateEntity.email = n.getStringValue(); },
        "givenName": n => { sslCertificateEntity.givenName = n.getStringValue(); },
        "@odata.type": n => { sslCertificateEntity.odataType = n.getStringValue(); },
        "organizationName": n => { sslCertificateEntity.organizationName = n.getStringValue(); },
        "organizationUnitName": n => { sslCertificateEntity.organizationUnitName = n.getStringValue(); },
        "serialNumber": n => { sslCertificateEntity.serialNumber = n.getStringValue(); },
        "surname": n => { sslCertificateEntity.surname = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param StopAndQuarantineFileAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStopAndQuarantineFileAction(stopAndQuarantineFileAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAutomatedAction(stopAndQuarantineFileAction)), { "deviceIdColumn": n => { stopAndQuarantineFileAction.deviceIdColumn = n.getStringValue(); }, "sha1Column": n => { stopAndQuarantineFileAction.sha1Column = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param StopAndQuarantineFileIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStopAndQuarantineFileIncidentTaskResponseAction(stopAndQuarantineFileIncidentTaskResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIncidentTaskResponseAction(stopAndQuarantineFileIncidentTaskResponseAction)), { "deviceId": n => { stopAndQuarantineFileIncidentTaskResponseAction.deviceId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param StopAndQuarantineFileResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStopAndQuarantineFileResponseAction(stopAndQuarantineFileResponseAction = {}) {
    return Object.assign(Object.assign({}, deserializeIntoResponseAction(stopAndQuarantineFileResponseAction)), { "identifier": n => { stopAndQuarantineFileResponseAction.identifier = n.getCollectionOfEnumValues(StopAndQuarantineFileEntityIdentifierObject); } });
}
/**
 * The deserialization information for the current model
 * @param Stream The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStream(stream = {}) {
    return {
        "backingStoreEnabled": n => { stream.backingStoreEnabled = true; },
        "name": n => { stream.name = n.getStringValue(); },
        "@odata.type": n => { stream.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param StringValueDictionary The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoStringValueDictionary(stringValueDictionary = {}) {
    return {
        "backingStoreEnabled": n => { stringValueDictionary.backingStoreEnabled = true; },
        "@odata.type": n => { stringValueDictionary.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SubcategoryTemplate The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubcategoryTemplate(subcategoryTemplate = {}) {
    return Object.assign({}, deserializeIntoFilePlanDescriptorTemplate(subcategoryTemplate));
}
/**
 * The deserialization information for the current model
 * @param SubcategoryTemplateCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubcategoryTemplateCollectionResponse(subcategoryTemplateCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(subcategoryTemplateCollectionResponse)), { "value": n => { subcategoryTemplateCollectionResponse.value = n.getCollectionOfObjectValues(createSubcategoryTemplateFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Subdomain The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubdomain(subdomain = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(subdomain)), { "firstSeenDateTime": n => { subdomain.firstSeenDateTime = n.getDateValue(); }, "host": n => { subdomain.host = n.getObjectValue(createHostFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SubdomainCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubdomainCollectionResponse(subdomainCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(subdomainCollectionResponse)), { "value": n => { subdomainCollectionResponse.value = n.getCollectionOfObjectValues(createSubdomainFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SubmissionAdminReview The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionAdminReview(submissionAdminReview = {}) {
    return {
        "backingStoreEnabled": n => { submissionAdminReview.backingStoreEnabled = true; },
        "@odata.type": n => { submissionAdminReview.odataType = n.getStringValue(); },
        "reviewBy": n => { submissionAdminReview.reviewBy = n.getStringValue(); },
        "reviewDateTime": n => { submissionAdminReview.reviewDateTime = n.getDateValue(); },
        "reviewResult": n => { submissionAdminReview.reviewResult = n.getEnumValue(SubmissionResultCategoryObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param SubmissionDetectedFile The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionDetectedFile(submissionDetectedFile = {}) {
    return {
        "backingStoreEnabled": n => { submissionDetectedFile.backingStoreEnabled = true; },
        "fileHash": n => { submissionDetectedFile.fileHash = n.getStringValue(); },
        "fileName": n => { submissionDetectedFile.fileName = n.getStringValue(); },
        "@odata.type": n => { submissionDetectedFile.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SubmissionEntityAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionEntityAuditRecord(submissionEntityAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(submissionEntityAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SubmissionMailEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionMailEvidence(submissionMailEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(submissionMailEvidence)), { "networkMessageId": n => { submissionMailEvidence.networkMessageId = n.getStringValue(); }, "recipient": n => { submissionMailEvidence.recipient = n.getStringValue(); }, "reportType": n => { submissionMailEvidence.reportType = n.getStringValue(); }, "sender": n => { submissionMailEvidence.sender = n.getStringValue(); }, "senderIp": n => { submissionMailEvidence.senderIp = n.getStringValue(); }, "subject": n => { submissionMailEvidence.subject = n.getStringValue(); }, "submissionDateTime": n => { submissionMailEvidence.submissionDateTime = n.getDateValue(); }, "submissionId": n => { submissionMailEvidence.submissionId = n.getStringValue(); }, "submitter": n => { submissionMailEvidence.submitter = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SubmissionResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionResult(submissionResult = {}) {
    return {
        "backingStoreEnabled": n => { submissionResult.backingStoreEnabled = true; },
        "category": n => { submissionResult.category = n.getEnumValue(SubmissionResultCategoryObject); },
        "detail": n => { submissionResult.detail = n.getEnumValue(SubmissionResultDetailObject); },
        "detectedFiles": n => { submissionResult.detectedFiles = n.getCollectionOfObjectValues(createSubmissionDetectedFileFromDiscriminatorValue); },
        "detectedUrls": n => { submissionResult.detectedUrls = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { submissionResult.odataType = n.getStringValue(); },
        "userMailboxSetting": n => { submissionResult.userMailboxSetting = n.getCollectionOfEnumValues(UserMailboxSettingObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param SubmissionUserIdentity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubmissionUserIdentity(submissionUserIdentity = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIdentity(submissionUserIdentity)), { "email": n => { submissionUserIdentity.email = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SupervisoryReviewDayXInsightsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSupervisoryReviewDayXInsightsAuditRecord(supervisoryReviewDayXInsightsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(supervisoryReviewDayXInsightsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param SyntheticProbeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSyntheticProbeAuditRecord(syntheticProbeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(syntheticProbeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Tag The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTag(tag = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(tag)), { "createdBy": n => { tag.createdBy = n.getObjectValue(createIdentitySetFromDiscriminatorValue); }, "description": n => { tag.description = n.getStringValue(); }, "displayName": n => { tag.displayName = n.getStringValue(); }, "lastModifiedDateTime": n => { tag.lastModifiedDateTime = n.getDateValue(); } });
}
/**
 * The deserialization information for the current model
 * @param TeamCopilotInteractionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamCopilotInteractionAuditRecord(teamCopilotInteractionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamCopilotInteractionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsEasyApprovalsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsEasyApprovalsAuditRecord(teamsEasyApprovalsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsEasyApprovalsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsEvalDataHubAdminOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsEvalDataHubAdminOperationAuditRecord(teamsEvalDataHubAdminOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsEvalDataHubAdminOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsEvalDataHubDataAccessAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsEvalDataHubDataAccessAuditRecord(teamsEvalDataHubDataAccessAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsEvalDataHubDataAccessAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsEvalDataHubPermissionChangeAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsEvalDataHubPermissionChangeAuditRecord(teamsEvalDataHubPermissionChangeAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsEvalDataHubPermissionChangeAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsHealthcareAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsHealthcareAuditRecord(teamsHealthcareAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsHealthcareAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TeamsMessageEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsMessageEvidence(teamsMessageEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(teamsMessageEvidence)), { "campaignId": n => { teamsMessageEvidence.campaignId = n.getStringValue(); }, "channelId": n => { teamsMessageEvidence.channelId = n.getStringValue(); }, "deliveryAction": n => { teamsMessageEvidence.deliveryAction = n.getEnumValue(TeamsMessageDeliveryActionObject); }, "deliveryLocation": n => { teamsMessageEvidence.deliveryLocation = n.getEnumValue(TeamsDeliveryLocationObject); }, "files": n => { teamsMessageEvidence.files = n.getCollectionOfObjectValues(createFileEvidenceFromDiscriminatorValue); }, "groupId": n => { teamsMessageEvidence.groupId = n.getStringValue(); }, "isExternal": n => { teamsMessageEvidence.isExternal = n.getBooleanValue(); }, "isOwned": n => { teamsMessageEvidence.isOwned = n.getBooleanValue(); }, "lastModifiedDateTime": n => { teamsMessageEvidence.lastModifiedDateTime = n.getDateValue(); }, "messageDirection": n => { teamsMessageEvidence.messageDirection = n.getEnumValue(AntispamTeamsDirectionObject); }, "messageId": n => { teamsMessageEvidence.messageId = n.getStringValue(); }, "owningTenantId": n => { teamsMessageEvidence.owningTenantId = n.getGuidValue(); }, "parentMessageId": n => { teamsMessageEvidence.parentMessageId = n.getStringValue(); }, "receivedDateTime": n => { teamsMessageEvidence.receivedDateTime = n.getDateValue(); }, "recipients": n => { teamsMessageEvidence.recipients = n.getCollectionOfPrimitiveValues("string"); }, "senderFromAddress": n => { teamsMessageEvidence.senderFromAddress = n.getStringValue(); }, "senderIP": n => { teamsMessageEvidence.senderIP = n.getStringValue(); }, "sourceAppName": n => { teamsMessageEvidence.sourceAppName = n.getStringValue(); }, "sourceId": n => { teamsMessageEvidence.sourceId = n.getStringValue(); }, "subject": n => { teamsMessageEvidence.subject = n.getStringValue(); }, "suspiciousRecipients": n => { teamsMessageEvidence.suspiciousRecipients = n.getCollectionOfPrimitiveValues("string"); }, "threadId": n => { teamsMessageEvidence.threadId = n.getStringValue(); }, "threadType": n => { teamsMessageEvidence.threadType = n.getStringValue(); }, "urls": n => { teamsMessageEvidence.urls = n.getCollectionOfObjectValues(createUrlEvidenceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param TeamsUpdatesAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTeamsUpdatesAuditRecord(teamsUpdatesAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(teamsUpdatesAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TenantAllowBlockListAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTenantAllowBlockListAuditRecord(tenantAllowBlockListAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(tenantAllowBlockListAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TenantAllowBlockListEntryResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTenantAllowBlockListEntryResult(tenantAllowBlockListEntryResult = {}) {
    return {
        "backingStoreEnabled": n => { tenantAllowBlockListEntryResult.backingStoreEnabled = true; },
        "entryType": n => { tenantAllowBlockListEntryResult.entryType = n.getEnumValue(TenantAllowBlockListEntryTypeObject); },
        "expirationDateTime": n => { tenantAllowBlockListEntryResult.expirationDateTime = n.getDateValue(); },
        "identity": n => { tenantAllowBlockListEntryResult.identity = n.getStringValue(); },
        "@odata.type": n => { tenantAllowBlockListEntryResult.odataType = n.getStringValue(); },
        "status": n => { tenantAllowBlockListEntryResult.status = n.getEnumValue(LongRunningOperationStatusObject); },
        "value": n => { tenantAllowBlockListEntryResult.value = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param TenantAllowOrBlockListAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTenantAllowOrBlockListAction(tenantAllowOrBlockListAction = {}) {
    return {
        "action": n => { tenantAllowOrBlockListAction.action = n.getEnumValue(TenantAllowBlockListActionObject); },
        "backingStoreEnabled": n => { tenantAllowOrBlockListAction.backingStoreEnabled = true; },
        "expirationDateTime": n => { tenantAllowOrBlockListAction.expirationDateTime = n.getDateValue(); },
        "note": n => { tenantAllowOrBlockListAction.note = n.getStringValue(); },
        "@odata.type": n => { tenantAllowOrBlockListAction.odataType = n.getStringValue(); },
        "results": n => { tenantAllowOrBlockListAction.results = n.getCollectionOfObjectValues(createTenantAllowBlockListEntryResultFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param ThreatDetectionDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatDetectionDetail(threatDetectionDetail = {}) {
    return {
        "backingStoreEnabled": n => { threatDetectionDetail.backingStoreEnabled = true; },
        "confidenceLevel": n => { threatDetectionDetail.confidenceLevel = n.getStringValue(); },
        "@odata.type": n => { threatDetectionDetail.odataType = n.getStringValue(); },
        "priorityAccountProtection": n => { threatDetectionDetail.priorityAccountProtection = n.getStringValue(); },
        "threats": n => { threatDetectionDetail.threats = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ThreatFinderAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatFinderAuditRecord(threatFinderAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatFinderAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligence(threatIntelligence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(threatIntelligence)), { "articleIndicators": n => { threatIntelligence.articleIndicators = n.getCollectionOfObjectValues(createArticleIndicatorFromDiscriminatorValue); }, "articles": n => { threatIntelligence.articles = n.getCollectionOfObjectValues(createArticleFromDiscriminatorValue); }, "hostComponents": n => { threatIntelligence.hostComponents = n.getCollectionOfObjectValues(createHostComponentFromDiscriminatorValue); }, "hostCookies": n => { threatIntelligence.hostCookies = n.getCollectionOfObjectValues(createHostCookieFromDiscriminatorValue); }, "hostPairs": n => { threatIntelligence.hostPairs = n.getCollectionOfObjectValues(createHostPairFromDiscriminatorValue); }, "hostPorts": n => { threatIntelligence.hostPorts = n.getCollectionOfObjectValues(createHostPortFromDiscriminatorValue); }, "hosts": n => { threatIntelligence.hosts = n.getCollectionOfObjectValues(createHostFromDiscriminatorValue); }, "hostSslCertificates": n => { threatIntelligence.hostSslCertificates = n.getCollectionOfObjectValues(createHostSslCertificateFromDiscriminatorValue); }, "hostTrackers": n => { threatIntelligence.hostTrackers = n.getCollectionOfObjectValues(createHostTrackerFromDiscriminatorValue); }, "intelligenceProfileIndicators": n => { threatIntelligence.intelligenceProfileIndicators = n.getCollectionOfObjectValues(createIntelligenceProfileIndicatorFromDiscriminatorValue); }, "intelProfiles": n => { threatIntelligence.intelProfiles = n.getCollectionOfObjectValues(createIntelligenceProfileFromDiscriminatorValue); }, "passiveDnsRecords": n => { threatIntelligence.passiveDnsRecords = n.getCollectionOfObjectValues(createPassiveDnsRecordFromDiscriminatorValue); }, "sslCertificates": n => { threatIntelligence.sslCertificates = n.getCollectionOfObjectValues(createSslCertificateFromDiscriminatorValue); }, "subdomains": n => { threatIntelligence.subdomains = n.getCollectionOfObjectValues(createSubdomainFromDiscriminatorValue); }, "vulnerabilities": n => { threatIntelligence.vulnerabilities = n.getCollectionOfObjectValues(createVulnerabilityFromDiscriminatorValue); }, "whoisHistoryRecords": n => { threatIntelligence.whoisHistoryRecords = n.getCollectionOfObjectValues(createWhoisHistoryRecordFromDiscriminatorValue); }, "whoisRecords": n => { threatIntelligence.whoisRecords = n.getCollectionOfObjectValues(createWhoisRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligenceAtpContentData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligenceAtpContentData(threatIntelligenceAtpContentData = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatIntelligenceAtpContentData));
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligenceExportAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligenceExportAuditRecord(threatIntelligenceExportAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatIntelligenceExportAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligenceMailData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligenceMailData(threatIntelligenceMailData = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatIntelligenceMailData));
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligenceObjectAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligenceObjectAuditRecord(threatIntelligenceObjectAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatIntelligenceObjectAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ThreatIntelligenceUrlClickData The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatIntelligenceUrlClickData(threatIntelligenceUrlClickData = {}) {
    return Object.assign({}, deserializeIntoAuditData(threatIntelligenceUrlClickData));
}
/**
 * The deserialization information for the current model
 * @param ThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatSubmission(threatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(threatSubmission)), { "adminReview": n => { threatSubmission.adminReview = n.getObjectValue(createSubmissionAdminReviewFromDiscriminatorValue); }, "category": n => { threatSubmission.category = n.getEnumValue(SubmissionCategoryObject); }, "clientSource": n => { threatSubmission.clientSource = n.getEnumValue(SubmissionClientSourceObject); }, "contentType": n => { threatSubmission.contentType = n.getEnumValue(SubmissionContentTypeObject); }, "createdBy": n => { threatSubmission.createdBy = n.getObjectValue(createSubmissionUserIdentityFromDiscriminatorValue); }, "createdDateTime": n => { threatSubmission.createdDateTime = n.getDateValue(); }, "result": n => { threatSubmission.result = n.getObjectValue(createSubmissionResultFromDiscriminatorValue); }, "source": n => { threatSubmission.source = n.getEnumValue(SubmissionSourceObject); }, "status": n => { threatSubmission.status = n.getEnumValue(LongRunningOperationStatusObject); }, "tenantId": n => { threatSubmission.tenantId = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ThreatSubmissionRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoThreatSubmissionRoot(threatSubmissionRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(threatSubmissionRoot)), { "emailThreats": n => { threatSubmissionRoot.emailThreats = n.getCollectionOfObjectValues(createEmailThreatSubmissionFromDiscriminatorValue); }, "emailThreatSubmissionPolicies": n => { threatSubmissionRoot.emailThreatSubmissionPolicies = n.getCollectionOfObjectValues(createEmailThreatSubmissionPolicyFromDiscriminatorValue); }, "fileThreats": n => { threatSubmissionRoot.fileThreats = n.getCollectionOfObjectValues(createFileThreatSubmissionFromDiscriminatorValue); }, "urlThreats": n => { threatSubmissionRoot.urlThreats = n.getCollectionOfObjectValues(createUrlThreatSubmissionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param TimelineEvent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTimelineEvent(timelineEvent = {}) {
    return {
        "backingStoreEnabled": n => { timelineEvent.backingStoreEnabled = true; },
        "eventDateTime": n => { timelineEvent.eventDateTime = n.getDateValue(); },
        "eventDetails": n => { timelineEvent.eventDetails = n.getStringValue(); },
        "eventResult": n => { timelineEvent.eventResult = n.getStringValue(); },
        "eventSource": n => { timelineEvent.eventSource = n.getEnumValue(EventSourceObject); },
        "eventThreats": n => { timelineEvent.eventThreats = n.getCollectionOfPrimitiveValues("string"); },
        "eventType": n => { timelineEvent.eventType = n.getEnumValue(TimelineEventTypeObject); },
        "@odata.type": n => { timelineEvent.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param TodoAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTodoAuditRecord(todoAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(todoAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TopicModelingSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTopicModelingSettings(topicModelingSettings = {}) {
    return {
        "backingStoreEnabled": n => { topicModelingSettings.backingStoreEnabled = true; },
        "dynamicallyAdjustTopicCount": n => { topicModelingSettings.dynamicallyAdjustTopicCount = n.getBooleanValue(); },
        "ignoreNumbers": n => { topicModelingSettings.ignoreNumbers = n.getBooleanValue(); },
        "isEnabled": n => { topicModelingSettings.isEnabled = n.getBooleanValue(); },
        "@odata.type": n => { topicModelingSettings.odataType = n.getStringValue(); },
        "topicCount": n => { topicModelingSettings.topicCount = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param TrainableClassifierAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTrainableClassifierAuditRecord(trainableClassifierAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(trainableClassifierAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param TriggersRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTriggersRoot(triggersRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(triggersRoot)), { "retentionEvents": n => { triggersRoot.retentionEvents = n.getCollectionOfObjectValues(createRetentionEventFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param TriggerTypesRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoTriggerTypesRoot(triggerTypesRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(triggerTypesRoot)), { "retentionEventTypes": n => { triggerTypesRoot.retentionEventTypes = n.getCollectionOfObjectValues(createRetentionEventTypeFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UamOperationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUamOperationAuditRecord(uamOperationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(uamOperationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UnclassifiedArtifact The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnclassifiedArtifact(unclassifiedArtifact = {}) {
    return Object.assign(Object.assign({}, deserializeIntoArtifact(unclassifiedArtifact)), { "kind": n => { unclassifiedArtifact.kind = n.getStringValue(); }, "value": n => { unclassifiedArtifact.value = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UnifiedGroupAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnifiedGroupAuditRecord(unifiedGroupAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(unifiedGroupAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UnifiedGroupSource The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnifiedGroupSource(unifiedGroupSource = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSource(unifiedGroupSource)), { "group": n => { unifiedGroupSource.group = n.getObjectValue(createGroupFromDiscriminatorValue); }, "includedSources": n => { unifiedGroupSource.includedSources = n.getCollectionOfEnumValues(SourceTypeObject); } });
}
/**
 * The deserialization information for the current model
 * @param UnifiedGroupSourceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnifiedGroupSourceCollectionResponse(unifiedGroupSourceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(unifiedGroupSourceCollectionResponse)), { "value": n => { unifiedGroupSourceCollectionResponse.value = n.getCollectionOfObjectValues(createUnifiedGroupSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UnifiedSimulationMatchedItemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnifiedSimulationMatchedItemAuditRecord(unifiedSimulationMatchedItemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(unifiedSimulationMatchedItemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UnifiedSimulationSummaryAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnifiedSimulationSummaryAuditRecord(unifiedSimulationSummaryAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(unifiedSimulationSummaryAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UnIsolateDeviceIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnIsolateDeviceIncidentTaskResponseAction(unIsolateDeviceIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(unIsolateDeviceIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param UniversalPrintManagementAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUniversalPrintManagementAuditRecord(universalPrintManagementAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(universalPrintManagementAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UniversalPrintPrintJobAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUniversalPrintPrintJobAuditRecord(universalPrintPrintJobAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(universalPrintPrintJobAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UnRestrictAppExecutionIncidentTaskResponseAction The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUnRestrictAppExecutionIncidentTaskResponseAction(unRestrictAppExecutionIncidentTaskResponseAction = {}) {
    return Object.assign({}, deserializeIntoIncidentTaskResponseAction(unRestrictAppExecutionIncidentTaskResponseAction));
}
/**
 * The deserialization information for the current model
 * @param UrbacAssignmentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrbacAssignmentAuditRecord(urbacAssignmentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(urbacAssignmentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UrbacEnableStateAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrbacEnableStateAuditRecord(urbacEnableStateAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(urbacEnableStateAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UrbacRoleAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrbacRoleAuditRecord(urbacRoleAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(urbacRoleAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UrlEntityMapping The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrlEntityMapping(urlEntityMapping = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntityMapping(urlEntityMapping)), { "addressColumn": n => { urlEntityMapping.addressColumn = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UrlEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrlEvidence(urlEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(urlEvidence)), { "url": n => { urlEvidence.url = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UrlThreatSubmission The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrlThreatSubmission(urlThreatSubmission = {}) {
    return Object.assign(Object.assign({}, deserializeIntoThreatSubmission(urlThreatSubmission)), { "webUrl": n => { urlThreatSubmission.webUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UrlThreatSubmissionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUrlThreatSubmissionCollectionResponse(urlThreatSubmissionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(urlThreatSubmissionCollectionResponse)), { "value": n => { urlThreatSubmissionCollectionResponse.value = n.getCollectionOfObjectValues(createUrlThreatSubmissionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param User The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUser(user = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIdentityAccounts(user)), { "emailAddress": n => { user.emailAddress = n.getStringValue(); }, "userPrincipalName": n => { user.userPrincipalName = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UserAccount The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserAccount(userAccount = {}) {
    return {
        "accountName": n => { userAccount.accountName = n.getStringValue(); },
        "activeDirectoryObjectGuid": n => { userAccount.activeDirectoryObjectGuid = n.getGuidValue(); },
        "azureAdUserId": n => { userAccount.azureAdUserId = n.getStringValue(); },
        "backingStoreEnabled": n => { userAccount.backingStoreEnabled = true; },
        "displayName": n => { userAccount.displayName = n.getStringValue(); },
        "domainName": n => { userAccount.domainName = n.getStringValue(); },
        "@odata.type": n => { userAccount.odataType = n.getStringValue(); },
        "resourceAccessEvents": n => { userAccount.resourceAccessEvents = n.getCollectionOfObjectValues(createResourceAccessEventFromDiscriminatorValue); },
        "tenantId": n => { userAccount.tenantId = n.getStringValue(); },
        "userPrincipalName": n => { userAccount.userPrincipalName = n.getStringValue(); },
        "userSid": n => { userAccount.userSid = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param UserEvidence The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserEvidence(userEvidence = {}) {
    return Object.assign(Object.assign({}, deserializeIntoAlertEvidence(userEvidence)), { "stream": n => { userEvidence.stream = n.getObjectValue(createStreamFromDiscriminatorValue); }, "userAccount": n => { userEvidence.userAccount = n.getObjectValue(createUserAccountFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UserSource The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserSource(userSource = {}) {
    return Object.assign(Object.assign({}, deserializeIntoDataSource(userSource)), { "email": n => { userSource.email = n.getStringValue(); }, "includedSources": n => { userSource.includedSources = n.getCollectionOfEnumValues(SourceTypeObject); }, "siteWebUrl": n => { userSource.siteWebUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param UserSourceCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserSourceCollectionResponse(userSourceCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(userSourceCollectionResponse)), { "value": n => { userSourceCollectionResponse.value = n.getCollectionOfObjectValues(createUserSourceFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UserTrainingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserTrainingAuditRecord(userTrainingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(userTrainingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param UsxWorkspaceOnboardingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUsxWorkspaceOnboardingAuditRecord(usxWorkspaceOnboardingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(usxWorkspaceOnboardingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VfamCreatePolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVfamCreatePolicyAuditRecord(vfamCreatePolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vfamCreatePolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VfamDeletePolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVfamDeletePolicyAuditRecord(vfamDeletePolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vfamDeletePolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VfamUpdatePolicyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVfamUpdatePolicyAuditRecord(vfamUpdatePolicyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vfamUpdatePolicyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaAmplifyAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaAmplifyAuditRecord(vivaAmplifyAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaAmplifyAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaEngageEventsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaEngageEventsAuditRecord(vivaEngageEventsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaEngageEventsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaEngageNetworkAssociationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaEngageNetworkAssociationAuditRecord(vivaEngageNetworkAssociationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaEngageNetworkAssociationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaEngageSegmentAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaEngageSegmentAuditRecord(vivaEngageSegmentAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaEngageSegmentAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintAdvancedConfigurationAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintAdvancedConfigurationAuditRecord(vivaGlintAdvancedConfigurationAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintAdvancedConfigurationAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintAgenticCampaignAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintAgenticCampaignAuditRecord(vivaGlintAgenticCampaignAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintAgenticCampaignAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintFeedbackProgramAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintFeedbackProgramAuditRecord(vivaGlintFeedbackProgramAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintFeedbackProgramAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintOrganizationalDataAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintOrganizationalDataAuditRecord(vivaGlintOrganizationalDataAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintOrganizationalDataAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintPulseProgramAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintPulseProgramAuditRecord(vivaGlintPulseProgramAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintPulseProgramAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintPulseProgramRespondentRateAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintPulseProgramRespondentRateAuditRecord(vivaGlintPulseProgramRespondentRateAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintPulseProgramRespondentRateAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintQuestionAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintQuestionAuditRecord(vivaGlintQuestionAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintQuestionAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintRoleAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintRoleAuditRecord(vivaGlintRoleAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintRoleAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintRubiconAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintRubiconAuditRecord(vivaGlintRubiconAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintRubiconAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintSupportAccessAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintSupportAccessAuditRecord(vivaGlintSupportAccessAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintSupportAccessAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintSystemAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintSystemAuditRecord(vivaGlintSystemAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintSystemAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintUserAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintUserAuditRecord(vivaGlintUserAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintUserAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGlintUserGroupAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGlintUserGroupAuditRecord(vivaGlintUserGroupAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGlintUserGroupAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaGoalsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaGoalsAuditRecord(vivaGoalsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaGoalsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaLearningAdminAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaLearningAdminAuditRecord(vivaLearningAdminAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaLearningAdminAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaLearningAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaLearningAuditRecord(vivaLearningAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaLearningAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaPulseAdminAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaPulseAdminAuditRecord(vivaPulseAdminAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaPulseAdminAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaPulseOrganizerAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaPulseOrganizerAuditRecord(vivaPulseOrganizerAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaPulseOrganizerAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaPulseReportAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaPulseReportAuditRecord(vivaPulseReportAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaPulseReportAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VivaPulseResponseAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVivaPulseResponseAuditRecord(vivaPulseResponseAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(vivaPulseResponseAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param VmMetadata The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVmMetadata(vmMetadata = {}) {
    return {
        "backingStoreEnabled": n => { vmMetadata.backingStoreEnabled = true; },
        "cloudProvider": n => { vmMetadata.cloudProvider = n.getEnumValue(VmCloudProviderObject); },
        "@odata.type": n => { vmMetadata.odataType = n.getStringValue(); },
        "resourceId": n => { vmMetadata.resourceId = n.getStringValue(); },
        "subscriptionId": n => { vmMetadata.subscriptionId = n.getStringValue(); },
        "vmId": n => { vmMetadata.vmId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param Vulnerability The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVulnerability(vulnerability = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(vulnerability)), { "activeExploitsObserved": n => { vulnerability.activeExploitsObserved = n.getBooleanValue(); }, "articles": n => { vulnerability.articles = n.getCollectionOfObjectValues(createArticleFromDiscriminatorValue); }, "commonWeaknessEnumerationIds": n => { vulnerability.commonWeaknessEnumerationIds = n.getCollectionOfPrimitiveValues("string"); }, "components": n => { vulnerability.components = n.getCollectionOfObjectValues(createVulnerabilityComponentFromDiscriminatorValue); }, "createdDateTime": n => { vulnerability.createdDateTime = n.getDateValue(); }, "cvss2Summary": n => { vulnerability.cvss2Summary = n.getObjectValue(createCvssSummaryFromDiscriminatorValue); }, "cvss3Summary": n => { vulnerability.cvss3Summary = n.getObjectValue(createCvssSummaryFromDiscriminatorValue); }, "description": n => { vulnerability.description = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "exploits": n => { vulnerability.exploits = n.getCollectionOfObjectValues(createHyperlinkFromDiscriminatorValue); }, "exploitsAvailable": n => { vulnerability.exploitsAvailable = n.getBooleanValue(); }, "hasChatter": n => { vulnerability.hasChatter = n.getBooleanValue(); }, "lastModifiedDateTime": n => { vulnerability.lastModifiedDateTime = n.getDateValue(); }, "priorityScore": n => { vulnerability.priorityScore = n.getNumberValue(); }, "publishedDateTime": n => { vulnerability.publishedDateTime = n.getDateValue(); }, "references": n => { vulnerability.references = n.getCollectionOfObjectValues(createHyperlinkFromDiscriminatorValue); }, "remediation": n => { vulnerability.remediation = n.getObjectValue(createFormattedContentFromDiscriminatorValue); }, "severity": n => { vulnerability.severity = n.getEnumValue(VulnerabilitySeverityObject); } });
}
/**
 * The deserialization information for the current model
 * @param VulnerabilityCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVulnerabilityCollectionResponse(vulnerabilityCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(vulnerabilityCollectionResponse)), { "value": n => { vulnerabilityCollectionResponse.value = n.getCollectionOfObjectValues(createVulnerabilityFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param VulnerabilityComponent The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVulnerabilityComponent(vulnerabilityComponent = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(vulnerabilityComponent)), { "name": n => { vulnerabilityComponent.name = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param VulnerabilityComponentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoVulnerabilityComponentCollectionResponse(vulnerabilityComponentCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(vulnerabilityComponentCollectionResponse)), { "value": n => { vulnerabilityComponentCollectionResponse.value = n.getCollectionOfObjectValues(createVulnerabilityComponentFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param WdatpAlertsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWdatpAlertsAuditRecord(wdatpAlertsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(wdatpAlertsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param WebContentFilteringAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWebContentFilteringAuditRecord(webContentFilteringAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(webContentFilteringAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param WhoisBaseRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisBaseRecord(whoisBaseRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(whoisBaseRecord)), { "abuse": n => { whoisBaseRecord.abuse = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "admin": n => { whoisBaseRecord.admin = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "billing": n => { whoisBaseRecord.billing = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "domainStatus": n => { whoisBaseRecord.domainStatus = n.getStringValue(); }, "expirationDateTime": n => { whoisBaseRecord.expirationDateTime = n.getDateValue(); }, "firstSeenDateTime": n => { whoisBaseRecord.firstSeenDateTime = n.getDateValue(); }, "host": n => { whoisBaseRecord.host = n.getObjectValue(createHostFromDiscriminatorValue); }, "lastSeenDateTime": n => { whoisBaseRecord.lastSeenDateTime = n.getDateValue(); }, "lastUpdateDateTime": n => { whoisBaseRecord.lastUpdateDateTime = n.getDateValue(); }, "nameservers": n => { whoisBaseRecord.nameservers = n.getCollectionOfObjectValues(createWhoisNameserverFromDiscriminatorValue); }, "noc": n => { whoisBaseRecord.noc = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "rawWhoisText": n => { whoisBaseRecord.rawWhoisText = n.getStringValue(); }, "registrant": n => { whoisBaseRecord.registrant = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "registrar": n => { whoisBaseRecord.registrar = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "registrationDateTime": n => { whoisBaseRecord.registrationDateTime = n.getDateValue(); }, "technical": n => { whoisBaseRecord.technical = n.getObjectValue(createWhoisContactFromDiscriminatorValue); }, "whoisServer": n => { whoisBaseRecord.whoisServer = n.getStringValue(); }, "zone": n => { whoisBaseRecord.zone = n.getObjectValue(createWhoisContactFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param WhoisContact The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisContact(whoisContact = {}) {
    return {
        "address": n => { whoisContact.address = n.getObjectValue(createPhysicalAddressFromDiscriminatorValue); },
        "backingStoreEnabled": n => { whoisContact.backingStoreEnabled = true; },
        "email": n => { whoisContact.email = n.getStringValue(); },
        "fax": n => { whoisContact.fax = n.getStringValue(); },
        "name": n => { whoisContact.name = n.getStringValue(); },
        "@odata.type": n => { whoisContact.odataType = n.getStringValue(); },
        "organization": n => { whoisContact.organization = n.getStringValue(); },
        "telephone": n => { whoisContact.telephone = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param WhoisHistoryRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisHistoryRecord(whoisHistoryRecord = {}) {
    return Object.assign({}, deserializeIntoWhoisBaseRecord(whoisHistoryRecord));
}
/**
 * The deserialization information for the current model
 * @param WhoisHistoryRecordCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisHistoryRecordCollectionResponse(whoisHistoryRecordCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(whoisHistoryRecordCollectionResponse)), { "value": n => { whoisHistoryRecordCollectionResponse.value = n.getCollectionOfObjectValues(createWhoisHistoryRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param WhoisNameserver The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisNameserver(whoisNameserver = {}) {
    return {
        "backingStoreEnabled": n => { whoisNameserver.backingStoreEnabled = true; },
        "firstSeenDateTime": n => { whoisNameserver.firstSeenDateTime = n.getDateValue(); },
        "host": n => { whoisNameserver.host = n.getObjectValue(createHostFromDiscriminatorValue); },
        "lastSeenDateTime": n => { whoisNameserver.lastSeenDateTime = n.getDateValue(); },
        "@odata.type": n => { whoisNameserver.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param WhoisRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisRecord(whoisRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoWhoisBaseRecord(whoisRecord)), { "history": n => { whoisRecord.history = n.getCollectionOfObjectValues(createWhoisHistoryRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param WhoisRecordCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWhoisRecordCollectionResponse(whoisRecordCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(whoisRecordCollectionResponse)), { "value": n => { whoisRecordCollectionResponse.value = n.getCollectionOfObjectValues(createWhoisRecordFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Windows365CustomerLockboxAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWindows365CustomerLockboxAuditRecord(windows365CustomerLockboxAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(windows365CustomerLockboxAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param WorkplaceAnalyticsAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoWorkplaceAnalyticsAuditRecord(workplaceAnalyticsAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(workplaceAnalyticsAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param YammerAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoYammerAuditRecord(yammerAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(yammerAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param YammerUserHidingAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoYammerUserHidingAuditRecord(yammerUserHidingAuditRecord = {}) {
    return Object.assign({}, deserializeIntoAuditData(yammerUserHidingAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param Zone The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoZone(zone = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(zone)), { "aggregations": n => { zone.aggregations = n.getCollectionOfObjectValues(createAggregatedEnvironmentFromDiscriminatorValue); }, "created": n => { zone.created = n.getObjectValue(createAuditInfoFromDiscriminatorValue); }, "description": n => { zone.description = n.getStringValue(); }, "displayName": n => { zone.displayName = n.getStringValue(); }, "environments": n => { zone.environments = n.getCollectionOfObjectValues(createEnvironmentFromDiscriminatorValue); }, "modified": n => { zone.modified = n.getObjectValue(createAuditInfoFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ZoneCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoZoneCollectionResponse(zoneCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(zoneCollectionResponse)), { "value": n => { zoneCollectionResponse.value = n.getCollectionOfObjectValues(createZoneFromDiscriminatorValue); } });
}
/**
 * Serializes information the current object
 * @param A365AiExecuteTool The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeA365AiExecuteTool(writer, a365AiExecuteTool = {}, isSerializingDerivedType = false) {
    if (!a365AiExecuteTool || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, a365AiExecuteTool, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param A365AiInferenceCall The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeA365AiInferenceCall(writer, a365AiInferenceCall = {}, isSerializingDerivedType = false) {
    if (!a365AiInferenceCall || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, a365AiInferenceCall, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param A365AiInvokeAgent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeA365AiInvokeAgent(writer, a365AiInvokeAgent = {}, isSerializingDerivedType = false) {
    if (!a365AiInvokeAgent || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, a365AiInvokeAgent, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param A365AiRunSummary The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeA365AiRunSummary(writer, a365AiRunSummary = {}, isSerializingDerivedType = false) {
    if (!a365AiRunSummary || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, a365AiRunSummary, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param A365SpanOutputs The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeA365SpanOutputs(writer, a365SpanOutputs = {}, isSerializingDerivedType = false) {
    if (!a365SpanOutputs || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, a365SpanOutputs, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AadRiskDetectionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAadRiskDetectionAuditRecord(writer, aadRiskDetectionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aadRiskDetectionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aadRiskDetectionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param Account The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAccount(writer, account = {}, isSerializingDerivedType = false) {
    if (!account || isSerializingDerivedType) {
        return;
    }
    if (account.actions)
        writer.writeCollectionOfEnumValues("actions", account.actions);
    writer.writeStringValue("identifier", account.identifier);
    writer.writeEnumValue("identityProvider", account.identityProvider);
    writer.writeStringValue("@odata.type", account.odataType);
    writer.writeAdditionalData(account.additionalData);
}
/**
 * Serializes information the current object
 * @param AccountEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAccountEntityMapping(writer, accountEntityMapping = {}, isSerializingDerivedType = false) {
    if (!accountEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, accountEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("aadUserIdColumn", accountEntityMapping.aadUserIdColumn);
    writer.writeStringValue("dnsDomainColumn", accountEntityMapping.dnsDomainColumn);
    writer.writeStringValue("nameColumn", accountEntityMapping.nameColumn);
    writer.writeStringValue("ntDomainColumn", accountEntityMapping.ntDomainColumn);
    writer.writeStringValue("sidColumn", accountEntityMapping.sidColumn);
    writer.writeStringValue("upnColumn", accountEntityMapping.upnColumn);
    writer.writeStringValue("upnSuffixColumn", accountEntityMapping.upnSuffixColumn);
}
/**
 * Serializes information the current object
 * @param AccountObjectIdAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAccountObjectIdAction(writer, accountObjectIdAction = {}, isSerializingDerivedType = false) {
    if (!accountObjectIdAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, accountObjectIdAction, isSerializingDerivedType);
    writer.writeStringValue("accountObjectIdColumn", accountObjectIdAction.accountObjectIdColumn);
}
/**
 * Serializes information the current object
 * @param AccountSidAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAccountSidAction(writer, accountSidAction = {}, isSerializingDerivedType = false) {
    if (!accountSidAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, accountSidAction, isSerializingDerivedType);
    writer.writeStringValue("accountSidColumn", accountSidAction.accountSidColumn);
}
/**
 * Serializes information the current object
 * @param ActiveDirectoryDomainEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeActiveDirectoryDomainEvidence(writer, activeDirectoryDomainEvidence = {}, isSerializingDerivedType = false) {
    if (!activeDirectoryDomainEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, activeDirectoryDomainEvidence, isSerializingDerivedType);
    writer.writeStringValue("activeDirectoryDomainName", activeDirectoryDomainEvidence.activeDirectoryDomainName);
    writer.writeCollectionOfObjectValues("trustedDomains", activeDirectoryDomainEvidence.trustedDomains, serializeActiveDirectoryDomainEvidence);
}
/**
 * Serializes information the current object
 * @param AddContentFooterAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAddContentFooterAction(writer, addContentFooterAction = {}, isSerializingDerivedType = false) {
    if (!addContentFooterAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, addContentFooterAction, isSerializingDerivedType);
    writer.writeEnumValue("alignment", addContentFooterAction.alignment);
    writer.writeStringValue("fontColor", addContentFooterAction.fontColor);
    writer.writeStringValue("fontName", addContentFooterAction.fontName);
    writer.writeNumberValue("fontSize", addContentFooterAction.fontSize);
    writer.writeNumberValue("margin", addContentFooterAction.margin);
    writer.writeStringValue("text", addContentFooterAction.text);
    writer.writeStringValue("uiElementName", addContentFooterAction.uiElementName);
}
/**
 * Serializes information the current object
 * @param AddContentHeaderAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAddContentHeaderAction(writer, addContentHeaderAction = {}, isSerializingDerivedType = false) {
    if (!addContentHeaderAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, addContentHeaderAction, isSerializingDerivedType);
    writer.writeEnumValue("alignment", addContentHeaderAction.alignment);
    writer.writeStringValue("fontColor", addContentHeaderAction.fontColor);
    writer.writeStringValue("fontName", addContentHeaderAction.fontName);
    writer.writeNumberValue("fontSize", addContentHeaderAction.fontSize);
    writer.writeNumberValue("margin", addContentHeaderAction.margin);
    writer.writeStringValue("text", addContentHeaderAction.text);
    writer.writeStringValue("uiElementName", addContentHeaderAction.uiElementName);
}
/**
 * Serializes information the current object
 * @param AddWatermarkAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAddWatermarkAction(writer, addWatermarkAction = {}, isSerializingDerivedType = false) {
    if (!addWatermarkAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, addWatermarkAction, isSerializingDerivedType);
    writer.writeStringValue("fontColor", addWatermarkAction.fontColor);
    writer.writeStringValue("fontName", addWatermarkAction.fontName);
    writer.writeNumberValue("fontSize", addWatermarkAction.fontSize);
    writer.writeEnumValue("layout", addWatermarkAction.layout);
    writer.writeStringValue("text", addWatermarkAction.text);
    writer.writeStringValue("uiElementName", addWatermarkAction.uiElementName);
}
/**
 * Serializes information the current object
 * @param AedAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAedAuditRecord(writer, aedAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aedAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aedAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AgentAdminActivityRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAgentAdminActivityRecord(writer, agentAdminActivityRecord = {}, isSerializingDerivedType = false) {
    if (!agentAdminActivityRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, agentAdminActivityRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AgentSettingAdminActivity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAgentSettingAdminActivity(writer, agentSettingAdminActivity = {}, isSerializingDerivedType = false) {
    if (!agentSettingAdminActivity || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, agentSettingAdminActivity, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AggregatedEnvironment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAggregatedEnvironment(writer, aggregatedEnvironment = {}, isSerializingDerivedType = false) {
    if (!aggregatedEnvironment || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("count", aggregatedEnvironment.count);
    writer.writeStringValue("kind", aggregatedEnvironment.kind);
    writer.writeStringValue("@odata.type", aggregatedEnvironment.odataType);
    writer.writeAdditionalData(aggregatedEnvironment.additionalData);
}
/**
 * Serializes information the current object
 * @param AiAgentEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiAgentEvidence(writer, aiAgentEvidence = {}, isSerializingDerivedType = false) {
    if (!aiAgentEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, aiAgentEvidence, isSerializingDerivedType);
    writer.writeStringValue("agentId", aiAgentEvidence.agentId);
    writer.writeStringValue("agentName", aiAgentEvidence.agentName);
    writer.writeEnumValue("hostingPlatformType", aiAgentEvidence.hostingPlatformType);
    writer.writeStringValue("instructions", aiAgentEvidence.instructions);
}
/**
 * Serializes information the current object
 * @param AiAppInteractionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiAppInteractionAuditRecord(writer, aiAppInteractionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiAppInteractionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiAppInteractionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AiExecuteToolAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiExecuteToolAuditRecord(writer, aiExecuteToolAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiExecuteToolAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiExecuteToolAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AiInteractionsChangeNotificationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiInteractionsChangeNotificationAuditRecord(writer, aiInteractionsChangeNotificationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiInteractionsChangeNotificationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiInteractionsChangeNotificationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AiInteractionsExportAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiInteractionsExportAuditRecord(writer, aiInteractionsExportAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiInteractionsExportAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiInteractionsExportAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AiInteractionsSubscriptionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiInteractionsSubscriptionAuditRecord(writer, aiInteractionsSubscriptionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiInteractionsSubscriptionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiInteractionsSubscriptionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AiInvokeAgentAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAiInvokeAgentAuditRecord(writer, aiInvokeAgentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aiInvokeAgentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aiInvokeAgentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipDiscover The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipDiscover(writer, aipDiscover = {}, isSerializingDerivedType = false) {
    if (!aipDiscover || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipDiscover, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipFileDeleted The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipFileDeleted(writer, aipFileDeleted = {}, isSerializingDerivedType = false) {
    if (!aipFileDeleted || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipFileDeleted, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipHeartBeat The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipHeartBeat(writer, aipHeartBeat = {}, isSerializingDerivedType = false) {
    if (!aipHeartBeat || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipHeartBeat, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipProtectionActionLogRequest The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipProtectionActionLogRequest(writer, aipProtectionActionLogRequest = {}, isSerializingDerivedType = false) {
    if (!aipProtectionActionLogRequest || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipProtectionActionLogRequest, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipScannerDiscoverEvent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipScannerDiscoverEvent(writer, aipScannerDiscoverEvent = {}, isSerializingDerivedType = false) {
    if (!aipScannerDiscoverEvent || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipScannerDiscoverEvent, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AipSensitivityLabelActionLogRequest The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAipSensitivityLabelActionLogRequest(writer, aipSensitivityLabelActionLogRequest = {}, isSerializingDerivedType = false) {
    if (!aipSensitivityLabelActionLogRequest || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aipSensitivityLabelActionLogRequest, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AirAdminActionInvestigationData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAirAdminActionInvestigationData(writer, airAdminActionInvestigationData = {}, isSerializingDerivedType = false) {
    if (!airAdminActionInvestigationData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, airAdminActionInvestigationData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AirInvestigationData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAirInvestigationData(writer, airInvestigationData = {}, isSerializingDerivedType = false) {
    if (!airInvestigationData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, airInvestigationData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AirManualInvestigationData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAirManualInvestigationData(writer, airManualInvestigationData = {}, isSerializingDerivedType = false) {
    if (!airManualInvestigationData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, airManualInvestigationData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AISpanOutputsAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAISpanOutputsAuditRecord(writer, aISpanOutputsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!aISpanOutputsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, aISpanOutputsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param Alert The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlert(writer, alert = {}, isSerializingDerivedType = false) {
    if (!alert || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, alert, isSerializingDerivedType);
    writer.writeStringValue("actorDisplayName", alert.actorDisplayName);
    writer.writeObjectValue("additionalData", alert.additionalDataProperty, serializeDictionary);
    writer.writeStringValue("alertPolicyId", alert.alertPolicyId);
    writer.writeStringValue("alertWebUrl", alert.alertWebUrl);
    writer.writeStringValue("assignedTo", alert.assignedTo);
    writer.writeCollectionOfPrimitiveValues("categories", alert.categories);
    writer.writeStringValue("category", alert.category);
    writer.writeEnumValue("classification", alert.classification);
    writer.writeCollectionOfObjectValues("comments", alert.comments, serializeAlertComment);
    writer.writeDateValue("createdDateTime", alert.createdDateTime);
    writer.writeObjectValue("customDetails", alert.customDetails, serializeDictionary);
    writer.writeStringValue("description", alert.description);
    writer.writeEnumValue("detectionSource", alert.detectionSource);
    writer.writeStringValue("detectorId", alert.detectorId);
    writer.writeEnumValue("determination", alert.determination);
    writer.writeCollectionOfObjectValues("evidence", alert.evidence, serializeAlertEvidence);
    writer.writeDateValue("firstActivityDateTime", alert.firstActivityDateTime);
    writer.writeStringValue("incidentId", alert.incidentId);
    writer.writeStringValue("incidentWebUrl", alert.incidentWebUrl);
    writer.writeEnumValue("investigationState", alert.investigationState);
    writer.writeDateValue("lastActivityDateTime", alert.lastActivityDateTime);
    writer.writeDateValue("lastUpdateDateTime", alert.lastUpdateDateTime);
    writer.writeCollectionOfPrimitiveValues("mitreTechniques", alert.mitreTechniques);
    writer.writeStringValue("productName", alert.productName);
    writer.writeStringValue("providerAlertId", alert.providerAlertId);
    writer.writeStringValue("recommendedActions", alert.recommendedActions);
    writer.writeDateValue("resolvedDateTime", alert.resolvedDateTime);
    writer.writeEnumValue("serviceSource", alert.serviceSource);
    writer.writeEnumValue("severity", alert.severity);
    writer.writeEnumValue("status", alert.status);
    writer.writeCollectionOfPrimitiveValues("systemTags", alert.systemTags);
    writer.writeStringValue("tenantId", alert.tenantId);
    writer.writeStringValue("threatDisplayName", alert.threatDisplayName);
    writer.writeStringValue("threatFamilyName", alert.threatFamilyName);
    writer.writeStringValue("title", alert.title);
    switch (alert.odataType) {
        case "#microsoft.graph.security.manualAlert":
            serializeManualAlert(writer, alert, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AlertCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertCollectionResponse(writer, alertCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!alertCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, alertCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", alertCollectionResponse.value, serializeAlert);
}
/**
 * Serializes information the current object
 * @param AlertComment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertComment(writer, alertComment = {}, isSerializingDerivedType = false) {
    if (!alertComment || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("comment", alertComment.comment);
    writer.writeStringValue("createdByDisplayName", alertComment.createdByDisplayName);
    writer.writeDateValue("createdDateTime", alertComment.createdDateTime);
    writer.writeStringValue("@odata.type", alertComment.odataType);
    writer.writeAdditionalData(alertComment.additionalData);
}
/**
 * Serializes information the current object
 * @param AlertCustomDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertCustomDetails(writer, alertCustomDetails = {}, isSerializingDerivedType = false) {
    if (!alertCustomDetails || isSerializingDerivedType) {
        return;
    }
    serializeDictionary(writer, alertCustomDetails, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AlertEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertEvidence(writer, alertEvidence = {}, isSerializingDerivedType = false) {
    if (!alertEvidence || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("createdDateTime", alertEvidence.createdDateTime);
    writer.writeCollectionOfPrimitiveValues("detailedRoles", alertEvidence.detailedRoles);
    writer.writeStringValue("@odata.type", alertEvidence.odataType);
    writer.writeEnumValue("remediationStatus", alertEvidence.remediationStatus);
    writer.writeStringValue("remediationStatusDetails", alertEvidence.remediationStatusDetails);
    if (alertEvidence.roles)
        writer.writeCollectionOfEnumValues("roles", alertEvidence.roles);
    writer.writeCollectionOfPrimitiveValues("tags", alertEvidence.tags);
    writer.writeEnumValue("verdict", alertEvidence.verdict);
    writer.writeAdditionalData(alertEvidence.additionalData);
    switch (alertEvidence.odataType) {
        case "#microsoft.graph.security.activeDirectoryDomainEvidence":
            serializeActiveDirectoryDomainEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.aiAgentEvidence":
            serializeAiAgentEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.amazonResourceEvidence":
            serializeAmazonResourceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.analyzedMessageEvidence":
            serializeAnalyzedMessageEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.azureResourceEvidence":
            serializeAzureResourceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.blobContainerEvidence":
            serializeBlobContainerEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.blobEvidence":
            serializeBlobEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.cloudApplicationEvidence":
            serializeCloudApplicationEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.cloudLogonRequestEvidence":
            serializeCloudLogonRequestEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.cloudLogonSessionEvidence":
            serializeCloudLogonSessionEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.containerEvidence":
            serializeContainerEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.containerImageEvidence":
            serializeContainerImageEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.containerRegistryEvidence":
            serializeContainerRegistryEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.deviceEvidence":
            serializeDeviceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.dnsEvidence":
            serializeDnsEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.fileEvidence":
            serializeFileEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.fileHashEvidence":
            serializeFileHashEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.gitHubOrganizationEvidence":
            serializeGitHubOrganizationEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.gitHubRepoEvidence":
            serializeGitHubRepoEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.gitHubUserEvidence":
            serializeGitHubUserEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.googleCloudResourceEvidence":
            serializeGoogleCloudResourceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.hostLogonSessionEvidence":
            serializeHostLogonSessionEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.ioTDeviceEvidence":
            serializeIoTDeviceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.ipEvidence":
            serializeIpEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesClusterEvidence":
            serializeKubernetesClusterEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesControllerEvidence":
            serializeKubernetesControllerEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesNamespaceEvidence":
            serializeKubernetesNamespaceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesPodEvidence":
            serializeKubernetesPodEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesSecretEvidence":
            serializeKubernetesSecretEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesServiceAccountEvidence":
            serializeKubernetesServiceAccountEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.kubernetesServiceEvidence":
            serializeKubernetesServiceEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.mailboxConfigurationEvidence":
            serializeMailboxConfigurationEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.mailboxEvidence":
            serializeMailboxEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.mailClusterEvidence":
            serializeMailClusterEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.malwareEvidence":
            serializeMalwareEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.networkConnectionEvidence":
            serializeNetworkConnectionEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.nicEvidence":
            serializeNicEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.oauthApplicationEvidence":
            serializeOauthApplicationEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.processEvidence":
            serializeProcessEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.registryKeyEvidence":
            serializeRegistryKeyEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.registryValueEvidence":
            serializeRegistryValueEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.sasTokenEvidence":
            serializeSasTokenEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.securityGroupEvidence":
            serializeSecurityGroupEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.servicePrincipalEvidence":
            serializeServicePrincipalEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.submissionMailEvidence":
            serializeSubmissionMailEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.teamsMessageEvidence":
            serializeTeamsMessageEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.urlEvidence":
            serializeUrlEvidence(writer, alertEvidence, true);
            break;
        case "#microsoft.graph.security.userEvidence":
            serializeUserEvidence(writer, alertEvidence, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AlertSubmissionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertSubmissionAuditRecord(writer, alertSubmissionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!alertSubmissionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, alertSubmissionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AlertSubmissionResultDetailAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertSubmissionResultDetailAuditRecord(writer, alertSubmissionResultDetailAuditRecord = {}, isSerializingDerivedType = false) {
    if (!alertSubmissionResultDetailAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, alertSubmissionResultDetailAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AlertTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAlertTemplate(writer, alertTemplate = {}, isSerializingDerivedType = false) {
    if (!alertTemplate || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("category", alertTemplate.category);
    writer.writeObjectValue("customDetails", alertTemplate.customDetails, serializeAlertCustomDetails);
    writer.writeStringValue("description", alertTemplate.description);
    writer.writeObjectValue("entityMappings", alertTemplate.entityMappings, serializeEntityMappingConfiguration);
    writer.writeCollectionOfObjectValues("impactedAssets", alertTemplate.impactedAssets, serializeImpactedAsset);
    writer.writeCollectionOfPrimitiveValues("mitreTechniques", alertTemplate.mitreTechniques);
    writer.writeStringValue("@odata.type", alertTemplate.odataType);
    writer.writeStringValue("recommendedActions", alertTemplate.recommendedActions);
    writer.writeEnumValue("severity", alertTemplate.severity);
    writer.writeCollectionOfObjectValues("tactics", alertTemplate.tactics, serializeMitreTactic);
    writer.writeStringValue("title", alertTemplate.title);
    writer.writeAdditionalData(alertTemplate.additionalData);
}
/**
 * Serializes information the current object
 * @param AllowFileResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAllowFileResponseAction(writer, allowFileResponseAction = {}, isSerializingDerivedType = false) {
    if (!allowFileResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, allowFileResponseAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("deviceGroupNames", allowFileResponseAction.deviceGroupNames);
    writer.writeEnumValue("identifier", allowFileResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param AmazonResourceEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAmazonResourceEntityMapping(writer, amazonResourceEntityMapping = {}, isSerializingDerivedType = false) {
    if (!amazonResourceEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, amazonResourceEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("amazonResourceIdColumn", amazonResourceEntityMapping.amazonResourceIdColumn);
}
/**
 * Serializes information the current object
 * @param AmazonResourceEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAmazonResourceEvidence(writer, amazonResourceEvidence = {}, isSerializingDerivedType = false) {
    if (!amazonResourceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, amazonResourceEvidence, isSerializingDerivedType);
    writer.writeStringValue("amazonAccountId", amazonResourceEvidence.amazonAccountId);
    writer.writeStringValue("amazonResourceId", amazonResourceEvidence.amazonResourceId);
    writer.writeStringValue("resourceName", amazonResourceEvidence.resourceName);
    writer.writeStringValue("resourceType", amazonResourceEvidence.resourceType);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmail(writer, analyzedEmail = {}, isSerializingDerivedType = false) {
    if (!analyzedEmail || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, analyzedEmail, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("alertIds", analyzedEmail.alertIds);
    writer.writeCollectionOfObjectValues("attachments", analyzedEmail.attachments, serializeAnalyzedEmailAttachment);
    writer.writeObjectValue("authenticationDetails", analyzedEmail.authenticationDetails, serializeAnalyzedEmailAuthenticationDetail);
    writer.writeStringValue("bulkComplaintLevel", analyzedEmail.bulkComplaintLevel);
    writer.writeStringValue("clientType", analyzedEmail.clientType);
    writer.writeCollectionOfPrimitiveValues("contexts", analyzedEmail.contexts);
    writer.writeCollectionOfPrimitiveValues("detectionMethods", analyzedEmail.detectionMethods);
    writer.writeEnumValue("directionality", analyzedEmail.directionality);
    writer.writeStringValue("distributionList", analyzedEmail.distributionList);
    writer.writeCollectionOfObjectValues("dlpRules", analyzedEmail.dlpRules, serializeAnalyzedEmailDlpRuleInfo);
    writer.writeStringValue("emailClusterId", analyzedEmail.emailClusterId);
    writer.writeCollectionOfObjectValues("exchangeTransportRules", analyzedEmail.exchangeTransportRules, serializeAnalyzedEmailExchangeTransportRuleInfo);
    writer.writeStringValue("forwardingDetail", analyzedEmail.forwardingDetail);
    writer.writeStringValue("inboundConnectorFormattedName", analyzedEmail.inboundConnectorFormattedName);
    writer.writeStringValue("internetMessageId", analyzedEmail.internetMessageId);
    writer.writeStringValue("language", analyzedEmail.language);
    writer.writeObjectValue("latestDelivery", analyzedEmail.latestDelivery, serializeAnalyzedEmailDeliveryDetail);
    writer.writeDateValue("loggedDateTime", analyzedEmail.loggedDateTime);
    writer.writeStringValue("networkMessageId", analyzedEmail.networkMessageId);
    writer.writeObjectValue("originalDelivery", analyzedEmail.originalDelivery, serializeAnalyzedEmailDeliveryDetail);
    writer.writeCollectionOfPrimitiveValues("overrideSources", analyzedEmail.overrideSources);
    writer.writeStringValue("phishConfidenceLevel", analyzedEmail.phishConfidenceLevel);
    writer.writeStringValue("policy", analyzedEmail.policy);
    writer.writeStringValue("policyAction", analyzedEmail.policyAction);
    writer.writeStringValue("policyType", analyzedEmail.policyType);
    writer.writeStringValue("primaryOverrideSource", analyzedEmail.primaryOverrideSource);
    writer.writeObjectValue("recipientDetail", analyzedEmail.recipientDetail, serializeAnalyzedEmailRecipientDetail);
    writer.writeStringValue("recipientEmailAddress", analyzedEmail.recipientEmailAddress);
    writer.writeStringValue("returnPath", analyzedEmail.returnPath);
    writer.writeObjectValue("senderDetail", analyzedEmail.senderDetail, serializeAnalyzedEmailSenderDetail);
    writer.writeNumberValue("sizeInBytes", analyzedEmail.sizeInBytes);
    writer.writeStringValue("spamConfidenceLevel", analyzedEmail.spamConfidenceLevel);
    writer.writeStringValue("subject", analyzedEmail.subject);
    writer.writeCollectionOfObjectValues("threatDetectionDetails", analyzedEmail.threatDetectionDetails, serializeThreatDetectionDetail);
    if (analyzedEmail.threatTypes)
        writer.writeCollectionOfEnumValues("threatTypes", analyzedEmail.threatTypes);
    writer.writeCollectionOfObjectValues("timelineEvents", analyzedEmail.timelineEvents, serializeTimelineEvent);
    writer.writeCollectionOfObjectValues("urls", analyzedEmail.urls, serializeAnalyzedEmailUrl);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailAttachment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailAttachment(writer, analyzedEmailAttachment = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailAttachment || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("detonationDetails", analyzedEmailAttachment.detonationDetails, serializeDetonationDetails);
    writer.writeStringValue("fileExtension", analyzedEmailAttachment.fileExtension);
    writer.writeStringValue("fileName", analyzedEmailAttachment.fileName);
    writer.writeNumberValue("fileSize", analyzedEmailAttachment.fileSize);
    writer.writeStringValue("fileType", analyzedEmailAttachment.fileType);
    writer.writeStringValue("malwareFamily", analyzedEmailAttachment.malwareFamily);
    writer.writeStringValue("@odata.type", analyzedEmailAttachment.odataType);
    writer.writeStringValue("sha256", analyzedEmailAttachment.sha256);
    writer.writeStringValue("tenantAllowBlockListDetailInfo", analyzedEmailAttachment.tenantAllowBlockListDetailInfo);
    writer.writeEnumValue("threatType", analyzedEmailAttachment.threatType);
    writer.writeAdditionalData(analyzedEmailAttachment.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailAuthenticationDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailAuthenticationDetail(writer, analyzedEmailAuthenticationDetail = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailAuthenticationDetail || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("compositeAuthentication", analyzedEmailAuthenticationDetail.compositeAuthentication);
    writer.writeStringValue("dkim", analyzedEmailAuthenticationDetail.dkim);
    writer.writeStringValue("dmarc", analyzedEmailAuthenticationDetail.dmarc);
    writer.writeStringValue("@odata.type", analyzedEmailAuthenticationDetail.odataType);
    writer.writeStringValue("senderPolicyFramework", analyzedEmailAuthenticationDetail.senderPolicyFramework);
    writer.writeAdditionalData(analyzedEmailAuthenticationDetail.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailCollectionResponse(writer, analyzedEmailCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, analyzedEmailCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", analyzedEmailCollectionResponse.value, serializeAnalyzedEmail);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailDeliveryDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailDeliveryDetail(writer, analyzedEmailDeliveryDetail = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailDeliveryDetail || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("action", analyzedEmailDeliveryDetail.action);
    writer.writeStringValue("latestThreats", analyzedEmailDeliveryDetail.latestThreats);
    writer.writeEnumValue("location", analyzedEmailDeliveryDetail.location);
    writer.writeStringValue("@odata.type", analyzedEmailDeliveryDetail.odataType);
    writer.writeStringValue("originalThreats", analyzedEmailDeliveryDetail.originalThreats);
    writer.writeAdditionalData(analyzedEmailDeliveryDetail.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailDlpRuleInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailDlpRuleInfo(writer, analyzedEmailDlpRuleInfo = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailDlpRuleInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", analyzedEmailDlpRuleInfo.name);
    writer.writeStringValue("@odata.type", analyzedEmailDlpRuleInfo.odataType);
    writer.writeStringValue("ruleId", analyzedEmailDlpRuleInfo.ruleId);
    writer.writeAdditionalData(analyzedEmailDlpRuleInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailExchangeTransportRuleInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailExchangeTransportRuleInfo(writer, analyzedEmailExchangeTransportRuleInfo = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailExchangeTransportRuleInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", analyzedEmailExchangeTransportRuleInfo.name);
    writer.writeStringValue("@odata.type", analyzedEmailExchangeTransportRuleInfo.odataType);
    writer.writeStringValue("ruleId", analyzedEmailExchangeTransportRuleInfo.ruleId);
    writer.writeAdditionalData(analyzedEmailExchangeTransportRuleInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailRecipientDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailRecipientDetail(writer, analyzedEmailRecipientDetail = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailRecipientDetail || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfPrimitiveValues("ccRecipients", analyzedEmailRecipientDetail.ccRecipients);
    writer.writeStringValue("domainName", analyzedEmailRecipientDetail.domainName);
    writer.writeStringValue("@odata.type", analyzedEmailRecipientDetail.odataType);
    writer.writeAdditionalData(analyzedEmailRecipientDetail.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailSenderDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailSenderDetail(writer, analyzedEmailSenderDetail = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailSenderDetail || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("displayName", analyzedEmailSenderDetail.displayName);
    writer.writeDateValue("domainCreationDateTime", analyzedEmailSenderDetail.domainCreationDateTime);
    writer.writeStringValue("domainName", analyzedEmailSenderDetail.domainName);
    writer.writeStringValue("domainOwner", analyzedEmailSenderDetail.domainOwner);
    writer.writeStringValue("fromAddress", analyzedEmailSenderDetail.fromAddress);
    writer.writeStringValue("ipv4", analyzedEmailSenderDetail.ipv4);
    writer.writeStringValue("location", analyzedEmailSenderDetail.location);
    writer.writeStringValue("mailFromAddress", analyzedEmailSenderDetail.mailFromAddress);
    writer.writeStringValue("mailFromDomainName", analyzedEmailSenderDetail.mailFromDomainName);
    writer.writeStringValue("@odata.type", analyzedEmailSenderDetail.odataType);
    writer.writeAdditionalData(analyzedEmailSenderDetail.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedEmailUrl The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedEmailUrl(writer, analyzedEmailUrl = {}, isSerializingDerivedType = false) {
    if (!analyzedEmailUrl || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("detectionMethod", analyzedEmailUrl.detectionMethod);
    writer.writeObjectValue("detonationDetails", analyzedEmailUrl.detonationDetails, serializeDetonationDetails);
    writer.writeStringValue("@odata.type", analyzedEmailUrl.odataType);
    writer.writeStringValue("tenantAllowBlockListDetailInfo", analyzedEmailUrl.tenantAllowBlockListDetailInfo);
    writer.writeEnumValue("threatType", analyzedEmailUrl.threatType);
    writer.writeStringValue("url", analyzedEmailUrl.url);
    writer.writeAdditionalData(analyzedEmailUrl.additionalData);
}
/**
 * Serializes information the current object
 * @param AnalyzedMessageEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAnalyzedMessageEvidence(writer, analyzedMessageEvidence = {}, isSerializingDerivedType = false) {
    if (!analyzedMessageEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, analyzedMessageEvidence, isSerializingDerivedType);
    writer.writeStringValue("antiSpamDirection", analyzedMessageEvidence.antiSpamDirection);
    writer.writeNumberValue("attachmentsCount", analyzedMessageEvidence.attachmentsCount);
    writer.writeStringValue("deliveryAction", analyzedMessageEvidence.deliveryAction);
    writer.writeStringValue("deliveryLocation", analyzedMessageEvidence.deliveryLocation);
    writer.writeStringValue("internetMessageId", analyzedMessageEvidence.internetMessageId);
    writer.writeStringValue("language", analyzedMessageEvidence.language);
    writer.writeStringValue("networkMessageId", analyzedMessageEvidence.networkMessageId);
    writer.writeObjectValue("p1Sender", analyzedMessageEvidence.p1Sender, serializeEmailSender);
    writer.writeObjectValue("p2Sender", analyzedMessageEvidence.p2Sender, serializeEmailSender);
    writer.writeDateValue("receivedDateTime", analyzedMessageEvidence.receivedDateTime);
    writer.writeStringValue("recipientEmailAddress", analyzedMessageEvidence.recipientEmailAddress);
    writer.writeStringValue("senderIp", analyzedMessageEvidence.senderIp);
    writer.writeStringValue("subject", analyzedMessageEvidence.subject);
    writer.writeCollectionOfPrimitiveValues("threatDetectionMethods", analyzedMessageEvidence.threatDetectionMethods);
    writer.writeCollectionOfPrimitiveValues("threats", analyzedMessageEvidence.threats);
    writer.writeNumberValue("urlCount", analyzedMessageEvidence.urlCount);
    writer.writeCollectionOfPrimitiveValues("urls", analyzedMessageEvidence.urls);
    writer.writeStringValue("urn", analyzedMessageEvidence.urn);
}
/**
 * Serializes information the current object
 * @param ApplyLabelAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApplyLabelAction(writer, applyLabelAction = {}, isSerializingDerivedType = false) {
    if (!applyLabelAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, applyLabelAction, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("actions", applyLabelAction.actions, serializeInformationProtectionAction);
    writer.writeEnumValue("actionSource", applyLabelAction.actionSource);
    writer.writeCollectionOfPrimitiveValues("responsibleSensitiveTypeIds", applyLabelAction.responsibleSensitiveTypeIds);
    writer.writeStringValue("sensitivityLabelId", applyLabelAction.sensitivityLabelId);
}
/**
 * Serializes information the current object
 * @param Article The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeArticle(writer, article = {}, isSerializingDerivedType = false) {
    if (!article || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, article, isSerializingDerivedType);
    writer.writeObjectValue("body", article.body, serializeFormattedContent);
    writer.writeDateValue("createdDateTime", article.createdDateTime);
    writer.writeStringValue("imageUrl", article.imageUrl);
    writer.writeCollectionOfObjectValues("indicators", article.indicators, serializeArticleIndicator);
    writer.writeBooleanValue("isFeatured", article.isFeatured);
    writer.writeDateValue("lastUpdatedDateTime", article.lastUpdatedDateTime);
    writer.writeObjectValue("summary", article.summary, serializeFormattedContent);
    writer.writeCollectionOfPrimitiveValues("tags", article.tags);
    writer.writeStringValue("title", article.title);
}
/**
 * Serializes information the current object
 * @param ArticleCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeArticleCollectionResponse(writer, articleCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!articleCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, articleCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", articleCollectionResponse.value, serializeArticle);
}
/**
 * Serializes information the current object
 * @param ArticleIndicator The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeArticleIndicator(writer, articleIndicator = {}, isSerializingDerivedType = false) {
    if (!articleIndicator || isSerializingDerivedType) {
        return;
    }
    serializeIndicator(writer, articleIndicator, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ArticleIndicatorCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeArticleIndicatorCollectionResponse(writer, articleIndicatorCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!articleIndicatorCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, articleIndicatorCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", articleIndicatorCollectionResponse.value, serializeArticleIndicator);
}
/**
 * Serializes information the current object
 * @param Artifact The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeArtifact(writer, artifact = {}, isSerializingDerivedType = false) {
    if (!artifact || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, artifact, isSerializingDerivedType);
    switch (artifact.odataType) {
        case "#microsoft.graph.security.host":
            serializeHost(writer, artifact, true);
            break;
        case "#microsoft.graph.security.hostComponent":
            serializeHostComponent(writer, artifact, true);
            break;
        case "#microsoft.graph.security.hostCookie":
            serializeHostCookie(writer, artifact, true);
            break;
        case "#microsoft.graph.security.hostname":
            serializeHostname(writer, artifact, true);
            break;
        case "#microsoft.graph.security.hostSslCertificate":
            serializeHostSslCertificate(writer, artifact, true);
            break;
        case "#microsoft.graph.security.hostTracker":
            serializeHostTracker(writer, artifact, true);
            break;
        case "#microsoft.graph.security.ipAddress":
            serializeIpAddress(writer, artifact, true);
            break;
        case "#microsoft.graph.security.passiveDnsRecord":
            serializePassiveDnsRecord(writer, artifact, true);
            break;
        case "#microsoft.graph.security.sslCertificate":
            serializeSslCertificate(writer, artifact, true);
            break;
        case "#microsoft.graph.security.unclassifiedArtifact":
            serializeUnclassifiedArtifact(writer, artifact, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AttackSimAdminAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttackSimAdminAuditRecord(writer, attackSimAdminAuditRecord = {}, isSerializingDerivedType = false) {
    if (!attackSimAdminAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, attackSimAdminAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AttackSimAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttackSimAuditRecord(writer, attackSimAuditRecord = {}, isSerializingDerivedType = false) {
    if (!attackSimAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, attackSimAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AttackSimulationInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttackSimulationInfo(writer, attackSimulationInfo = {}, isSerializingDerivedType = false) {
    if (!attackSimulationInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("attackSimDateTime", attackSimulationInfo.attackSimDateTime);
    writer.writeDurationValue("attackSimDurationTime", attackSimulationInfo.attackSimDurationTime);
    writer.writeGuidValue("attackSimId", attackSimulationInfo.attackSimId);
    writer.writeStringValue("attackSimUserId", attackSimulationInfo.attackSimUserId);
    writer.writeStringValue("@odata.type", attackSimulationInfo.odataType);
    writer.writeAdditionalData(attackSimulationInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param AuditConfigAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditConfigAuditRecord(writer, auditConfigAuditRecord = {}, isSerializingDerivedType = false) {
    if (!auditConfigAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, auditConfigAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AuditCoreRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditCoreRoot(writer, auditCoreRoot = {}, isSerializingDerivedType = false) {
    if (!auditCoreRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, auditCoreRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("queries", auditCoreRoot.queries, serializeAuditLogQuery);
}
/**
 * Serializes information the current object
 * @param AuditData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditData(writer, auditData = {}, isSerializingDerivedType = false) {
    if (!auditData || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("dynamicProperties", auditData.dynamicProperties, serializeAuditRecordTypeDictionary);
    writer.writeStringValue("@odata.type", auditData.odataType);
    writer.writeAdditionalData(auditData.additionalData);
    switch (auditData.odataType) {
        case "#microsoft.graph.security.a365AiExecuteTool":
            serializeA365AiExecuteTool(writer, auditData, true);
            break;
        case "#microsoft.graph.security.a365AiInferenceCall":
            serializeA365AiInferenceCall(writer, auditData, true);
            break;
        case "#microsoft.graph.security.a365AiInvokeAgent":
            serializeA365AiInvokeAgent(writer, auditData, true);
            break;
        case "#microsoft.graph.security.a365AiRunSummary":
            serializeA365AiRunSummary(writer, auditData, true);
            break;
        case "#microsoft.graph.security.a365SpanOutputs":
            serializeA365SpanOutputs(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aadRiskDetectionAuditRecord":
            serializeAadRiskDetectionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aedAuditRecord":
            serializeAedAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.agentAdminActivityRecord":
            serializeAgentAdminActivityRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.agentSettingAdminActivity":
            serializeAgentSettingAdminActivity(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiAppInteractionAuditRecord":
            serializeAiAppInteractionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiExecuteToolAuditRecord":
            serializeAiExecuteToolAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiInteractionsChangeNotificationAuditRecord":
            serializeAiInteractionsChangeNotificationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiInteractionsExportAuditRecord":
            serializeAiInteractionsExportAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiInteractionsSubscriptionAuditRecord":
            serializeAiInteractionsSubscriptionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aiInvokeAgentAuditRecord":
            serializeAiInvokeAgentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipDiscover":
            serializeAipDiscover(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipFileDeleted":
            serializeAipFileDeleted(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipHeartBeat":
            serializeAipHeartBeat(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipProtectionActionLogRequest":
            serializeAipProtectionActionLogRequest(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipScannerDiscoverEvent":
            serializeAipScannerDiscoverEvent(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aipSensitivityLabelActionLogRequest":
            serializeAipSensitivityLabelActionLogRequest(writer, auditData, true);
            break;
        case "#microsoft.graph.security.airAdminActionInvestigationData":
            serializeAirAdminActionInvestigationData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.airInvestigationData":
            serializeAirInvestigationData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.airManualInvestigationData":
            serializeAirManualInvestigationData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.aISpanOutputsAuditRecord":
            serializeAISpanOutputsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.alertSubmissionAuditRecord":
            serializeAlertSubmissionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.alertSubmissionResultDetailAuditRecord":
            serializeAlertSubmissionResultDetailAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.attackSimAdminAuditRecord":
            serializeAttackSimAdminAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.attackSimAuditRecord":
            serializeAttackSimAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.auditConfigAuditRecord":
            serializeAuditConfigAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.auditSearchAuditRecord":
            serializeAuditSearchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azfwApplicationRuleAggregationEventRecord":
            serializeAzfwApplicationRuleAggregationEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azfwDnsQueryEventRecord":
            serializeAzfwDnsQueryEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azfwNetworkRuleEventRecord":
            serializeAzfwNetworkRuleEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azureActiveDirectoryAccountLogonAuditRecord":
            serializeAzureActiveDirectoryAccountLogonAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azureActiveDirectoryAuditRecord":
            serializeAzureActiveDirectoryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azureActiveDirectoryStsLogonAuditRecord":
            serializeAzureActiveDirectoryStsLogonAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.azureAISearchAuditRecord":
            serializeAzureAISearchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.campaignAuditRecord":
            serializeCampaignAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.ccraiPolicyViolationRecord":
            serializeCcraiPolicyViolationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpClassifierHealthRecord":
            serializeCdpClassifierHealthRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpColdCrawlStatusRecord":
            serializeCdpColdCrawlStatusRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpConsumptionResourceRecord":
            serializeCdpConsumptionResourceRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpContentExplorerAggregateRecord":
            serializeCdpContentExplorerAggregateRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpdlmaiInteractionInsightsRecord":
            serializeCdpdlmaiInteractionInsightsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpDlpSensitiveEndpointAuditRecord":
            serializeCdpDlpSensitiveEndpointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpLogRecord":
            serializeCdpLogRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpOcrBillingRecord":
            serializeCdpOcrBillingRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cdpResourceScopeChangeEventRecord":
            serializeCdpResourceScopeChangeEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cloudUpdateDeviceConfigAuditRecord":
            serializeCloudUpdateDeviceConfigAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cloudUpdateProfileConfigAuditRecord":
            serializeCloudUpdateProfileConfigAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cloudUpdateTenantConfigAuditRecord":
            serializeCloudUpdateTenantConfigAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceConnectorAuditRecord":
            serializeComplianceConnectorAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLMExchangeAuditRecord":
            serializeComplianceDLMExchangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLMSharePointAuditRecord":
            serializeComplianceDLMSharePointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPApplicationsAuditRecord":
            serializeComplianceDLPApplicationsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPApplicationsClassificationAuditRecord":
            serializeComplianceDLPApplicationsClassificationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPEndpointAuditRecord":
            serializeComplianceDLPEndpointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPEndpointDiscoveryAuditRecord":
            serializeComplianceDLPEndpointDiscoveryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPEnforcementAuditRecord":
            serializeComplianceDLPEnforcementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPExchangeAuditRecord":
            serializeComplianceDLPExchangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPExchangeClassificationAuditRecord":
            serializeComplianceDLPExchangeClassificationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPExchangeClassificationCdpRecord":
            serializeComplianceDLPExchangeClassificationCdpRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPExchangeDiscoveryAuditRecord":
            serializeComplianceDLPExchangeDiscoveryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPSharePointAuditRecord":
            serializeComplianceDLPSharePointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPSharePointClassificationAuditRecord":
            serializeComplianceDLPSharePointClassificationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPSharePointClassificationCdpRecord":
            serializeComplianceDLPSharePointClassificationCdpRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceDLPSharePointClassificationExtendedAuditRecord":
            serializeComplianceDLPSharePointClassificationExtendedAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceExchangeOcrAuditRecord":
            serializeComplianceExchangeOcrAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceManagerActionRecord":
            serializeComplianceManagerActionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.compliancePolicyGradingSharePointAuditRecord":
            serializeCompliancePolicyGradingSharePointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceSettingsChangeAuditRecord":
            serializeComplianceSettingsChangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceSitGradingSharePointAuditRecord":
            serializeComplianceSitGradingSharePointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.complianceSupervisionExchangeAuditRecord":
            serializeComplianceSupervisionExchangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.connectedAIAppInteractionAuditRecord":
            serializeConnectedAIAppInteractionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.consumptionResourceAuditRecord":
            serializeConsumptionResourceAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.contentStoreMetadataRecord":
            serializeContentStoreMetadataRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotAgentManagementAuditRecord":
            serializeCopilotAgentManagementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotForSecurityLoggingAuditRecord":
            serializeCopilotForSecurityLoggingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotForSecurityTriggerAuditRecord":
            serializeCopilotForSecurityTriggerAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotInteractionAuditRecord":
            serializeCopilotInteractionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotPluginSettingAuditRecord":
            serializeCopilotPluginSettingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotPromptBookSettingAuditRecord":
            serializeCopilotPromptBookSettingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotSessionSharingAuditRecord":
            serializeCopilotSessionSharingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotSettingAuditRecord":
            serializeCopilotSettingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.copilotWorkspaceSettingAuditRecord":
            serializeCopilotWorkspaceSettingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.coreReportingSettingsAuditRecord":
            serializeCoreReportingSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.cortanaBriefingAuditRecord":
            serializeCortanaBriefingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.criticalAssetManagementClassificationRecord":
            serializeCriticalAssetManagementClassificationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.crmEntityOperationAuditRecord":
            serializeCrmEntityOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.crossTenantAccessPolicyAuditRecord":
            serializeCrossTenantAccessPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.customerKeyServiceEncryptionAuditRecord":
            serializeCustomerKeyServiceEncryptionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataCenterSecurityCmdletAuditRecord":
            serializeDataCenterSecurityCmdletAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataGovernanceAuditRecord":
            serializeDataGovernanceAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataInsightsRestApiAuditRecord":
            serializeDataInsightsRestApiAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataLakeExportOperationAuditRecord":
            serializeDataLakeExportOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataSecurityInvestigationAuditRecord":
            serializeDataSecurityInvestigationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dataShareOperationAuditRecord":
            serializeDataShareOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.defaultAuditData":
            serializeDefaultAuditData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.defenderCaseManagementAuditRecord":
            serializeDefenderCaseManagementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.defenderPreviewFeaturesRecord":
            serializeDefenderPreviewFeaturesRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.defenderSecurityForAIConfigurationAuditRecord":
            serializeDefenderSecurityForAIConfigurationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.deployFeatureActivityRecord":
            serializeDeployFeatureActivityRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.deviceDiscoverySettingsAuthenticatedScansRecord":
            serializeDeviceDiscoverySettingsAuthenticatedScansRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.deviceDiscoverySettingsExclusionRecord":
            serializeDeviceDiscoverySettingsExclusionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.deviceDiscoverySettingsRecord":
            serializeDeviceDiscoverySettingsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.discoveryAuditRecord":
            serializeDiscoveryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dlpEndpointAuditRecord":
            serializeDlpEndpointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dlpImportResultAuditRecord":
            serializeDlpImportResultAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dlpSensitiveInformationTypeRulePackageCmdletRecord":
            serializeDlpSensitiveInformationTypeRulePackageCmdletRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dragonCopilotAccessRecord":
            serializeDragonCopilotAccessRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dragonCopilotAdminRecord":
            serializeDragonCopilotAdminRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dragonCopilotClinicalDataRecord":
            serializeDragonCopilotClinicalDataRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dragonCopilotSessionRecord":
            serializeDragonCopilotSessionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.dynamics365BusinessCentralAuditRecord":
            serializeDynamics365BusinessCentralAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.ehrConnectorAuditBaseRecord":
            serializeEhrConnectorAuditBaseRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.eopSubmissionFeedEntityAuditRecord":
            serializeEopSubmissionFeedEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.exchangeAdminAuditRecord":
            serializeExchangeAdminAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.exchangeAggregatedMailboxAuditRecord":
            serializeExchangeAggregatedMailboxAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.exchangeAggregatedOperationRecord":
            serializeExchangeAggregatedOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.exchangeMailboxAuditGroupRecord":
            serializeExchangeMailboxAuditGroupRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.exchangeMailboxAuditRecord":
            serializeExchangeMailboxAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.fabricAuditRecord":
            serializeFabricAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.fabricPolicyRecord":
            serializeFabricPolicyRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.healthcareSignalRecord":
            serializeHealthcareSignalRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.hostedRpaAuditRecord":
            serializeHostedRpaAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.hrSignalAuditRecord":
            serializeHrSignalAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.hygieneEventRecord":
            serializeHygieneEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.informationBarrierPolicyApplicationAuditRecord":
            serializeInformationBarrierPolicyApplicationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.informationWorkerProtectionAuditRecord":
            serializeInformationWorkerProtectionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.insiderRiskScopedUserInsightsRecord":
            serializeInsiderRiskScopedUserInsightsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.insiderRiskScopedUsersRecord":
            serializeInsiderRiskScopedUsersRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.integratedAppsAppAdminActivityAuditRecord":
            serializeIntegratedAppsAppAdminActivityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.integratedAppsAppSettingsAdminActivityAuditRecord":
            serializeIntegratedAppsAppSettingsAdminActivityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.irmActivityAuditTrailRecord":
            serializeIrmActivityAuditTrailRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.irmUserDefinedDetectionRecord":
            serializeIrmUserDefinedDetectionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.kaizalaAuditRecord":
            serializeKaizalaAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.labelAnalyticsAggregateAuditRecord":
            serializeLabelAnalyticsAggregateAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.labelContentExplorerAuditRecord":
            serializeLabelContentExplorerAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.largeContentMetadataAuditRecord":
            serializeLargeContentMetadataAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.m365ComplianceConnectorAuditRecord":
            serializeM365ComplianceConnectorAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.m365daadAuditRecord":
            serializeM365daadAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.m365odspAssetMetadataRecord":
            serializeM365odspAssetMetadataRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.m365SearchSectionsRecord":
            serializeM365SearchSectionsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mailSubmissionData":
            serializeMailSubmissionData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.managedServicesAuditRecord":
            serializeManagedServicesAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.managedTenantsAuditRecord":
            serializeManagedTenantsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mapgAlertsAuditRecord":
            serializeMapgAlertsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mapgOnboardAuditRecord":
            serializeMapgOnboardAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mapgPolicyAuditRecord":
            serializeMapgPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mapgRemediationAuditRecord":
            serializeMapgRemediationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mcasAlertsAuditRecord":
            serializeMcasAlertsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mdaAuditRecord":
            serializeMdaAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mdaDataSecuritySignalRecord":
            serializeMdaDataSecuritySignalRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mDASHAuditRecord":
            serializeMDASHAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mdatpAuditRecord":
            serializeMdatpAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mdcEventsRecord":
            serializeMdcEventsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mdiAuditRecord":
            serializeMdiAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.meshWorldsAuditRecord":
            serializeMeshWorldsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365BackupBackupItemAuditRecord":
            serializeMicrosoft365BackupBackupItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365BackupBackupPolicyAuditRecord":
            serializeMicrosoft365BackupBackupPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365BackupGranularBrowseTaskAuditRecord":
            serializeMicrosoft365BackupGranularBrowseTaskAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365BackupRestoreItemAuditRecord":
            serializeMicrosoft365BackupRestoreItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365BackupRestoreTaskAuditRecord":
            serializeMicrosoft365BackupRestoreTaskAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoft365CopilotScheduledPromptAuditRecord":
            serializeMicrosoft365CopilotScheduledPromptAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftDefenderExpertsXDRAuditRecord":
            serializeMicrosoftDefenderExpertsXDRAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftFlowAuditRecord":
            serializeMicrosoftFlowAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftFormsAuditRecord":
            serializeMicrosoftFormsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftGraphDataConnectConsent":
            serializeMicrosoftGraphDataConnectConsent(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftGraphDataConnectOperation":
            serializeMicrosoftGraphDataConnectOperation(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewDataCatalogOperationRecord":
            serializeMicrosoftPurviewDataCatalogOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewDataMapOperationRecord":
            serializeMicrosoftPurviewDataMapOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewMetadataPolicyOperationRecord":
            serializeMicrosoftPurviewMetadataPolicyOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewPolicyOperationRecord":
            serializeMicrosoftPurviewPolicyOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewPrivacyAuditEvent":
            serializeMicrosoftPurviewPrivacyAuditEvent(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftPurviewUnifiedCatalogOperationRecord":
            serializeMicrosoftPurviewUnifiedCatalogOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftStreamAuditRecord":
            serializeMicrosoftStreamAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsAdminAuditRecord":
            serializeMicrosoftTeamsAdminAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsAnalyticsAuditRecord":
            serializeMicrosoftTeamsAnalyticsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsAuditRecord":
            serializeMicrosoftTeamsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsDeviceAuditRecord":
            serializeMicrosoftTeamsDeviceAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsRetentionLabelActionAuditRecord":
            serializeMicrosoftTeamsRetentionLabelActionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsSensitivityLabelActionAuditRecord":
            serializeMicrosoftTeamsSensitivityLabelActionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsShiftsAuditRecord":
            serializeMicrosoftTeamsShiftsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.microsoftTeamsUserConcernAuditRecord":
            serializeMicrosoftTeamsUserConcernAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelExchangeItemAuditRecord":
            serializeMipAutoLabelExchangeItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelProgressFeedbackAuditRecord":
            serializeMipAutoLabelProgressFeedbackAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelSharePointItemAuditRecord":
            serializeMipAutoLabelSharePointItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelSharePointPolicyLocationAuditRecord":
            serializeMipAutoLabelSharePointPolicyLocationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelSimulationSharePointCompletionRecord":
            serializeMipAutoLabelSimulationSharePointCompletionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelSimulationSharePointProgressRecord":
            serializeMipAutoLabelSimulationSharePointProgressRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipAutoLabelSimulationStatisticsRecord":
            serializeMipAutoLabelSimulationStatisticsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipExactDataMatchAuditRecord":
            serializeMipExactDataMatchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipLabelAnalyticsAuditRecord":
            serializeMipLabelAnalyticsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mipLabelAuditRecord":
            serializeMipLabelAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mosAgentInfoRecord":
            serializeMosAgentInfoRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mosAgentInfoRecordV2":
            serializeMosAgentInfoRecordV2(writer, auditData, true);
            break;
        case "#microsoft.graph.security.ms365dCustomDetectionAuditRecord":
            serializeMs365dCustomDetectionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.ms365dIncidentAuditRecord":
            serializeMs365dIncidentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.ms365dSuppressionRuleAuditRecord":
            serializeMs365dSuppressionRuleAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msdeCustomCollectionAuditRecord":
            serializeMsdeCustomCollectionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msdeGeneralSettingsAuditRecord":
            serializeMsdeGeneralSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msdeIndicatorsSettingsAuditRecord":
            serializeMsdeIndicatorsSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msdeResponseActionsAuditRecord":
            serializeMsdeResponseActionsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msdeRolesSettingsAuditRecord":
            serializeMsdeRolesSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.mspVectorSearchContentMetadataAuditRecord":
            serializeMspVectorSearchContentMetadataAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.msticNationStateNotificationRecord":
            serializeMsticNationStateNotificationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.multiStageDispositionAuditRecord":
            serializeMultiStageDispositionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.myAnalyticsSettingsAuditRecord":
            serializeMyAnalyticsSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.noisyAlertPolicyAuditRecord":
            serializeNoisyAlertPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.officeNativeAuditRecord":
            serializeOfficeNativeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.omePortalAuditRecord":
            serializeOmePortalAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.onDemandSharePointClassificationAuditRecord":
            serializeOnDemandSharePointClassificationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.oneDriveAuditRecord":
            serializeOneDriveAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.onPremisesFileShareScannerDLPAuditRecord":
            serializeOnPremisesFileShareScannerDLPAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.onPremisesSharePointScannerDLPAuditRecord":
            serializeOnPremisesSharePointScannerDLPAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.organizationalDataInM365AuditRecord":
            serializeOrganizationalDataInM365AuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.outlookCopilotAutomationAuditRecord":
            serializeOutlookCopilotAutomationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.owaGetAccessTokenForResourceAuditRecord":
            serializeOwaGetAccessTokenForResourceAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.p4aiAssessmentCategoryRecord":
            serializeP4aiAssessmentCategoryRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.p4aiAssessmentFabricScannerRecord":
            serializeP4aiAssessmentFabricScannerRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.p4aiAssessmentLocationResultRecord":
            serializeP4aiAssessmentLocationResultRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.p4aiAssessmentRecord":
            serializeP4aiAssessmentRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.p4AIRiskScoreRecord":
            serializeP4AIRiskScoreRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.peopleAdminSettingsAuditRecord":
            serializePeopleAdminSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.physicalBadgingSignalAuditRecord":
            serializePhysicalBadgingSignalAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.placesDirectoryAuditRecord":
            serializePlacesDirectoryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerChatMessageAuditRecord":
            serializePlannerChatMessageAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerChatMessageListAuditRecord":
            serializePlannerChatMessageListAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerCopyPlanAuditRecord":
            serializePlannerCopyPlanAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerGoalAuditRecord":
            serializePlannerGoalAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerGoalListAuditRecord":
            serializePlannerGoalListAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerPlanAuditRecord":
            serializePlannerPlanAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerPlanListAuditRecord":
            serializePlannerPlanListAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerPlanSensitivityLabelAuditRecord":
            serializePlannerPlanSensitivityLabelAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerRosterAuditRecord":
            serializePlannerRosterAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerRosterSensitivityLabelAuditRecord":
            serializePlannerRosterSensitivityLabelAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerTaskAuditRecord":
            serializePlannerTaskAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerTaskListAuditRecord":
            serializePlannerTaskListAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.plannerTenantSettingsAuditRecord":
            serializePlannerTenantSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.policyConfigChangeAuditRecord":
            serializePolicyConfigChangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerAppsAuditAppRecord":
            serializePowerAppsAuditAppRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerAppsAuditPlanRecord":
            serializePowerAppsAuditPlanRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerAppsAuditResourceRecord":
            serializePowerAppsAuditResourceRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerBIAuditRecord":
            serializePowerBIAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerBIDlpAuditRecord":
            serializePowerBIDlpAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPagesSiteAuditRecord":
            serializePowerPagesSiteAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformAdminDlpAuditRecord":
            serializePowerPlatformAdminDlpAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformAdminEnvironmentAuditRecord":
            serializePowerPlatformAdminEnvironmentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformAdministratorActivityRecord":
            serializePowerPlatformAdministratorActivityRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformLockboxResourceAccessRequestAuditRecord":
            serializePowerPlatformLockboxResourceAccessRequestAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformLockboxResourceCommandAuditRecord":
            serializePowerPlatformLockboxResourceCommandAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformServiceActivityAuditRecord":
            serializePowerPlatformServiceActivityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.powerPlatformTenantIsolationRecord":
            serializePowerPlatformTenantIsolationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyDataMatchAuditRecord":
            serializePrivacyDataMatchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyDataMinimizationRecord":
            serializePrivacyDataMinimizationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyDigestEmailRecord":
            serializePrivacyDigestEmailRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyOpenAccessAuditRecord":
            serializePrivacyOpenAccessAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyPortalAuditRecord":
            serializePrivacyPortalAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyRemediationActionRecord":
            serializePrivacyRemediationActionRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privacyRemediationRecord":
            serializePrivacyRemediationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privaPrivacyAssessmentOperationRecord":
            serializePrivaPrivacyAssessmentOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.privaPrivacyConsentOperationRecord":
            serializePrivaPrivacyConsentOperationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectAuditRecord":
            serializeProjectAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebAssignedToMeSettingsAuditRecord":
            serializeProjectForTheWebAssignedToMeSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebProjectAuditRecord":
            serializeProjectForTheWebProjectAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebProjectSettingsAuditRecord":
            serializeProjectForTheWebProjectSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebRoadmapAuditRecord":
            serializeProjectForTheWebRoadmapAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebRoadmapItemAuditRecord":
            serializeProjectForTheWebRoadmapItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebRoadmapSettingsAuditRecord":
            serializeProjectForTheWebRoadmapSettingsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.projectForTheWebTaskAuditRecord":
            serializeProjectForTheWebTaskAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.publicFolderAuditRecord":
            serializePublicFolderAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.purviewInsiderRiskAlertsRecord":
            serializePurviewInsiderRiskAlertsRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.purviewInsiderRiskCasesRecord":
            serializePurviewInsiderRiskCasesRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.purviewMCRecommendationRecord":
            serializePurviewMCRecommendationRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.purviewPostureAgentAuditRecord":
            serializePurviewPostureAgentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.quarantineAuditRecord":
            serializeQuarantineAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.recordsManagementAuditRecord":
            serializeRecordsManagementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.reportSubmission":
            serializeReportSubmission(writer, auditData, true);
            break;
        case "#microsoft.graph.security.reportSubmissionResultDetail":
            serializeReportSubmissionResultDetail(writer, auditData, true);
            break;
        case "#microsoft.graph.security.restrictedModeAuditRecord":
            serializeRestrictedModeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.retentionPolicyAuditRecord":
            serializeRetentionPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.rtiOperationsAgentAuditRecord":
            serializeRtiOperationsAgentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sbpConfigurationEventRecord":
            serializeSbpConfigurationEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sbpUsageEventRecord":
            serializeSbpUsageEventRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.scoreEvidence":
            serializeScoreEvidence(writer, auditData, true);
            break;
        case "#microsoft.graph.security.scorePlatformGenericAuditRecord":
            serializeScorePlatformGenericAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.scriptRunAuditRecord":
            serializeScriptRunAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.searchAuditRecord":
            serializeSearchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityComplianceAlertRecord":
            serializeSecurityComplianceAlertRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityComplianceCenterEOPCmdletAuditRecord":
            serializeSecurityComplianceCenterEOPCmdletAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityComplianceInsightsAuditRecord":
            serializeSecurityComplianceInsightsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityComplianceRBACAuditRecord":
            serializeSecurityComplianceRBACAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityComplianceUserChangeAuditRecord":
            serializeSecurityComplianceUserChangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityCopilotIdentityManagementAuditRecord":
            serializeSecurityCopilotIdentityManagementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.securityDevelopmentLifecycleAILogAuditRecord":
            serializeSecurityDevelopmentLifecycleAILogAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sensitiveInfoRemediationAgentDataRecord":
            serializeSensitiveInfoRemediationAgentDataRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sensitivityLabelActionAuditRecord":
            serializeSensitivityLabelActionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sensitivityLabeledFileActionAuditRecord":
            serializeSensitivityLabeledFileActionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sensitivityLabelPolicyMatchAuditRecord":
            serializeSensitivityLabelPolicyMatchAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelAIToolAuditRecord":
            serializeSentinelAIToolAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelGraphAuditRecord":
            serializeSentinelGraphAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelJobAuditRecord":
            serializeSentinelJobAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelKQLOnLakeAuditRecord":
            serializeSentinelKQLOnLakeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelLakeDataOnboardingAuditRecord":
            serializeSentinelLakeDataOnboardingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelLakeEncryptionAuditRecord":
            serializeSentinelLakeEncryptionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelLakeOnboardingAuditRecord":
            serializeSentinelLakeOnboardingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelNotebookOnLakeAuditRecord":
            serializeSentinelNotebookOnLakeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sentinelPackageAuditRecord":
            serializeSentinelPackageAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointAppPermissionOperationAuditRecord":
            serializeSharePointAppPermissionOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointAuditRecord":
            serializeSharePointAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointCommentOperationAuditRecord":
            serializeSharePointCommentOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointContentSecurityPolicyAuditRecord":
            serializeSharePointContentSecurityPolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointContentTypeOperationAuditRecord":
            serializeSharePointContentTypeOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointESignatureAuditRecord":
            serializeSharePointESignatureAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointFieldOperationAuditRecord":
            serializeSharePointFieldOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointFileOperationAuditRecord":
            serializeSharePointFileOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointListItemOperationAuditRecord":
            serializeSharePointListItemOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointListOperationAuditRecord":
            serializeSharePointListOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sharePointSharingOperationAuditRecord":
            serializeSharePointSharingOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.skypeForBusinessCmdletsAuditRecord":
            serializeSkypeForBusinessCmdletsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.skypeForBusinessPSTNUsageAuditRecord":
            serializeSkypeForBusinessPSTNUsageAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.skypeForBusinessUsersBlockedAuditRecord":
            serializeSkypeForBusinessUsersBlockedAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sonarDetonationContentMetadata":
            serializeSonarDetonationContentMetadata(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sonarDetonationEntityAuditRecord":
            serializeSonarDetonationEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sonarFileDetonationEntityAuditRecord":
            serializeSonarFileDetonationEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sonarSubmissionEntityAuditRecord":
            serializeSonarSubmissionEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sonarUrlDetonationEntityAuditRecord":
            serializeSonarUrlDetonationEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.sparkCoreCustomLivePoolRecord":
            serializeSparkCoreCustomLivePoolRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.submissionEntityAuditRecord":
            serializeSubmissionEntityAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.supervisoryReviewDayXInsightsAuditRecord":
            serializeSupervisoryReviewDayXInsightsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.syntheticProbeAuditRecord":
            serializeSyntheticProbeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamCopilotInteractionAuditRecord":
            serializeTeamCopilotInteractionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsEasyApprovalsAuditRecord":
            serializeTeamsEasyApprovalsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsEvalDataHubAdminOperationAuditRecord":
            serializeTeamsEvalDataHubAdminOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsEvalDataHubDataAccessAuditRecord":
            serializeTeamsEvalDataHubDataAccessAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsEvalDataHubPermissionChangeAuditRecord":
            serializeTeamsEvalDataHubPermissionChangeAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsHealthcareAuditRecord":
            serializeTeamsHealthcareAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.teamsUpdatesAuditRecord":
            serializeTeamsUpdatesAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.tenantAllowBlockListAuditRecord":
            serializeTenantAllowBlockListAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatFinderAuditRecord":
            serializeThreatFinderAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatIntelligenceAtpContentData":
            serializeThreatIntelligenceAtpContentData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatIntelligenceExportAuditRecord":
            serializeThreatIntelligenceExportAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatIntelligenceMailData":
            serializeThreatIntelligenceMailData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatIntelligenceObjectAuditRecord":
            serializeThreatIntelligenceObjectAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.threatIntelligenceUrlClickData":
            serializeThreatIntelligenceUrlClickData(writer, auditData, true);
            break;
        case "#microsoft.graph.security.todoAuditRecord":
            serializeTodoAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.trainableClassifierAuditRecord":
            serializeTrainableClassifierAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.uamOperationAuditRecord":
            serializeUamOperationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.unifiedGroupAuditRecord":
            serializeUnifiedGroupAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.unifiedSimulationMatchedItemAuditRecord":
            serializeUnifiedSimulationMatchedItemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.unifiedSimulationSummaryAuditRecord":
            serializeUnifiedSimulationSummaryAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.universalPrintManagementAuditRecord":
            serializeUniversalPrintManagementAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.universalPrintPrintJobAuditRecord":
            serializeUniversalPrintPrintJobAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.urbacAssignmentAuditRecord":
            serializeUrbacAssignmentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.urbacEnableStateAuditRecord":
            serializeUrbacEnableStateAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.urbacRoleAuditRecord":
            serializeUrbacRoleAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.userTrainingAuditRecord":
            serializeUserTrainingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.usxWorkspaceOnboardingAuditRecord":
            serializeUsxWorkspaceOnboardingAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vfamCreatePolicyAuditRecord":
            serializeVfamCreatePolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vfamDeletePolicyAuditRecord":
            serializeVfamDeletePolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vfamUpdatePolicyAuditRecord":
            serializeVfamUpdatePolicyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaAmplifyAuditRecord":
            serializeVivaAmplifyAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaEngageEventsAuditRecord":
            serializeVivaEngageEventsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaEngageNetworkAssociationAuditRecord":
            serializeVivaEngageNetworkAssociationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaEngageSegmentAuditRecord":
            serializeVivaEngageSegmentAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintAdvancedConfigurationAuditRecord":
            serializeVivaGlintAdvancedConfigurationAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintAgenticCampaignAuditRecord":
            serializeVivaGlintAgenticCampaignAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintFeedbackProgramAuditRecord":
            serializeVivaGlintFeedbackProgramAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintOrganizationalDataAuditRecord":
            serializeVivaGlintOrganizationalDataAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintPulseProgramAuditRecord":
            serializeVivaGlintPulseProgramAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintPulseProgramRespondentRateAuditRecord":
            serializeVivaGlintPulseProgramRespondentRateAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintQuestionAuditRecord":
            serializeVivaGlintQuestionAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintRoleAuditRecord":
            serializeVivaGlintRoleAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintRubiconAuditRecord":
            serializeVivaGlintRubiconAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintSupportAccessAuditRecord":
            serializeVivaGlintSupportAccessAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintSystemAuditRecord":
            serializeVivaGlintSystemAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintUserAuditRecord":
            serializeVivaGlintUserAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGlintUserGroupAuditRecord":
            serializeVivaGlintUserGroupAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaGoalsAuditRecord":
            serializeVivaGoalsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaLearningAdminAuditRecord":
            serializeVivaLearningAdminAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaLearningAuditRecord":
            serializeVivaLearningAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaPulseAdminAuditRecord":
            serializeVivaPulseAdminAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaPulseOrganizerAuditRecord":
            serializeVivaPulseOrganizerAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaPulseReportAuditRecord":
            serializeVivaPulseReportAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.vivaPulseResponseAuditRecord":
            serializeVivaPulseResponseAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.wdatpAlertsAuditRecord":
            serializeWdatpAlertsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.webContentFilteringAuditRecord":
            serializeWebContentFilteringAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.windows365CustomerLockboxAuditRecord":
            serializeWindows365CustomerLockboxAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.workplaceAnalyticsAuditRecord":
            serializeWorkplaceAnalyticsAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.yammerAuditRecord":
            serializeYammerAuditRecord(writer, auditData, true);
            break;
        case "#microsoft.graph.security.yammerUserHidingAuditRecord":
            serializeYammerUserHidingAuditRecord(writer, auditData, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AuditInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditInfo(writer, auditInfo = {}, isSerializingDerivedType = false) {
    if (!auditInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("by", auditInfo.by);
    writer.writeDateValue("dateTime", auditInfo.dateTime);
    writer.writeStringValue("@odata.type", auditInfo.odataType);
    writer.writeAdditionalData(auditInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param AuditLogQuery The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditLogQuery(writer, auditLogQuery = {}, isSerializingDerivedType = false) {
    if (!auditLogQuery || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, auditLogQuery, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("administrativeUnitIdFilters", auditLogQuery.administrativeUnitIdFilters);
    writer.writeStringValue("displayName", auditLogQuery.displayName);
    writer.writeDateValue("filterEndDateTime", auditLogQuery.filterEndDateTime);
    writer.writeDateValue("filterStartDateTime", auditLogQuery.filterStartDateTime);
    writer.writeCollectionOfPrimitiveValues("ipAddressFilters", auditLogQuery.ipAddressFilters);
    writer.writeStringValue("keywordFilter", auditLogQuery.keywordFilter);
    writer.writeCollectionOfPrimitiveValues("objectIdFilters", auditLogQuery.objectIdFilters);
    writer.writeCollectionOfPrimitiveValues("operationFilters", auditLogQuery.operationFilters);
    writer.writeCollectionOfObjectValues("records", auditLogQuery.records, serializeAuditLogRecord);
    if (auditLogQuery.recordTypeFilters)
        writer.writeCollectionOfEnumValues("recordTypeFilters", auditLogQuery.recordTypeFilters);
    writer.writeCollectionOfPrimitiveValues("serviceFilters", auditLogQuery.serviceFilters);
    writer.writeEnumValue("status", auditLogQuery.status);
    writer.writeCollectionOfPrimitiveValues("userPrincipalNameFilters", auditLogQuery.userPrincipalNameFilters);
}
/**
 * Serializes information the current object
 * @param AuditLogQueryCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditLogQueryCollectionResponse(writer, auditLogQueryCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!auditLogQueryCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, auditLogQueryCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", auditLogQueryCollectionResponse.value, serializeAuditLogQuery);
}
/**
 * Serializes information the current object
 * @param AuditLogRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditLogRecord(writer, auditLogRecord = {}, isSerializingDerivedType = false) {
    if (!auditLogRecord || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, auditLogRecord, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("administrativeUnits", auditLogRecord.administrativeUnits);
    writer.writeObjectValue("auditData", auditLogRecord.auditData, serializeAuditData);
    writer.writeEnumValue("auditLogRecordType", auditLogRecord.auditLogRecordType);
    writer.writeStringValue("clientIp", auditLogRecord.clientIp);
    writer.writeDateValue("createdDateTime", auditLogRecord.createdDateTime);
    writer.writeStringValue("objectId", auditLogRecord.objectId);
    writer.writeStringValue("operation", auditLogRecord.operation);
    writer.writeStringValue("organizationId", auditLogRecord.organizationId);
    writer.writeStringValue("service", auditLogRecord.service);
    writer.writeStringValue("userId", auditLogRecord.userId);
    writer.writeStringValue("userPrincipalName", auditLogRecord.userPrincipalName);
    writer.writeEnumValue("userType", auditLogRecord.userType);
}
/**
 * Serializes information the current object
 * @param AuditLogRecordCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditLogRecordCollectionResponse(writer, auditLogRecordCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!auditLogRecordCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, auditLogRecordCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", auditLogRecordCollectionResponse.value, serializeAuditLogRecord);
}
/**
 * Serializes information the current object
 * @param AuditRecordTypeDictionary The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditRecordTypeDictionary(writer, auditRecordTypeDictionary = {}, isSerializingDerivedType = false) {
    if (!auditRecordTypeDictionary || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", auditRecordTypeDictionary.odataType);
    writer.writeAdditionalData(auditRecordTypeDictionary.additionalData);
}
/**
 * Serializes information the current object
 * @param AuditSearchAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuditSearchAuditRecord(writer, auditSearchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!auditSearchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, auditSearchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AuthorityTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuthorityTemplate(writer, authorityTemplate = {}, isSerializingDerivedType = false) {
    if (!authorityTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, authorityTemplate, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AuthorityTemplateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAuthorityTemplateCollectionResponse(writer, authorityTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!authorityTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, authorityTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", authorityTemplateCollectionResponse.value, serializeAuthorityTemplate);
}
/**
 * Serializes information the current object
 * @param AutoAuditingConfiguration The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAutoAuditingConfiguration(writer, autoAuditingConfiguration = {}, isSerializingDerivedType = false) {
    if (!autoAuditingConfiguration || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, autoAuditingConfiguration, isSerializingDerivedType);
    writer.writeBooleanValue("isAutomatic", autoAuditingConfiguration.isAutomatic);
}
/**
 * Serializes information the current object
 * @param AutomatedAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAutomatedAction(writer, automatedAction = {}, isSerializingDerivedType = false) {
    if (!automatedAction || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", automatedAction.odataType);
    writer.writeAdditionalData(automatedAction.additionalData);
    switch (automatedAction.odataType) {
        case "#microsoft.graph.security.accountObjectIdAction":
            serializeAccountObjectIdAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.accountSidAction":
            serializeAccountSidAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.deviceAction":
            serializeDeviceAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.emailAction":
            serializeEmailAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.fileAction":
            serializeFileAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.isolateDeviceAction":
            serializeIsolateDeviceAction(writer, automatedAction, true);
            break;
        case "#microsoft.graph.security.stopAndQuarantineFileAction":
            serializeStopAndQuarantineFileAction(writer, automatedAction, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AutomatedActionSet The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAutomatedActionSet(writer, automatedActionSet = {}, isSerializingDerivedType = false) {
    if (!automatedActionSet || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("allowFiles", automatedActionSet.allowFiles, serializeFileAction);
    writer.writeCollectionOfObjectValues("blockFiles", automatedActionSet.blockFiles, serializeFileAction);
    writer.writeCollectionOfObjectValues("collectInvestigationPackages", automatedActionSet.collectInvestigationPackages, serializeDeviceAction);
    writer.writeCollectionOfObjectValues("disableUsers", automatedActionSet.disableUsers, serializeAccountSidAction);
    writer.writeCollectionOfObjectValues("forceUserPasswordResets", automatedActionSet.forceUserPasswordResets, serializeAccountSidAction);
    writer.writeCollectionOfObjectValues("hardDeleteEmails", automatedActionSet.hardDeleteEmails, serializeEmailAction);
    writer.writeCollectionOfObjectValues("initiateInvestigations", automatedActionSet.initiateInvestigations, serializeDeviceAction);
    writer.writeCollectionOfObjectValues("isolateDevices", automatedActionSet.isolateDevices, serializeIsolateDeviceAction);
    writer.writeCollectionOfObjectValues("markUsersAsCompromised", automatedActionSet.markUsersAsCompromised, serializeAccountObjectIdAction);
    writer.writeCollectionOfObjectValues("moveEmailsToDeletedItems", automatedActionSet.moveEmailsToDeletedItems, serializeEmailAction);
    writer.writeCollectionOfObjectValues("moveEmailsToInbox", automatedActionSet.moveEmailsToInbox, serializeEmailAction);
    writer.writeCollectionOfObjectValues("moveEmailsToJunk", automatedActionSet.moveEmailsToJunk, serializeEmailAction);
    writer.writeStringValue("@odata.type", automatedActionSet.odataType);
    writer.writeCollectionOfObjectValues("restrictAppExecutions", automatedActionSet.restrictAppExecutions, serializeDeviceAction);
    writer.writeCollectionOfObjectValues("runAntivirusScans", automatedActionSet.runAntivirusScans, serializeDeviceAction);
    writer.writeCollectionOfObjectValues("softDeleteEmails", automatedActionSet.softDeleteEmails, serializeEmailAction);
    writer.writeCollectionOfObjectValues("stopAndQuarantineFiles", automatedActionSet.stopAndQuarantineFiles, serializeStopAndQuarantineFileAction);
    writer.writeAdditionalData(automatedActionSet.additionalData);
}
/**
 * Serializes information the current object
 * @param AutonomousSystem The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAutonomousSystem(writer, autonomousSystem = {}, isSerializingDerivedType = false) {
    if (!autonomousSystem || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", autonomousSystem.name);
    writer.writeNumberValue("number", autonomousSystem.number);
    writer.writeStringValue("@odata.type", autonomousSystem.odataType);
    writer.writeStringValue("organization", autonomousSystem.organization);
    writer.writeStringValue("value", autonomousSystem.value);
    writer.writeAdditionalData(autonomousSystem.additionalData);
}
/**
 * Serializes information the current object
 * @param AzfwApplicationRuleAggregationEventRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzfwApplicationRuleAggregationEventRecord(writer, azfwApplicationRuleAggregationEventRecord = {}, isSerializingDerivedType = false) {
    if (!azfwApplicationRuleAggregationEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azfwApplicationRuleAggregationEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzfwDnsQueryEventRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzfwDnsQueryEventRecord(writer, azfwDnsQueryEventRecord = {}, isSerializingDerivedType = false) {
    if (!azfwDnsQueryEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azfwDnsQueryEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzfwNetworkRuleEventRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzfwNetworkRuleEventRecord(writer, azfwNetworkRuleEventRecord = {}, isSerializingDerivedType = false) {
    if (!azfwNetworkRuleEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azfwNetworkRuleEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzureActiveDirectoryAccountLogonAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureActiveDirectoryAccountLogonAuditRecord(writer, azureActiveDirectoryAccountLogonAuditRecord = {}, isSerializingDerivedType = false) {
    if (!azureActiveDirectoryAccountLogonAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azureActiveDirectoryAccountLogonAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzureActiveDirectoryAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureActiveDirectoryAuditRecord(writer, azureActiveDirectoryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!azureActiveDirectoryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azureActiveDirectoryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzureActiveDirectoryStsLogonAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureActiveDirectoryStsLogonAuditRecord(writer, azureActiveDirectoryStsLogonAuditRecord = {}, isSerializingDerivedType = false) {
    if (!azureActiveDirectoryStsLogonAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azureActiveDirectoryStsLogonAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzureAISearchAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureAISearchAuditRecord(writer, azureAISearchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!azureAISearchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, azureAISearchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param AzureResourceEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureResourceEntityMapping(writer, azureResourceEntityMapping = {}, isSerializingDerivedType = false) {
    if (!azureResourceEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, azureResourceEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("resourceIdColumn", azureResourceEntityMapping.resourceIdColumn);
}
/**
 * Serializes information the current object
 * @param AzureResourceEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureResourceEvidence(writer, azureResourceEvidence = {}, isSerializingDerivedType = false) {
    if (!azureResourceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, azureResourceEvidence, isSerializingDerivedType);
    writer.writeStringValue("resourceId", azureResourceEvidence.resourceId);
    writer.writeStringValue("resourceName", azureResourceEvidence.resourceName);
    writer.writeStringValue("resourceType", azureResourceEvidence.resourceType);
}
/**
 * Serializes information the current object
 * @param BlobContainerEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBlobContainerEvidence(writer, blobContainerEvidence = {}, isSerializingDerivedType = false) {
    if (!blobContainerEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, blobContainerEvidence, isSerializingDerivedType);
    writer.writeStringValue("name", blobContainerEvidence.name);
    writer.writeObjectValue("storageResource", blobContainerEvidence.storageResource, serializeAzureResourceEvidence);
    writer.writeStringValue("url", blobContainerEvidence.url);
}
/**
 * Serializes information the current object
 * @param BlobEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBlobEvidence(writer, blobEvidence = {}, isSerializingDerivedType = false) {
    if (!blobEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, blobEvidence, isSerializingDerivedType);
    writer.writeObjectValue("blobContainer", blobEvidence.blobContainer, serializeBlobContainerEvidence);
    writer.writeStringValue("etag", blobEvidence.etag);
    writer.writeCollectionOfObjectValues("fileHashes", blobEvidence.fileHashes, serializeFileHash);
    writer.writeStringValue("name", blobEvidence.name);
    writer.writeStringValue("url", blobEvidence.url);
}
/**
 * Serializes information the current object
 * @param BlockFileResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBlockFileResponseAction(writer, blockFileResponseAction = {}, isSerializingDerivedType = false) {
    if (!blockFileResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, blockFileResponseAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("deviceGroupNames", blockFileResponseAction.deviceGroupNames);
    writer.writeEnumValue("identifier", blockFileResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param CampaignAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCampaignAuditRecord(writer, campaignAuditRecord = {}, isSerializingDerivedType = false) {
    if (!campaignAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, campaignAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CaseEscaped The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseEscaped(writer, caseEscaped = {}, isSerializingDerivedType = false) {
    if (!caseEscaped || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, caseEscaped, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", caseEscaped.createdDateTime);
    writer.writeStringValue("description", caseEscaped.description);
    writer.writeStringValue("displayName", caseEscaped.displayName);
    writer.writeObjectValue("lastModifiedBy", caseEscaped.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", caseEscaped.lastModifiedDateTime);
    writer.writeEnumValue("status", caseEscaped.status);
    switch (caseEscaped.odataType) {
        case "#microsoft.graph.security.ediscoveryCase":
            serializeEdiscoveryCase(writer, caseEscaped, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CaseManagementRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseManagementRoot(writer, caseManagementRoot = {}, isSerializingDerivedType = false) {
    if (!caseManagementRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, caseManagementRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("cases", caseManagementRoot.cases, Icff3ea98f9032045377a20ce1bc97a20b242f7708b98448f49e29fd16056f7f5);
    writer.writeCollectionOfObjectValues("caseTypeConfigurations", caseManagementRoot.caseTypeConfigurations, serializeCaseTypeConfiguration);
}
/**
 * Serializes information the current object
 * @param CaseOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseOperation(writer, caseOperation = {}, isSerializingDerivedType = false) {
    if (!caseOperation || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, caseOperation, isSerializingDerivedType);
    writer.writeEnumValue("action", caseOperation.action);
    writer.writeDateValue("completedDateTime", caseOperation.completedDateTime);
    writer.writeObjectValue("createdBy", caseOperation.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", caseOperation.createdDateTime);
    writer.writeNumberValue("percentProgress", caseOperation.percentProgress);
    writer.writeObjectValue("resultInfo", caseOperation.resultInfo, serializeResultInfo);
    writer.writeEnumValue("status", caseOperation.status);
    switch (caseOperation.odataType) {
        case "#microsoft.graph.security.ediscoveryAddToReviewSetOperation":
            serializeEdiscoveryAddToReviewSetOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryEstimateOperation":
            serializeEdiscoveryEstimateOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryExportOperation":
            serializeEdiscoveryExportOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryHoldOperation":
            serializeEdiscoveryHoldOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryHoldPolicySyncOperation":
            serializeEdiscoveryHoldPolicySyncOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryIndexOperation":
            serializeEdiscoveryIndexOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryPurgeDataOperation":
            serializeEdiscoveryPurgeDataOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoverySearchExportOperation":
            serializeEdiscoverySearchExportOperation(writer, caseOperation, true);
            break;
        case "#microsoft.graph.security.ediscoveryTagOperation":
            serializeEdiscoveryTagOperation(writer, caseOperation, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param CaseOperationCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCaseOperationCollectionResponse(writer, caseOperationCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!caseOperationCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, caseOperationCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", caseOperationCollectionResponse.value, serializeCaseOperation);
}
/**
 * Serializes information the current object
 * @param CasesRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCasesRoot(writer, casesRoot = {}, isSerializingDerivedType = false) {
    if (!casesRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, casesRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("ediscoveryCases", casesRoot.ediscoveryCases, serializeEdiscoveryCase);
}
/**
 * Serializes information the current object
 * @param CategoryTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCategoryTemplate(writer, categoryTemplate = {}, isSerializingDerivedType = false) {
    if (!categoryTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, categoryTemplate, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("subcategories", categoryTemplate.subcategories, serializeSubcategoryTemplate);
}
/**
 * Serializes information the current object
 * @param CategoryTemplateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCategoryTemplateCollectionResponse(writer, categoryTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!categoryTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, categoryTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", categoryTemplateCollectionResponse.value, serializeCategoryTemplate);
}
/**
 * Serializes information the current object
 * @param CcraiPolicyViolationRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCcraiPolicyViolationRecord(writer, ccraiPolicyViolationRecord = {}, isSerializingDerivedType = false) {
    if (!ccraiPolicyViolationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, ccraiPolicyViolationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpClassifierHealthRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpClassifierHealthRecord(writer, cdpClassifierHealthRecord = {}, isSerializingDerivedType = false) {
    if (!cdpClassifierHealthRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpClassifierHealthRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpColdCrawlStatusRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpColdCrawlStatusRecord(writer, cdpColdCrawlStatusRecord = {}, isSerializingDerivedType = false) {
    if (!cdpColdCrawlStatusRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpColdCrawlStatusRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpConsumptionResourceRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpConsumptionResourceRecord(writer, cdpConsumptionResourceRecord = {}, isSerializingDerivedType = false) {
    if (!cdpConsumptionResourceRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpConsumptionResourceRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpContentExplorerAggregateRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpContentExplorerAggregateRecord(writer, cdpContentExplorerAggregateRecord = {}, isSerializingDerivedType = false) {
    if (!cdpContentExplorerAggregateRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpContentExplorerAggregateRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpdlmaiInteractionInsightsRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpdlmaiInteractionInsightsRecord(writer, cdpdlmaiInteractionInsightsRecord = {}, isSerializingDerivedType = false) {
    if (!cdpdlmaiInteractionInsightsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpdlmaiInteractionInsightsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpDlpSensitiveEndpointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpDlpSensitiveEndpointAuditRecord(writer, cdpDlpSensitiveEndpointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!cdpDlpSensitiveEndpointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpDlpSensitiveEndpointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpLogRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpLogRecord(writer, cdpLogRecord = {}, isSerializingDerivedType = false) {
    if (!cdpLogRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpLogRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpOcrBillingRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpOcrBillingRecord(writer, cdpOcrBillingRecord = {}, isSerializingDerivedType = false) {
    if (!cdpOcrBillingRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpOcrBillingRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CdpResourceScopeChangeEventRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCdpResourceScopeChangeEventRecord(writer, cdpResourceScopeChangeEventRecord = {}, isSerializingDerivedType = false) {
    if (!cdpResourceScopeChangeEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cdpResourceScopeChangeEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CitationTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCitationTemplate(writer, citationTemplate = {}, isSerializingDerivedType = false) {
    if (!citationTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, citationTemplate, isSerializingDerivedType);
    writer.writeStringValue("citationJurisdiction", citationTemplate.citationJurisdiction);
    writer.writeStringValue("citationUrl", citationTemplate.citationUrl);
}
/**
 * Serializes information the current object
 * @param CitationTemplateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCitationTemplateCollectionResponse(writer, citationTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!citationTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, citationTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", citationTemplateCollectionResponse.value, serializeCitationTemplate);
}
/**
 * Serializes information the current object
 * @param ClassificationResult The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeClassificationResult(writer, classificationResult = {}, isSerializingDerivedType = false) {
    if (!classificationResult || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("confidenceLevel", classificationResult.confidenceLevel);
    writer.writeNumberValue("count", classificationResult.count);
    writer.writeStringValue("@odata.type", classificationResult.odataType);
    writer.writeStringValue("sensitiveTypeId", classificationResult.sensitiveTypeId);
    writer.writeAdditionalData(classificationResult.additionalData);
}
/**
 * Serializes information the current object
 * @param CloudAppDiscoveryReport The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudAppDiscoveryReport(writer, cloudAppDiscoveryReport = {}, isSerializingDerivedType = false) {
    if (!cloudAppDiscoveryReport || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, cloudAppDiscoveryReport, isSerializingDerivedType);
    writer.writeBooleanValue("anonymizeMachineData", cloudAppDiscoveryReport.anonymizeMachineData);
    writer.writeBooleanValue("anonymizeUserData", cloudAppDiscoveryReport.anonymizeUserData);
    writer.writeDateValue("createdDateTime", cloudAppDiscoveryReport.createdDateTime);
    writer.writeStringValue("description", cloudAppDiscoveryReport.description);
    writer.writeStringValue("displayName", cloudAppDiscoveryReport.displayName);
    writer.writeBooleanValue("isSnapshotReport", cloudAppDiscoveryReport.isSnapshotReport);
    writer.writeDateValue("lastDataReceivedDateTime", cloudAppDiscoveryReport.lastDataReceivedDateTime);
    writer.writeDateValue("lastModifiedDateTime", cloudAppDiscoveryReport.lastModifiedDateTime);
    writer.writeEnumValue("logDataProvider", cloudAppDiscoveryReport.logDataProvider);
    writer.writeNumberValue("logFileCount", cloudAppDiscoveryReport.logFileCount);
    writer.writeEnumValue("receiverProtocol", cloudAppDiscoveryReport.receiverProtocol);
    if (cloudAppDiscoveryReport.supportedEntityTypes)
        writer.writeCollectionOfEnumValues("supportedEntityTypes", cloudAppDiscoveryReport.supportedEntityTypes);
    if (cloudAppDiscoveryReport.supportedTrafficTypes)
        writer.writeCollectionOfEnumValues("supportedTrafficTypes", cloudAppDiscoveryReport.supportedTrafficTypes);
}
/**
 * Serializes information the current object
 * @param CloudAppDiscoveryReportCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudAppDiscoveryReportCollectionResponse(writer, cloudAppDiscoveryReportCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!cloudAppDiscoveryReportCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, cloudAppDiscoveryReportCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", cloudAppDiscoveryReportCollectionResponse.value, serializeCloudAppDiscoveryReport);
}
/**
 * Serializes information the current object
 * @param CloudApplicationEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudApplicationEntityMapping(writer, cloudApplicationEntityMapping = {}, isSerializingDerivedType = false) {
    if (!cloudApplicationEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, cloudApplicationEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("appIdColumn", cloudApplicationEntityMapping.appIdColumn);
    writer.writeStringValue("nameColumn", cloudApplicationEntityMapping.nameColumn);
}
/**
 * Serializes information the current object
 * @param CloudApplicationEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudApplicationEvidence(writer, cloudApplicationEvidence = {}, isSerializingDerivedType = false) {
    if (!cloudApplicationEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, cloudApplicationEvidence, isSerializingDerivedType);
    writer.writeNumberValue("appId", cloudApplicationEvidence.appId);
    writer.writeStringValue("displayName", cloudApplicationEvidence.displayName);
    writer.writeNumberValue("instanceId", cloudApplicationEvidence.instanceId);
    writer.writeStringValue("instanceName", cloudApplicationEvidence.instanceName);
    writer.writeNumberValue("saasAppId", cloudApplicationEvidence.saasAppId);
    writer.writeObjectValue("stream", cloudApplicationEvidence.stream, serializeStream);
}
/**
 * Serializes information the current object
 * @param CloudLogonRequestEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudLogonRequestEvidence(writer, cloudLogonRequestEvidence = {}, isSerializingDerivedType = false) {
    if (!cloudLogonRequestEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, cloudLogonRequestEvidence, isSerializingDerivedType);
    writer.writeStringValue("requestId", cloudLogonRequestEvidence.requestId);
}
/**
 * Serializes information the current object
 * @param CloudLogonSessionEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudLogonSessionEvidence(writer, cloudLogonSessionEvidence = {}, isSerializingDerivedType = false) {
    if (!cloudLogonSessionEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, cloudLogonSessionEvidence, isSerializingDerivedType);
    writer.writeObjectValue("account", cloudLogonSessionEvidence.account, serializeUserEvidence);
    writer.writeStringValue("browser", cloudLogonSessionEvidence.browser);
    writer.writeStringValue("deviceName", cloudLogonSessionEvidence.deviceName);
    writer.writeStringValue("operatingSystem", cloudLogonSessionEvidence.operatingSystem);
    writer.writeDateValue("previousLogonDateTime", cloudLogonSessionEvidence.previousLogonDateTime);
    writer.writeStringValue("protocol", cloudLogonSessionEvidence.protocol);
    writer.writeStringValue("sessionId", cloudLogonSessionEvidence.sessionId);
    writer.writeDateValue("startUtcDateTime", cloudLogonSessionEvidence.startUtcDateTime);
    writer.writeStringValue("userAgent", cloudLogonSessionEvidence.userAgent);
}
/**
 * Serializes information the current object
 * @param CloudUpdateDeviceConfigAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudUpdateDeviceConfigAuditRecord(writer, cloudUpdateDeviceConfigAuditRecord = {}, isSerializingDerivedType = false) {
    if (!cloudUpdateDeviceConfigAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cloudUpdateDeviceConfigAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CloudUpdateProfileConfigAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudUpdateProfileConfigAuditRecord(writer, cloudUpdateProfileConfigAuditRecord = {}, isSerializingDerivedType = false) {
    if (!cloudUpdateProfileConfigAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cloudUpdateProfileConfigAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CloudUpdateTenantConfigAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCloudUpdateTenantConfigAuditRecord(writer, cloudUpdateTenantConfigAuditRecord = {}, isSerializingDerivedType = false) {
    if (!cloudUpdateTenantConfigAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cloudUpdateTenantConfigAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CollaborationRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCollaborationRoot(writer, collaborationRoot = {}, isSerializingDerivedType = false) {
    if (!collaborationRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, collaborationRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("analyzedEmails", collaborationRoot.analyzedEmails, serializeAnalyzedEmail);
}
/**
 * Serializes information the current object
 * @param CollectInvestigationPackageIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCollectInvestigationPackageIncidentTaskResponseAction(writer, collectInvestigationPackageIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!collectInvestigationPackageIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, collectInvestigationPackageIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CollectInvestigationPackageResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCollectInvestigationPackageResponseAction(writer, collectInvestigationPackageResponseAction = {}, isSerializingDerivedType = false) {
    if (!collectInvestigationPackageResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, collectInvestigationPackageResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", collectInvestigationPackageResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param ComplianceConnectorAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceConnectorAuditRecord(writer, complianceConnectorAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceConnectorAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceConnectorAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLMExchangeAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLMExchangeAuditRecord(writer, complianceDLMExchangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLMExchangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLMExchangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLMSharePointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLMSharePointAuditRecord(writer, complianceDLMSharePointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLMSharePointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLMSharePointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPApplicationsAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPApplicationsAuditRecord(writer, complianceDLPApplicationsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPApplicationsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPApplicationsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPApplicationsClassificationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPApplicationsClassificationAuditRecord(writer, complianceDLPApplicationsClassificationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPApplicationsClassificationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPApplicationsClassificationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPEndpointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPEndpointAuditRecord(writer, complianceDLPEndpointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPEndpointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPEndpointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPEndpointDiscoveryAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPEndpointDiscoveryAuditRecord(writer, complianceDLPEndpointDiscoveryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPEndpointDiscoveryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPEndpointDiscoveryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPEnforcementAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPEnforcementAuditRecord(writer, complianceDLPEnforcementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPEnforcementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPEnforcementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPExchangeAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPExchangeAuditRecord(writer, complianceDLPExchangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPExchangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPExchangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPExchangeClassificationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPExchangeClassificationAuditRecord(writer, complianceDLPExchangeClassificationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPExchangeClassificationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPExchangeClassificationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPExchangeClassificationCdpRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPExchangeClassificationCdpRecord(writer, complianceDLPExchangeClassificationCdpRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPExchangeClassificationCdpRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPExchangeClassificationCdpRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPExchangeDiscoveryAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPExchangeDiscoveryAuditRecord(writer, complianceDLPExchangeDiscoveryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPExchangeDiscoveryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPExchangeDiscoveryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPSharePointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPSharePointAuditRecord(writer, complianceDLPSharePointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPSharePointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPSharePointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPSharePointClassificationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPSharePointClassificationAuditRecord(writer, complianceDLPSharePointClassificationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPSharePointClassificationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPSharePointClassificationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPSharePointClassificationCdpRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPSharePointClassificationCdpRecord(writer, complianceDLPSharePointClassificationCdpRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPSharePointClassificationCdpRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPSharePointClassificationCdpRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceDLPSharePointClassificationExtendedAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPSharePointClassificationExtendedAuditRecord(writer, complianceDLPSharePointClassificationExtendedAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPSharePointClassificationExtendedAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceDLPSharePointClassificationExtendedAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceExchangeOcrAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceExchangeOcrAuditRecord(writer, complianceExchangeOcrAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceExchangeOcrAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceExchangeOcrAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceManagerActionRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceManagerActionRecord(writer, complianceManagerActionRecord = {}, isSerializingDerivedType = false) {
    if (!complianceManagerActionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceManagerActionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CompliancePolicyGradingSharePointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCompliancePolicyGradingSharePointAuditRecord(writer, compliancePolicyGradingSharePointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!compliancePolicyGradingSharePointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, compliancePolicyGradingSharePointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceSettingsChangeAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceSettingsChangeAuditRecord(writer, complianceSettingsChangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceSettingsChangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceSettingsChangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceSitGradingSharePointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceSitGradingSharePointAuditRecord(writer, complianceSitGradingSharePointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceSitGradingSharePointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceSitGradingSharePointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ComplianceSupervisionExchangeAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceSupervisionExchangeAuditRecord(writer, complianceSupervisionExchangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceSupervisionExchangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, complianceSupervisionExchangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CompromiseIndicator The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCompromiseIndicator(writer, compromiseIndicator = {}, isSerializingDerivedType = false) {
    if (!compromiseIndicator || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", compromiseIndicator.odataType);
    writer.writeStringValue("value", compromiseIndicator.value);
    writer.writeEnumValue("verdict", compromiseIndicator.verdict);
    writer.writeAdditionalData(compromiseIndicator.additionalData);
}
/**
 * Serializes information the current object
 * @param ConnectedAIAppInteractionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeConnectedAIAppInteractionAuditRecord(writer, connectedAIAppInteractionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!connectedAIAppInteractionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, connectedAIAppInteractionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ConsumptionResourceAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeConsumptionResourceAuditRecord(writer, consumptionResourceAuditRecord = {}, isSerializingDerivedType = false) {
    if (!consumptionResourceAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, consumptionResourceAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ContainerEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContainerEvidence(writer, containerEvidence = {}, isSerializingDerivedType = false) {
    if (!containerEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, containerEvidence, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("args", containerEvidence.args);
    writer.writeCollectionOfPrimitiveValues("command", containerEvidence.command);
    writer.writeStringValue("containerId", containerEvidence.containerId);
    writer.writeObjectValue("image", containerEvidence.image, serializeContainerImageEvidence);
    writer.writeBooleanValue("isPrivileged", containerEvidence.isPrivileged);
    writer.writeStringValue("name", containerEvidence.name);
    writer.writeObjectValue("pod", containerEvidence.pod, serializeKubernetesPodEvidence);
}
/**
 * Serializes information the current object
 * @param ContainerImageEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContainerImageEvidence(writer, containerImageEvidence = {}, isSerializingDerivedType = false) {
    if (!containerImageEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, containerImageEvidence, isSerializingDerivedType);
    writer.writeObjectValue("digestImage", containerImageEvidence.digestImage, serializeContainerImageEvidence);
    writer.writeStringValue("imageId", containerImageEvidence.imageId);
    writer.writeObjectValue("registry", containerImageEvidence.registry, serializeContainerRegistryEvidence);
}
/**
 * Serializes information the current object
 * @param ContainerRegistryEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContainerRegistryEvidence(writer, containerRegistryEvidence = {}, isSerializingDerivedType = false) {
    if (!containerRegistryEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, containerRegistryEvidence, isSerializingDerivedType);
    writer.writeStringValue("registry", containerRegistryEvidence.registry);
}
/**
 * Serializes information the current object
 * @param ContentInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentInfo(writer, contentInfo = {}, isSerializingDerivedType = false) {
    if (!contentInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("contentFormat", contentInfo.contentFormat);
    writer.writeStringValue("identifier", contentInfo.identifier);
    writer.writeCollectionOfObjectValues("metadata", contentInfo.metadata, serializeKeyValuePair);
    writer.writeStringValue("@odata.type", contentInfo.odataType);
    writer.writeEnumValue("state", contentInfo.state);
    writer.writeAdditionalData(contentInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param ContentLabel The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentLabel(writer, contentLabel = {}, isSerializingDerivedType = false) {
    if (!contentLabel || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("assignmentMethod", contentLabel.assignmentMethod);
    writer.writeDateValue("createdDateTime", contentLabel.createdDateTime);
    writer.writeStringValue("@odata.type", contentLabel.odataType);
    writer.writeStringValue("sensitivityLabelId", contentLabel.sensitivityLabelId);
    writer.writeAdditionalData(contentLabel.additionalData);
}
/**
 * Serializes information the current object
 * @param ContentStoreMetadataRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeContentStoreMetadataRecord(writer, contentStoreMetadataRecord = {}, isSerializingDerivedType = false) {
    if (!contentStoreMetadataRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, contentStoreMetadataRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotAgentManagementAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotAgentManagementAuditRecord(writer, copilotAgentManagementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotAgentManagementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotAgentManagementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotForSecurityLoggingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotForSecurityLoggingAuditRecord(writer, copilotForSecurityLoggingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotForSecurityLoggingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotForSecurityLoggingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotForSecurityTriggerAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotForSecurityTriggerAuditRecord(writer, copilotForSecurityTriggerAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotForSecurityTriggerAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotForSecurityTriggerAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotInteractionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotInteractionAuditRecord(writer, copilotInteractionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotInteractionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotInteractionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotPluginSettingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotPluginSettingAuditRecord(writer, copilotPluginSettingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotPluginSettingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotPluginSettingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotPromptBookSettingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotPromptBookSettingAuditRecord(writer, copilotPromptBookSettingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotPromptBookSettingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotPromptBookSettingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotSessionSharingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotSessionSharingAuditRecord(writer, copilotSessionSharingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotSessionSharingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotSessionSharingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotSettingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotSettingAuditRecord(writer, copilotSettingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotSettingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotSettingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CopilotWorkspaceSettingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCopilotWorkspaceSettingAuditRecord(writer, copilotWorkspaceSettingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!copilotWorkspaceSettingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, copilotWorkspaceSettingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CoreReportingSettingsAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCoreReportingSettingsAuditRecord(writer, coreReportingSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!coreReportingSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, coreReportingSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CortanaBriefingAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCortanaBriefingAuditRecord(writer, cortanaBriefingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!cortanaBriefingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, cortanaBriefingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CriticalAssetManagementClassificationRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCriticalAssetManagementClassificationRecord(writer, criticalAssetManagementClassificationRecord = {}, isSerializingDerivedType = false) {
    if (!criticalAssetManagementClassificationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, criticalAssetManagementClassificationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CrmEntityOperationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCrmEntityOperationAuditRecord(writer, crmEntityOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!crmEntityOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, crmEntityOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CrossTenantAccessPolicyAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCrossTenantAccessPolicyAuditRecord(writer, crossTenantAccessPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!crossTenantAccessPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, crossTenantAccessPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CustomAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomAction(writer, customAction = {}, isSerializingDerivedType = false) {
    if (!customAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, customAction, isSerializingDerivedType);
    writer.writeStringValue("name", customAction.name);
    writer.writeCollectionOfObjectValues("properties", customAction.properties, serializeKeyValuePair);
}
/**
 * Serializes information the current object
 * @param CustomerKeyServiceEncryptionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCustomerKeyServiceEncryptionAuditRecord(writer, customerKeyServiceEncryptionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!customerKeyServiceEncryptionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, customerKeyServiceEncryptionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param CvssSummary The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCvssSummary(writer, cvssSummary = {}, isSerializingDerivedType = false) {
    if (!cvssSummary || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", cvssSummary.odataType);
    writer.writeNumberValue("score", cvssSummary.score);
    writer.writeEnumValue("severity", cvssSummary.severity);
    writer.writeStringValue("vectorString", cvssSummary.vectorString);
    writer.writeAdditionalData(cvssSummary.additionalData);
}
/**
 * Serializes information the current object
 * @param DataCenterSecurityCmdletAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataCenterSecurityCmdletAuditRecord(writer, dataCenterSecurityCmdletAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataCenterSecurityCmdletAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataCenterSecurityCmdletAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataDiscoveryReport The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataDiscoveryReport(writer, dataDiscoveryReport = {}, isSerializingDerivedType = false) {
    if (!dataDiscoveryReport || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dataDiscoveryReport, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("uploadedStreams", dataDiscoveryReport.uploadedStreams, serializeCloudAppDiscoveryReport);
}
/**
 * Serializes information the current object
 * @param DataDiscoveryRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataDiscoveryRoot(writer, dataDiscoveryRoot = {}, isSerializingDerivedType = false) {
    if (!dataDiscoveryRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dataDiscoveryRoot, isSerializingDerivedType);
    writer.writeObjectValue("cloudAppDiscovery", dataDiscoveryRoot.cloudAppDiscovery, serializeDataDiscoveryReport);
}
/**
 * Serializes information the current object
 * @param DataGovernanceAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataGovernanceAuditRecord(writer, dataGovernanceAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataGovernanceAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataGovernanceAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataInsightsRestApiAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataInsightsRestApiAuditRecord(writer, dataInsightsRestApiAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataInsightsRestApiAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataInsightsRestApiAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataLakeExportOperationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataLakeExportOperationAuditRecord(writer, dataLakeExportOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataLakeExportOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataLakeExportOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataSecurityInvestigationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataSecurityInvestigationAuditRecord(writer, dataSecurityInvestigationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataSecurityInvestigationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataSecurityInvestigationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataSet The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataSet(writer, dataSet = {}, isSerializingDerivedType = false) {
    if (!dataSet || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dataSet, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", dataSet.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", dataSet.createdDateTime);
    writer.writeStringValue("description", dataSet.description);
    writer.writeStringValue("displayName", dataSet.displayName);
    switch (dataSet.odataType) {
        case "#microsoft.graph.security.ediscoveryReviewSet":
            serializeEdiscoveryReviewSet(writer, dataSet, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DataShareOperationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataShareOperationAuditRecord(writer, dataShareOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dataShareOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dataShareOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DataSource The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataSource(writer, dataSource = {}, isSerializingDerivedType = false) {
    if (!dataSource || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dataSource, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", dataSource.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", dataSource.createdDateTime);
    writer.writeStringValue("displayName", dataSource.displayName);
    writer.writeEnumValue("holdStatus", dataSource.holdStatus);
    switch (dataSource.odataType) {
        case "#microsoft.graph.security.siteSource":
            serializeSiteSource(writer, dataSource, true);
            break;
        case "#microsoft.graph.security.unifiedGroupSource":
            serializeUnifiedGroupSource(writer, dataSource, true);
            break;
        case "#microsoft.graph.security.userSource":
            serializeUserSource(writer, dataSource, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DataSourceCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataSourceCollectionResponse(writer, dataSourceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!dataSourceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, dataSourceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", dataSourceCollectionResponse.value, serializeDataSource);
}
/**
 * Serializes information the current object
 * @param DataSourceContainer The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDataSourceContainer(writer, dataSourceContainer = {}, isSerializingDerivedType = false) {
    if (!dataSourceContainer || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dataSourceContainer, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", dataSourceContainer.createdDateTime);
    writer.writeStringValue("displayName", dataSourceContainer.displayName);
    writer.writeEnumValue("holdStatus", dataSourceContainer.holdStatus);
    writer.writeDateValue("lastModifiedDateTime", dataSourceContainer.lastModifiedDateTime);
    writer.writeDateValue("releasedDateTime", dataSourceContainer.releasedDateTime);
    writer.writeEnumValue("status", dataSourceContainer.status);
    switch (dataSourceContainer.odataType) {
        case "#microsoft.graph.security.ediscoveryCustodian":
            serializeEdiscoveryCustodian(writer, dataSourceContainer, true);
            break;
        case "#microsoft.graph.security.ediscoveryNoncustodialDataSource":
            serializeEdiscoveryNoncustodialDataSource(writer, dataSourceContainer, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DefaultAuditData The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDefaultAuditData(writer, defaultAuditData = {}, isSerializingDerivedType = false) {
    if (!defaultAuditData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, defaultAuditData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DefenderCaseManagementAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDefenderCaseManagementAuditRecord(writer, defenderCaseManagementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!defenderCaseManagementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, defenderCaseManagementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DefenderPreviewFeaturesRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDefenderPreviewFeaturesRecord(writer, defenderPreviewFeaturesRecord = {}, isSerializingDerivedType = false) {
    if (!defenderPreviewFeaturesRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, defenderPreviewFeaturesRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DefenderSecurityForAIConfigurationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDefenderSecurityForAIConfigurationAuditRecord(writer, defenderSecurityForAIConfigurationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!defenderSecurityForAIConfigurationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, defenderSecurityForAIConfigurationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DepartmentTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDepartmentTemplate(writer, departmentTemplate = {}, isSerializingDerivedType = false) {
    if (!departmentTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, departmentTemplate, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DepartmentTemplateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDepartmentTemplateCollectionResponse(writer, departmentTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!departmentTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, departmentTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", departmentTemplateCollectionResponse.value, serializeDepartmentTemplate);
}
/**
 * Serializes information the current object
 * @param DeployFeatureActivityRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeployFeatureActivityRecord(writer, deployFeatureActivityRecord = {}, isSerializingDerivedType = false) {
    if (!deployFeatureActivityRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, deployFeatureActivityRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DeploymentAccessKeyType The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeploymentAccessKeyType(writer, deploymentAccessKeyType = {}, isSerializingDerivedType = false) {
    if (!deploymentAccessKeyType || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("deploymentAccessKey", deploymentAccessKeyType.deploymentAccessKey);
    writer.writeStringValue("@odata.type", deploymentAccessKeyType.odataType);
    writer.writeAdditionalData(deploymentAccessKeyType.additionalData);
}
/**
 * Serializes information the current object
 * @param DetectionAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetectionAction(writer, detectionAction = {}, isSerializingDerivedType = false) {
    if (!detectionAction || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("alertTemplate", detectionAction.alertTemplate, serializeAlertTemplate);
    writer.writeObjectValue("automatedActions", detectionAction.automatedActions, serializeAutomatedActionSet);
    writer.writeStringValue("@odata.type", detectionAction.odataType);
    writer.writeObjectValue("organizationalScope", detectionAction.organizationalScope, serializeOrganizationalScope);
    writer.writeCollectionOfObjectValues("responseActions", detectionAction.responseActions, serializeResponseAction);
    writer.writeAdditionalData(detectionAction.additionalData);
}
/**
 * Serializes information the current object
 * @param DetectionRule The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetectionRule(writer, detectionRule = {}, isSerializingDerivedType = false) {
    if (!detectionRule || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, detectionRule, isSerializingDerivedType);
    writer.writeStringValue("createdBy", detectionRule.createdBy);
    writer.writeDateValue("createdDateTime", detectionRule.createdDateTime);
    writer.writeStringValue("description", detectionRule.description);
    writer.writeObjectValue("detectionAction", detectionRule.detectionAction, serializeDetectionAction);
    writer.writeStringValue("detectorId", detectionRule.detectorId);
    writer.writeStringValue("displayName", detectionRule.displayName);
    writer.writeBooleanValue("isEnabled", detectionRule.isEnabled);
    writer.writeStringValue("lastModifiedBy", detectionRule.lastModifiedBy);
    writer.writeDateValue("lastModifiedDateTime", detectionRule.lastModifiedDateTime);
    writer.writeObjectValue("lastRunDetails", detectionRule.lastRunDetails, serializeRunDetails);
    writer.writeObjectValue("queryCondition", detectionRule.queryCondition, serializeQueryCondition);
    writer.writeObjectValue("schedule", detectionRule.schedule, serializeRuleSchedule);
    writer.writeEnumValue("status", detectionRule.status);
}
/**
 * Serializes information the current object
 * @param DetectionRuleCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetectionRuleCollectionResponse(writer, detectionRuleCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!detectionRuleCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, detectionRuleCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", detectionRuleCollectionResponse.value, serializeDetectionRule);
}
/**
 * Serializes information the current object
 * @param DetonationBehaviourDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetonationBehaviourDetails(writer, detonationBehaviourDetails = {}, isSerializingDerivedType = false) {
    if (!detonationBehaviourDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("actionStatus", detonationBehaviourDetails.actionStatus);
    writer.writeStringValue("behaviourCapability", detonationBehaviourDetails.behaviourCapability);
    writer.writeStringValue("behaviourGroup", detonationBehaviourDetails.behaviourGroup);
    writer.writeStringValue("details", detonationBehaviourDetails.details);
    writer.writeDateValue("eventDateTime", detonationBehaviourDetails.eventDateTime);
    writer.writeStringValue("@odata.type", detonationBehaviourDetails.odataType);
    writer.writeStringValue("operation", detonationBehaviourDetails.operation);
    writer.writeStringValue("processId", detonationBehaviourDetails.processId);
    writer.writeStringValue("processName", detonationBehaviourDetails.processName);
    writer.writeStringValue("target", detonationBehaviourDetails.target);
    writer.writeAdditionalData(detonationBehaviourDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param DetonationChain The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetonationChain(writer, detonationChain = {}, isSerializingDerivedType = false) {
    if (!detonationChain || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("childNodes", detonationChain.childNodes, serializeDetonationChain);
    writer.writeStringValue("@odata.type", detonationChain.odataType);
    writer.writeStringValue("value", detonationChain.value);
    writer.writeAdditionalData(detonationChain.additionalData);
}
/**
 * Serializes information the current object
 * @param DetonationDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetonationDetails(writer, detonationDetails = {}, isSerializingDerivedType = false) {
    if (!detonationDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("analysisDateTime", detonationDetails.analysisDateTime);
    writer.writeCollectionOfObjectValues("compromiseIndicators", detonationDetails.compromiseIndicators, serializeCompromiseIndicator);
    writer.writeObjectValue("detonationBehaviourDetails", detonationDetails.detonationBehaviourDetails, serializeDetonationBehaviourDetails);
    writer.writeStringValue("detonationBehaviourDetailsV2", detonationDetails.detonationBehaviourDetailsV2);
    writer.writeObjectValue("detonationChain", detonationDetails.detonationChain, serializeDetonationChain);
    writer.writeObjectValue("detonationObservables", detonationDetails.detonationObservables, serializeDetonationObservables);
    writer.writeStringValue("detonationScreenshotUri", detonationDetails.detonationScreenshotUri);
    writer.writeStringValue("detonationVerdict", detonationDetails.detonationVerdict);
    writer.writeStringValue("detonationVerdictReason", detonationDetails.detonationVerdictReason);
    writer.writeStringValue("entityMetadata", detonationDetails.entityMetadata);
    writer.writeStringValue("mitreTechniques", detonationDetails.mitreTechniques);
    writer.writeStringValue("@odata.type", detonationDetails.odataType);
    writer.writeStringValue("staticAnalysis", detonationDetails.staticAnalysis);
    writer.writeStringValue("submissionSource", detonationDetails.submissionSource);
    writer.writeAdditionalData(detonationDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param DetonationObservables The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDetonationObservables(writer, detonationObservables = {}, isSerializingDerivedType = false) {
    if (!detonationObservables || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfPrimitiveValues("contactedIps", detonationObservables.contactedIps);
    writer.writeCollectionOfPrimitiveValues("contactedUrls", detonationObservables.contactedUrls);
    writer.writeCollectionOfPrimitiveValues("droppedfiles", detonationObservables.droppedfiles);
    writer.writeStringValue("@odata.type", detonationObservables.odataType);
    writer.writeAdditionalData(detonationObservables.additionalData);
}
/**
 * Serializes information the current object
 * @param DeviceAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeviceAction(writer, deviceAction = {}, isSerializingDerivedType = false) {
    if (!deviceAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, deviceAction, isSerializingDerivedType);
    writer.writeStringValue("deviceIdColumn", deviceAction.deviceIdColumn);
    switch (deviceAction.odataType) {
        case "#microsoft.graph.security.isolateDeviceAction":
            serializeIsolateDeviceAction(writer, deviceAction, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DeviceDiscoverySettingsAuthenticatedScansRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeviceDiscoverySettingsAuthenticatedScansRecord(writer, deviceDiscoverySettingsAuthenticatedScansRecord = {}, isSerializingDerivedType = false) {
    if (!deviceDiscoverySettingsAuthenticatedScansRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, deviceDiscoverySettingsAuthenticatedScansRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DeviceDiscoverySettingsExclusionRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeviceDiscoverySettingsExclusionRecord(writer, deviceDiscoverySettingsExclusionRecord = {}, isSerializingDerivedType = false) {
    if (!deviceDiscoverySettingsExclusionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, deviceDiscoverySettingsExclusionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DeviceDiscoverySettingsRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeviceDiscoverySettingsRecord(writer, deviceDiscoverySettingsRecord = {}, isSerializingDerivedType = false) {
    if (!deviceDiscoverySettingsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, deviceDiscoverySettingsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DeviceEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDeviceEvidence(writer, deviceEvidence = {}, isSerializingDerivedType = false) {
    if (!deviceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, deviceEvidence, isSerializingDerivedType);
    writer.writeStringValue("azureAdDeviceId", deviceEvidence.azureAdDeviceId);
    writer.writeEnumValue("defenderAvStatus", deviceEvidence.defenderAvStatus);
    writer.writeStringValue("deviceDnsName", deviceEvidence.deviceDnsName);
    writer.writeStringValue("dnsDomain", deviceEvidence.dnsDomain);
    writer.writeDateValue("firstSeenDateTime", deviceEvidence.firstSeenDateTime);
    writer.writeEnumValue("healthStatus", deviceEvidence.healthStatus);
    writer.writeStringValue("hostName", deviceEvidence.hostName);
    writer.writeCollectionOfPrimitiveValues("ipInterfaces", deviceEvidence.ipInterfaces);
    writer.writeStringValue("lastExternalIpAddress", deviceEvidence.lastExternalIpAddress);
    writer.writeStringValue("lastIpAddress", deviceEvidence.lastIpAddress);
    writer.writeCollectionOfObjectValues("loggedOnUsers", deviceEvidence.loggedOnUsers, serializeLoggedOnUser);
    writer.writeStringValue("mdeDeviceId", deviceEvidence.mdeDeviceId);
    writer.writeStringValue("ntDomain", deviceEvidence.ntDomain);
    writer.writeEnumValue("onboardingStatus", deviceEvidence.onboardingStatus);
    writer.writeNumberValue("osBuild", deviceEvidence.osBuild);
    writer.writeStringValue("osPlatform", deviceEvidence.osPlatform);
    writer.writeNumberValue("rbacGroupId", deviceEvidence.rbacGroupId);
    writer.writeStringValue("rbacGroupName", deviceEvidence.rbacGroupName);
    writer.writeCollectionOfObjectValues("resourceAccessEvents", deviceEvidence.resourceAccessEvents, serializeResourceAccessEvent);
    writer.writeEnumValue("riskScore", deviceEvidence.riskScore);
    writer.writeStringValue("version", deviceEvidence.version);
    writer.writeObjectValue("vmMetadata", deviceEvidence.vmMetadata, serializeVmMetadata);
}
/**
 * Serializes information the current object
 * @param Dictionary The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDictionary(writer, dictionary = {}, isSerializingDerivedType = false) {
    if (!dictionary || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", dictionary.odataType);
    writer.writeAdditionalData(dictionary.additionalData);
    switch (dictionary.odataType) {
        case "#microsoft.graph.security.alertCustomDetails":
            serializeAlertCustomDetails(writer, dictionary, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DisableUserIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDisableUserIncidentTaskResponseAction(writer, disableUserIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!disableUserIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, disableUserIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DisableUserResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDisableUserResponseAction(writer, disableUserResponseAction = {}, isSerializingDerivedType = false) {
    if (!disableUserResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, disableUserResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", disableUserResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param DiscoveredCloudAppDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveredCloudAppDetail(writer, discoveredCloudAppDetail = {}, isSerializingDerivedType = false) {
    if (!discoveredCloudAppDetail || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, discoveredCloudAppDetail, isSerializingDerivedType);
    writer.writeObjectValue("appInfo", discoveredCloudAppDetail.appInfo, serializeDiscoveredCloudAppInfo);
    writer.writeEnumValue("category", discoveredCloudAppDetail.category);
    writer.writeStringValue("description", discoveredCloudAppDetail.description);
    writer.writeStringValue("displayName", discoveredCloudAppDetail.displayName);
    writer.writeCollectionOfPrimitiveValues("domains", discoveredCloudAppDetail.domains);
    writer.writeNumberValue("downloadNetworkTrafficInBytes", discoveredCloudAppDetail.downloadNetworkTrafficInBytes);
    writer.writeDateValue("firstSeenDateTime", discoveredCloudAppDetail.firstSeenDateTime);
    writer.writeNumberValue("ipAddressCount", discoveredCloudAppDetail.ipAddressCount);
    writer.writeCollectionOfObjectValues("ipAddresses", discoveredCloudAppDetail.ipAddresses, serializeDiscoveredCloudAppIPAddress);
    writer.writeDateValue("lastSeenDateTime", discoveredCloudAppDetail.lastSeenDateTime);
    writer.writeNumberValue("riskScore", discoveredCloudAppDetail.riskScore);
    writer.writeCollectionOfPrimitiveValues("tags", discoveredCloudAppDetail.tags);
    writer.writeNumberValue("transactionCount", discoveredCloudAppDetail.transactionCount);
    writer.writeNumberValue("uploadNetworkTrafficInBytes", discoveredCloudAppDetail.uploadNetworkTrafficInBytes);
    writer.writeNumberValue("userCount", discoveredCloudAppDetail.userCount);
    writer.writeCollectionOfObjectValues("users", discoveredCloudAppDetail.users, serializeDiscoveredCloudAppUser);
    switch (discoveredCloudAppDetail.odataType) {
        case "#microsoft.graph.security.endpointDiscoveredCloudAppDetail":
            serializeEndpointDiscoveredCloudAppDetail(writer, discoveredCloudAppDetail, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param DiscoveredCloudAppDevice The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveredCloudAppDevice(writer, discoveredCloudAppDevice = {}, isSerializingDerivedType = false) {
    if (!discoveredCloudAppDevice || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", discoveredCloudAppDevice.name);
    writer.writeStringValue("@odata.type", discoveredCloudAppDevice.odataType);
    writer.writeAdditionalData(discoveredCloudAppDevice.additionalData);
}
/**
 * Serializes information the current object
 * @param DiscoveredCloudAppInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveredCloudAppInfo(writer, discoveredCloudAppInfo = {}, isSerializingDerivedType = false) {
    if (!discoveredCloudAppInfo || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, discoveredCloudAppInfo, isSerializingDerivedType);
    writer.writeEnumValue("csaStarLevel", discoveredCloudAppInfo.csaStarLevel);
    writer.writeEnumValue("dataAtRestEncryptionMethod", discoveredCloudAppInfo.dataAtRestEncryptionMethod);
    writer.writeStringValue("dataCenter", discoveredCloudAppInfo.dataCenter);
    writer.writeEnumValue("dataRetentionPolicy", discoveredCloudAppInfo.dataRetentionPolicy);
    if (discoveredCloudAppInfo.dataTypes)
        writer.writeCollectionOfEnumValues("dataTypes", discoveredCloudAppInfo.dataTypes);
    writer.writeDateValue("domainRegistrationDateTime", discoveredCloudAppInfo.domainRegistrationDateTime);
    writer.writeEnumValue("encryptionProtocol", discoveredCloudAppInfo.encryptionProtocol);
    writer.writeEnumValue("fedRampLevel", discoveredCloudAppInfo.fedRampLevel);
    writer.writeNumberValue("founded", discoveredCloudAppInfo.founded);
    writer.writeStringValue("gdprReadinessStatement", discoveredCloudAppInfo.gdprReadinessStatement);
    writer.writeStringValue("headquarters", discoveredCloudAppInfo.headquarters);
    writer.writeEnumValue("holding", discoveredCloudAppInfo.holding);
    writer.writeStringValue("hostingCompany", discoveredCloudAppInfo.hostingCompany);
    writer.writeEnumValue("isAdminAuditTrail", discoveredCloudAppInfo.isAdminAuditTrail);
    writer.writeEnumValue("isCobitCompliant", discoveredCloudAppInfo.isCobitCompliant);
    writer.writeEnumValue("isCoppaCompliant", discoveredCloudAppInfo.isCoppaCompliant);
    writer.writeEnumValue("isDataAuditTrail", discoveredCloudAppInfo.isDataAuditTrail);
    writer.writeEnumValue("isDataClassification", discoveredCloudAppInfo.isDataClassification);
    writer.writeEnumValue("isDataOwnership", discoveredCloudAppInfo.isDataOwnership);
    writer.writeEnumValue("isDisasterRecoveryPlan", discoveredCloudAppInfo.isDisasterRecoveryPlan);
    writer.writeEnumValue("isDmca", discoveredCloudAppInfo.isDmca);
    writer.writeEnumValue("isFerpaCompliant", discoveredCloudAppInfo.isFerpaCompliant);
    writer.writeEnumValue("isFfiecCompliant", discoveredCloudAppInfo.isFfiecCompliant);
    writer.writeEnumValue("isFileSharing", discoveredCloudAppInfo.isFileSharing);
    writer.writeEnumValue("isFinraCompliant", discoveredCloudAppInfo.isFinraCompliant);
    writer.writeEnumValue("isFismaCompliant", discoveredCloudAppInfo.isFismaCompliant);
    writer.writeEnumValue("isGaapCompliant", discoveredCloudAppInfo.isGaapCompliant);
    writer.writeEnumValue("isGdprDataProtectionImpactAssessment", discoveredCloudAppInfo.isGdprDataProtectionImpactAssessment);
    writer.writeEnumValue("isGdprDataProtectionOfficer", discoveredCloudAppInfo.isGdprDataProtectionOfficer);
    writer.writeEnumValue("isGdprDataProtectionSecureCrossBorderDataTransfer", discoveredCloudAppInfo.isGdprDataProtectionSecureCrossBorderDataTransfer);
    writer.writeEnumValue("isGdprImpactAssessment", discoveredCloudAppInfo.isGdprImpactAssessment);
    writer.writeEnumValue("isGdprLawfulBasisForProcessing", discoveredCloudAppInfo.isGdprLawfulBasisForProcessing);
    writer.writeEnumValue("isGdprReportDataBreaches", discoveredCloudAppInfo.isGdprReportDataBreaches);
    writer.writeEnumValue("isGdprRightsRelatedToAutomatedDecisionMaking", discoveredCloudAppInfo.isGdprRightsRelatedToAutomatedDecisionMaking);
    writer.writeEnumValue("isGdprRightToAccess", discoveredCloudAppInfo.isGdprRightToAccess);
    writer.writeEnumValue("isGdprRightToBeInformed", discoveredCloudAppInfo.isGdprRightToBeInformed);
    writer.writeEnumValue("isGdprRightToDataPortablility", discoveredCloudAppInfo.isGdprRightToDataPortablility);
    writer.writeEnumValue("isGdprRightToErasure", discoveredCloudAppInfo.isGdprRightToErasure);
    writer.writeEnumValue("isGdprRightToObject", discoveredCloudAppInfo.isGdprRightToObject);
    writer.writeEnumValue("isGdprRightToRectification", discoveredCloudAppInfo.isGdprRightToRectification);
    writer.writeEnumValue("isGdprRightToRestrictionOfProcessing", discoveredCloudAppInfo.isGdprRightToRestrictionOfProcessing);
    writer.writeEnumValue("isGdprSecureCrossBorderDataControl", discoveredCloudAppInfo.isGdprSecureCrossBorderDataControl);
    writer.writeEnumValue("isGlbaCompliant", discoveredCloudAppInfo.isGlbaCompliant);
    writer.writeEnumValue("isHipaaCompliant", discoveredCloudAppInfo.isHipaaCompliant);
    writer.writeEnumValue("isHitrustCsfCompliant", discoveredCloudAppInfo.isHitrustCsfCompliant);
    writer.writeEnumValue("isHttpSecurityHeadersContentSecurityPolicy", discoveredCloudAppInfo.isHttpSecurityHeadersContentSecurityPolicy);
    writer.writeEnumValue("isHttpSecurityHeadersStrictTransportSecurity", discoveredCloudAppInfo.isHttpSecurityHeadersStrictTransportSecurity);
    writer.writeEnumValue("isHttpSecurityHeadersXContentTypeOptions", discoveredCloudAppInfo.isHttpSecurityHeadersXContentTypeOptions);
    writer.writeEnumValue("isHttpSecurityHeadersXFrameOptions", discoveredCloudAppInfo.isHttpSecurityHeadersXFrameOptions);
    writer.writeEnumValue("isHttpSecurityHeadersXXssProtection", discoveredCloudAppInfo.isHttpSecurityHeadersXXssProtection);
    writer.writeEnumValue("isIpAddressRestriction", discoveredCloudAppInfo.isIpAddressRestriction);
    writer.writeEnumValue("isIsae3402Compliant", discoveredCloudAppInfo.isIsae3402Compliant);
    writer.writeEnumValue("isIso27001Compliant", discoveredCloudAppInfo.isIso27001Compliant);
    writer.writeEnumValue("isIso27017Compliant", discoveredCloudAppInfo.isIso27017Compliant);
    writer.writeEnumValue("isIso27018Compliant", discoveredCloudAppInfo.isIso27018Compliant);
    writer.writeEnumValue("isItarCompliant", discoveredCloudAppInfo.isItarCompliant);
    writer.writeEnumValue("isMultiFactorAuthentication", discoveredCloudAppInfo.isMultiFactorAuthentication);
    writer.writeEnumValue("isPasswordPolicy", discoveredCloudAppInfo.isPasswordPolicy);
    writer.writeEnumValue("isPasswordPolicyChangePasswordPeriod", discoveredCloudAppInfo.isPasswordPolicyChangePasswordPeriod);
    writer.writeEnumValue("isPasswordPolicyCharacterCombination", discoveredCloudAppInfo.isPasswordPolicyCharacterCombination);
    writer.writeEnumValue("isPasswordPolicyPasswordHistoryAndReuse", discoveredCloudAppInfo.isPasswordPolicyPasswordHistoryAndReuse);
    writer.writeEnumValue("isPasswordPolicyPasswordLengthLimit", discoveredCloudAppInfo.isPasswordPolicyPasswordLengthLimit);
    writer.writeEnumValue("isPasswordPolicyPersonalInformationUse", discoveredCloudAppInfo.isPasswordPolicyPersonalInformationUse);
    writer.writeEnumValue("isPenetrationTesting", discoveredCloudAppInfo.isPenetrationTesting);
    writer.writeEnumValue("isPrivacyShieldCompliant", discoveredCloudAppInfo.isPrivacyShieldCompliant);
    writer.writeEnumValue("isRememberPassword", discoveredCloudAppInfo.isRememberPassword);
    writer.writeEnumValue("isRequiresUserAuthentication", discoveredCloudAppInfo.isRequiresUserAuthentication);
    writer.writeEnumValue("isSoc1Compliant", discoveredCloudAppInfo.isSoc1Compliant);
    writer.writeEnumValue("isSoc2Compliant", discoveredCloudAppInfo.isSoc2Compliant);
    writer.writeEnumValue("isSoc3Compliant", discoveredCloudAppInfo.isSoc3Compliant);
    writer.writeEnumValue("isSoxCompliant", discoveredCloudAppInfo.isSoxCompliant);
    writer.writeEnumValue("isSp80053Compliant", discoveredCloudAppInfo.isSp80053Compliant);
    writer.writeEnumValue("isSsae16Compliant", discoveredCloudAppInfo.isSsae16Compliant);
    writer.writeEnumValue("isSupportsSaml", discoveredCloudAppInfo.isSupportsSaml);
    writer.writeEnumValue("isTrustedCertificate", discoveredCloudAppInfo.isTrustedCertificate);
    writer.writeEnumValue("isUserAuditTrail", discoveredCloudAppInfo.isUserAuditTrail);
    writer.writeEnumValue("isUserCanUploadData", discoveredCloudAppInfo.isUserCanUploadData);
    writer.writeEnumValue("isUserRolesSupport", discoveredCloudAppInfo.isUserRolesSupport);
    writer.writeEnumValue("isValidCertificateName", discoveredCloudAppInfo.isValidCertificateName);
    writer.writeDateValue("latestBreachDateTime", discoveredCloudAppInfo.latestBreachDateTime);
    writer.writeCollectionOfPrimitiveValues("logonUrls", discoveredCloudAppInfo.logonUrls);
    writer.writeEnumValue("pciDssVersion", discoveredCloudAppInfo.pciDssVersion);
    writer.writeStringValue("vendor", discoveredCloudAppInfo.vendor);
}
/**
 * Serializes information the current object
 * @param DiscoveredCloudAppIPAddress The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveredCloudAppIPAddress(writer, discoveredCloudAppIPAddress = {}, isSerializingDerivedType = false) {
    if (!discoveredCloudAppIPAddress || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("ipAddress", discoveredCloudAppIPAddress.ipAddress);
    writer.writeStringValue("@odata.type", discoveredCloudAppIPAddress.odataType);
    writer.writeAdditionalData(discoveredCloudAppIPAddress.additionalData);
}
/**
 * Serializes information the current object
 * @param DiscoveredCloudAppUser The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveredCloudAppUser(writer, discoveredCloudAppUser = {}, isSerializingDerivedType = false) {
    if (!discoveredCloudAppUser || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", discoveredCloudAppUser.odataType);
    writer.writeStringValue("userIdentifier", discoveredCloudAppUser.userIdentifier);
    writer.writeAdditionalData(discoveredCloudAppUser.additionalData);
}
/**
 * Serializes information the current object
 * @param DiscoveryAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDiscoveryAuditRecord(writer, discoveryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!discoveryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, discoveryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DispositionReviewStage The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDispositionReviewStage(writer, dispositionReviewStage = {}, isSerializingDerivedType = false) {
    if (!dispositionReviewStage || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, dispositionReviewStage, isSerializingDerivedType);
    writer.writeStringValue("name", dispositionReviewStage.name);
    writer.writeCollectionOfPrimitiveValues("reviewersEmailAddresses", dispositionReviewStage.reviewersEmailAddresses);
    writer.writeStringValue("stageNumber", dispositionReviewStage.stageNumber);
}
/**
 * Serializes information the current object
 * @param DispositionReviewStageCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDispositionReviewStageCollectionResponse(writer, dispositionReviewStageCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!dispositionReviewStageCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, dispositionReviewStageCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", dispositionReviewStageCollectionResponse.value, serializeDispositionReviewStage);
}
/**
 * Serializes information the current object
 * @param DlpEndpointAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDlpEndpointAuditRecord(writer, dlpEndpointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dlpEndpointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dlpEndpointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DlpImportResultAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDlpImportResultAuditRecord(writer, dlpImportResultAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dlpImportResultAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dlpImportResultAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DlpSensitiveInformationTypeRulePackageCmdletRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDlpSensitiveInformationTypeRulePackageCmdletRecord(writer, dlpSensitiveInformationTypeRulePackageCmdletRecord = {}, isSerializingDerivedType = false) {
    if (!dlpSensitiveInformationTypeRulePackageCmdletRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dlpSensitiveInformationTypeRulePackageCmdletRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DnsEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDnsEntityMapping(writer, dnsEntityMapping = {}, isSerializingDerivedType = false) {
    if (!dnsEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, dnsEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("domainNameColumn", dnsEntityMapping.domainNameColumn);
    writer.writeStringValue("hostIpAddressColumn", dnsEntityMapping.hostIpAddressColumn);
    writer.writeStringValue("serverIpColumn", dnsEntityMapping.serverIpColumn);
}
/**
 * Serializes information the current object
 * @param DnsEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDnsEvidence(writer, dnsEvidence = {}, isSerializingDerivedType = false) {
    if (!dnsEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, dnsEvidence, isSerializingDerivedType);
    writer.writeObjectValue("dnsServerIp", dnsEvidence.dnsServerIp, serializeIpEvidence);
    writer.writeStringValue("domainName", dnsEvidence.domainName);
    writer.writeObjectValue("hostIpAddress", dnsEvidence.hostIpAddress, serializeIpEvidence);
    writer.writeCollectionOfObjectValues("ipAddresses", dnsEvidence.ipAddresses, serializeIpEvidence);
}
/**
 * Serializes information the current object
 * @param DowngradeJustification The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDowngradeJustification(writer, downgradeJustification = {}, isSerializingDerivedType = false) {
    if (!downgradeJustification || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("isDowngradeJustified", downgradeJustification.isDowngradeJustified);
    writer.writeStringValue("justificationMessage", downgradeJustification.justificationMessage);
    writer.writeStringValue("@odata.type", downgradeJustification.odataType);
    writer.writeAdditionalData(downgradeJustification.additionalData);
}
/**
 * Serializes information the current object
 * @param DragonCopilotAccessRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDragonCopilotAccessRecord(writer, dragonCopilotAccessRecord = {}, isSerializingDerivedType = false) {
    if (!dragonCopilotAccessRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dragonCopilotAccessRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DragonCopilotAdminRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDragonCopilotAdminRecord(writer, dragonCopilotAdminRecord = {}, isSerializingDerivedType = false) {
    if (!dragonCopilotAdminRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dragonCopilotAdminRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DragonCopilotClinicalDataRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDragonCopilotClinicalDataRecord(writer, dragonCopilotClinicalDataRecord = {}, isSerializingDerivedType = false) {
    if (!dragonCopilotClinicalDataRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dragonCopilotClinicalDataRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param DragonCopilotSessionRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDragonCopilotSessionRecord(writer, dragonCopilotSessionRecord = {}, isSerializingDerivedType = false) {
    if (!dragonCopilotSessionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dragonCopilotSessionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param Dynamics365BusinessCentralAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeDynamics365BusinessCentralAuditRecord(writer, dynamics365BusinessCentralAuditRecord = {}, isSerializingDerivedType = false) {
    if (!dynamics365BusinessCentralAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, dynamics365BusinessCentralAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EdiscoveryAddToReviewSetOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryAddToReviewSetOperation(writer, ediscoveryAddToReviewSetOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryAddToReviewSetOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryAddToReviewSetOperation, isSerializingDerivedType);
    writer.writeEnumValue("additionalDataOptions", ediscoveryAddToReviewSetOperation.additionalDataOptions);
    writer.writeEnumValue("cloudAttachmentVersion", ediscoveryAddToReviewSetOperation.cloudAttachmentVersion);
    writer.writeEnumValue("documentVersion", ediscoveryAddToReviewSetOperation.documentVersion);
    writer.writeEnumValue("itemsToInclude", ediscoveryAddToReviewSetOperation.itemsToInclude);
    writer.writeCollectionOfObjectValues("reportFileMetadata", ediscoveryAddToReviewSetOperation.reportFileMetadata, serializeReportFileMetadata);
    writer.writeObjectValue("reviewSet", ediscoveryAddToReviewSetOperation.reviewSet, serializeEdiscoveryReviewSet);
    writer.writeObjectValue("search", ediscoveryAddToReviewSetOperation.search, serializeEdiscoverySearch);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCase(writer, ediscoveryCase = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCase || isSerializingDerivedType) {
        return;
    }
    serializeCaseEscaped(writer, ediscoveryCase, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("caseMembers", ediscoveryCase.caseMembers, serializeEdiscoveryCaseMember);
    writer.writeObjectValue("closedBy", ediscoveryCase.closedBy, serializeIdentitySet);
    writer.writeDateValue("closedDateTime", ediscoveryCase.closedDateTime);
    writer.writeCollectionOfObjectValues("custodians", ediscoveryCase.custodians, serializeEdiscoveryCustodian);
    writer.writeStringValue("externalId", ediscoveryCase.externalId);
    writer.writeCollectionOfObjectValues("legalHolds", ediscoveryCase.legalHolds, serializeEdiscoveryHoldPolicy);
    writer.writeCollectionOfObjectValues("noncustodialDataSources", ediscoveryCase.noncustodialDataSources, serializeEdiscoveryNoncustodialDataSource);
    writer.writeCollectionOfObjectValues("operations", ediscoveryCase.operations, serializeCaseOperation);
    writer.writeCollectionOfObjectValues("reviewSets", ediscoveryCase.reviewSets, serializeEdiscoveryReviewSet);
    writer.writeCollectionOfObjectValues("searches", ediscoveryCase.searches, serializeEdiscoverySearch);
    writer.writeObjectValue("settings", ediscoveryCase.settings, serializeEdiscoveryCaseSettings);
    writer.writeCollectionOfObjectValues("tags", ediscoveryCase.tags, serializeEdiscoveryReviewTag);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCaseCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCaseCollectionResponse(writer, ediscoveryCaseCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCaseCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryCaseCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryCaseCollectionResponse.value, serializeEdiscoveryCase);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCaseMember The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCaseMember(writer, ediscoveryCaseMember = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCaseMember || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, ediscoveryCaseMember, isSerializingDerivedType);
    writer.writeStringValue("displayName", ediscoveryCaseMember.displayName);
    writer.writeEnumValue("recipientType", ediscoveryCaseMember.recipientType);
    writer.writeStringValue("smtpAddress", ediscoveryCaseMember.smtpAddress);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCaseMemberCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCaseMemberCollectionResponse(writer, ediscoveryCaseMemberCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCaseMemberCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryCaseMemberCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryCaseMemberCollectionResponse.value, serializeEdiscoveryCaseMember);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCaseSettings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCaseSettings(writer, ediscoveryCaseSettings = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCaseSettings || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, ediscoveryCaseSettings, isSerializingDerivedType);
    writer.writeEnumValue("caseType", ediscoveryCaseSettings.caseType);
    writer.writeObjectValue("ocr", ediscoveryCaseSettings.ocr, serializeOcrSettings);
    writer.writeObjectValue("redundancyDetection", ediscoveryCaseSettings.redundancyDetection, serializeRedundancyDetectionSettings);
    writer.writeEnumValue("reviewSetSettings", ediscoveryCaseSettings.reviewSetSettings);
    writer.writeObjectValue("topicModeling", ediscoveryCaseSettings.topicModeling, serializeTopicModelingSettings);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCustodian The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCustodian(writer, ediscoveryCustodian = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCustodian || isSerializingDerivedType) {
        return;
    }
    serializeDataSourceContainer(writer, ediscoveryCustodian, isSerializingDerivedType);
    writer.writeDateValue("acknowledgedDateTime", ediscoveryCustodian.acknowledgedDateTime);
    writer.writeStringValue("email", ediscoveryCustodian.email);
    writer.writeObjectValue("lastIndexOperation", ediscoveryCustodian.lastIndexOperation, serializeEdiscoveryIndexOperation);
    writer.writeCollectionOfObjectValues("siteSources", ediscoveryCustodian.siteSources, serializeSiteSource);
    writer.writeCollectionOfObjectValues("unifiedGroupSources", ediscoveryCustodian.unifiedGroupSources, serializeUnifiedGroupSource);
    writer.writeCollectionOfObjectValues("userSources", ediscoveryCustodian.userSources, serializeUserSource);
}
/**
 * Serializes information the current object
 * @param EdiscoveryCustodianCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryCustodianCollectionResponse(writer, ediscoveryCustodianCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryCustodianCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryCustodianCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryCustodianCollectionResponse.value, serializeEdiscoveryCustodian);
}
/**
 * Serializes information the current object
 * @param EdiscoveryEstimateOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryEstimateOperation(writer, ediscoveryEstimateOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryEstimateOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryEstimateOperation, isSerializingDerivedType);
    writer.writeNumberValue("indexedItemCount", ediscoveryEstimateOperation.indexedItemCount);
    writer.writeNumberValue("indexedItemsSize", ediscoveryEstimateOperation.indexedItemsSize);
    writer.writeNumberValue("mailboxCount", ediscoveryEstimateOperation.mailboxCount);
    writer.writeCollectionOfObjectValues("reportFileMetadata", ediscoveryEstimateOperation.reportFileMetadata, serializeReportFileMetadata);
    writer.writeObjectValue("search", ediscoveryEstimateOperation.search, serializeEdiscoverySearch);
    writer.writeNumberValue("siteCount", ediscoveryEstimateOperation.siteCount);
    writer.writeEnumValue("statisticsOptions", ediscoveryEstimateOperation.statisticsOptions);
    writer.writeNumberValue("unindexedItemCount", ediscoveryEstimateOperation.unindexedItemCount);
    writer.writeNumberValue("unindexedItemsSize", ediscoveryEstimateOperation.unindexedItemsSize);
}
/**
 * Serializes information the current object
 * @param EdiscoveryExportOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryExportOperation(writer, ediscoveryExportOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryExportOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryExportOperation, isSerializingDerivedType);
    writer.writeStringValue("azureBlobContainer", ediscoveryExportOperation.azureBlobContainer);
    writer.writeStringValue("azureBlobToken", ediscoveryExportOperation.azureBlobToken);
    writer.writeStringValue("description", ediscoveryExportOperation.description);
    writer.writeCollectionOfObjectValues("exportFileMetadata", ediscoveryExportOperation.exportFileMetadata, serializeExportFileMetadata);
    writer.writeEnumValue("exportOptions", ediscoveryExportOperation.exportOptions);
    writer.writeEnumValue("exportStructure", ediscoveryExportOperation.exportStructure);
    writer.writeStringValue("outputFolderId", ediscoveryExportOperation.outputFolderId);
    writer.writeStringValue("outputName", ediscoveryExportOperation.outputName);
    writer.writeObjectValue("reviewSet", ediscoveryExportOperation.reviewSet, serializeEdiscoveryReviewSet);
    writer.writeObjectValue("reviewSetQuery", ediscoveryExportOperation.reviewSetQuery, serializeEdiscoveryReviewSetQuery);
}
/**
 * Serializes information the current object
 * @param EdiscoveryFile The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryFile(writer, ediscoveryFile = {}, isSerializingDerivedType = false) {
    if (!ediscoveryFile || isSerializingDerivedType) {
        return;
    }
    serializeFile(writer, ediscoveryFile, isSerializingDerivedType);
    writer.writeObjectValue("custodian", ediscoveryFile.custodian, serializeEdiscoveryCustodian);
    writer.writeCollectionOfObjectValues("tags", ediscoveryFile.tags, serializeEdiscoveryReviewTag);
}
/**
 * Serializes information the current object
 * @param EdiscoveryFileCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryFileCollectionResponse(writer, ediscoveryFileCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryFileCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryFileCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryFileCollectionResponse.value, serializeEdiscoveryFile);
}
/**
 * Serializes information the current object
 * @param EdiscoveryHoldOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryHoldOperation(writer, ediscoveryHoldOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryHoldOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryHoldOperation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EdiscoveryHoldPolicy The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryHoldPolicy(writer, ediscoveryHoldPolicy = {}, isSerializingDerivedType = false) {
    if (!ediscoveryHoldPolicy || isSerializingDerivedType) {
        return;
    }
    serializePolicyBase(writer, ediscoveryHoldPolicy, isSerializingDerivedType);
    writer.writeStringValue("contentQuery", ediscoveryHoldPolicy.contentQuery);
    writer.writeCollectionOfPrimitiveValues("errors", ediscoveryHoldPolicy.errors);
    writer.writeBooleanValue("isEnabled", ediscoveryHoldPolicy.isEnabled);
    writer.writeCollectionOfObjectValues("siteSources", ediscoveryHoldPolicy.siteSources, serializeSiteSource);
    writer.writeCollectionOfObjectValues("userSources", ediscoveryHoldPolicy.userSources, serializeUserSource);
}
/**
 * Serializes information the current object
 * @param EdiscoveryHoldPolicyCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryHoldPolicyCollectionResponse(writer, ediscoveryHoldPolicyCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryHoldPolicyCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryHoldPolicyCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryHoldPolicyCollectionResponse.value, serializeEdiscoveryHoldPolicy);
}
/**
 * Serializes information the current object
 * @param EdiscoveryHoldPolicySyncOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryHoldPolicySyncOperation(writer, ediscoveryHoldPolicySyncOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryHoldPolicySyncOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryHoldPolicySyncOperation, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("reportFileMetadata", ediscoveryHoldPolicySyncOperation.reportFileMetadata, serializeReportFileMetadata);
}
/**
 * Serializes information the current object
 * @param EdiscoveryIndexOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryIndexOperation(writer, ediscoveryIndexOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryIndexOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryIndexOperation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EdiscoveryNoncustodialDataSource The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryNoncustodialDataSource(writer, ediscoveryNoncustodialDataSource = {}, isSerializingDerivedType = false) {
    if (!ediscoveryNoncustodialDataSource || isSerializingDerivedType) {
        return;
    }
    serializeDataSourceContainer(writer, ediscoveryNoncustodialDataSource, isSerializingDerivedType);
    writer.writeObjectValue("dataSource", ediscoveryNoncustodialDataSource.dataSource, serializeDataSource);
    writer.writeObjectValue("lastIndexOperation", ediscoveryNoncustodialDataSource.lastIndexOperation, serializeEdiscoveryIndexOperation);
}
/**
 * Serializes information the current object
 * @param EdiscoveryNoncustodialDataSourceCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryNoncustodialDataSourceCollectionResponse(writer, ediscoveryNoncustodialDataSourceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryNoncustodialDataSourceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryNoncustodialDataSourceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryNoncustodialDataSourceCollectionResponse.value, serializeEdiscoveryNoncustodialDataSource);
}
/**
 * Serializes information the current object
 * @param EdiscoveryPurgeDataOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryPurgeDataOperation(writer, ediscoveryPurgeDataOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryPurgeDataOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryPurgeDataOperation, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("reportFileMetadata", ediscoveryPurgeDataOperation.reportFileMetadata, serializeReportFileMetadata);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewSet The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewSet(writer, ediscoveryReviewSet = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewSet || isSerializingDerivedType) {
        return;
    }
    serializeDataSet(writer, ediscoveryReviewSet, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("files", ediscoveryReviewSet.files, serializeEdiscoveryFile);
    writer.writeCollectionOfObjectValues("queries", ediscoveryReviewSet.queries, serializeEdiscoveryReviewSetQuery);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewSetCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewSetCollectionResponse(writer, ediscoveryReviewSetCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewSetCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryReviewSetCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryReviewSetCollectionResponse.value, serializeEdiscoveryReviewSet);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewSetQuery The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewSetQuery(writer, ediscoveryReviewSetQuery = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewSetQuery || isSerializingDerivedType) {
        return;
    }
    serializeSearch(writer, ediscoveryReviewSetQuery, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewSetQueryCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewSetQueryCollectionResponse(writer, ediscoveryReviewSetQueryCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewSetQueryCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryReviewSetQueryCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryReviewSetQueryCollectionResponse.value, serializeEdiscoveryReviewSetQuery);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewTag The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewTag(writer, ediscoveryReviewTag = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewTag || isSerializingDerivedType) {
        return;
    }
    serializeTag(writer, ediscoveryReviewTag, isSerializingDerivedType);
    writer.writeEnumValue("childSelectability", ediscoveryReviewTag.childSelectability);
    writer.writeCollectionOfObjectValues("childTags", ediscoveryReviewTag.childTags, serializeEdiscoveryReviewTag);
    writer.writeObjectValue("parent", ediscoveryReviewTag.parent, serializeEdiscoveryReviewTag);
}
/**
 * Serializes information the current object
 * @param EdiscoveryReviewTagCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryReviewTagCollectionResponse(writer, ediscoveryReviewTagCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoveryReviewTagCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoveryReviewTagCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoveryReviewTagCollectionResponse.value, serializeEdiscoveryReviewTag);
}
/**
 * Serializes information the current object
 * @param EdiscoverySearch The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoverySearch(writer, ediscoverySearch = {}, isSerializingDerivedType = false) {
    if (!ediscoverySearch || isSerializingDerivedType) {
        return;
    }
    serializeSearch(writer, ediscoverySearch, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("additionalSources", ediscoverySearch.additionalSources, serializeDataSource);
    writer.writeObjectValue("addToReviewSetOperation", ediscoverySearch.addToReviewSetOperation, serializeEdiscoveryAddToReviewSetOperation);
    writer.writeCollectionOfObjectValues("custodianSources", ediscoverySearch.custodianSources, serializeDataSource);
    writer.writeEnumValue("dataSourceScopes", ediscoverySearch.dataSourceScopes);
    writer.writeObjectValue("lastEstimateStatisticsOperation", ediscoverySearch.lastEstimateStatisticsOperation, serializeEdiscoveryEstimateOperation);
    writer.writeCollectionOfObjectValues("noncustodialSources", ediscoverySearch.noncustodialSources, serializeEdiscoveryNoncustodialDataSource);
}
/**
 * Serializes information the current object
 * @param EdiscoverySearchCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoverySearchCollectionResponse(writer, ediscoverySearchCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!ediscoverySearchCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, ediscoverySearchCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", ediscoverySearchCollectionResponse.value, serializeEdiscoverySearch);
}
/**
 * Serializes information the current object
 * @param EdiscoverySearchExportOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoverySearchExportOperation(writer, ediscoverySearchExportOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoverySearchExportOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoverySearchExportOperation, isSerializingDerivedType);
    writer.writeEnumValue("additionalOptions", ediscoverySearchExportOperation.additionalOptions);
    writer.writeEnumValue("cloudAttachmentVersion", ediscoverySearchExportOperation.cloudAttachmentVersion);
    writer.writeStringValue("description", ediscoverySearchExportOperation.description);
    writer.writeStringValue("displayName", ediscoverySearchExportOperation.displayName);
    writer.writeEnumValue("documentVersion", ediscoverySearchExportOperation.documentVersion);
    writer.writeEnumValue("exportCriteria", ediscoverySearchExportOperation.exportCriteria);
    writer.writeCollectionOfObjectValues("exportFileMetadata", ediscoverySearchExportOperation.exportFileMetadata, serializeExportFileMetadata);
    writer.writeEnumValue("exportFormat", ediscoverySearchExportOperation.exportFormat);
    writer.writeEnumValue("exportLocation", ediscoverySearchExportOperation.exportLocation);
    writer.writeBooleanValue("exportSingleItems", ediscoverySearchExportOperation.exportSingleItems);
    writer.writeObjectValue("search", ediscoverySearchExportOperation.search, serializeEdiscoverySearch);
}
/**
 * Serializes information the current object
 * @param EdiscoveryTagOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEdiscoveryTagOperation(writer, ediscoveryTagOperation = {}, isSerializingDerivedType = false) {
    if (!ediscoveryTagOperation || isSerializingDerivedType) {
        return;
    }
    serializeCaseOperation(writer, ediscoveryTagOperation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EhrConnectorAuditBaseRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEhrConnectorAuditBaseRecord(writer, ehrConnectorAuditBaseRecord = {}, isSerializingDerivedType = false) {
    if (!ehrConnectorAuditBaseRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, ehrConnectorAuditBaseRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EmailAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailAction(writer, emailAction = {}, isSerializingDerivedType = false) {
    if (!emailAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, emailAction, isSerializingDerivedType);
    writer.writeStringValue("networkMessageIdColumn", emailAction.networkMessageIdColumn);
    writer.writeStringValue("recipientColumn", emailAction.recipientColumn);
}
/**
 * Serializes information the current object
 * @param EmailContentThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailContentThreatSubmission(writer, emailContentThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!emailContentThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeEmailThreatSubmission(writer, emailContentThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("fileContent", emailContentThreatSubmission.fileContent);
}
/**
 * Serializes information the current object
 * @param EmailSender The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailSender(writer, emailSender = {}, isSerializingDerivedType = false) {
    if (!emailSender || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("displayName", emailSender.displayName);
    writer.writeStringValue("domainName", emailSender.domainName);
    writer.writeStringValue("emailAddress", emailSender.emailAddress);
    writer.writeStringValue("@odata.type", emailSender.odataType);
    writer.writeAdditionalData(emailSender.additionalData);
}
/**
 * Serializes information the current object
 * @param EmailThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailThreatSubmission(writer, emailThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!emailThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeThreatSubmission(writer, emailThreatSubmission, isSerializingDerivedType);
    writer.writeObjectValue("attackSimulationInfo", emailThreatSubmission.attackSimulationInfo, serializeAttackSimulationInfo);
    writer.writeStringValue("internetMessageId", emailThreatSubmission.internetMessageId);
    writer.writeEnumValue("originalCategory", emailThreatSubmission.originalCategory);
    writer.writeDateValue("receivedDateTime", emailThreatSubmission.receivedDateTime);
    writer.writeStringValue("recipientEmailAddress", emailThreatSubmission.recipientEmailAddress);
    writer.writeStringValue("sender", emailThreatSubmission.sender);
    writer.writeStringValue("senderIP", emailThreatSubmission.senderIP);
    writer.writeStringValue("subject", emailThreatSubmission.subject);
    writer.writeObjectValue("tenantAllowOrBlockListAction", emailThreatSubmission.tenantAllowOrBlockListAction, serializeTenantAllowOrBlockListAction);
    switch (emailThreatSubmission.odataType) {
        case "#microsoft.graph.security.emailContentThreatSubmission":
            serializeEmailContentThreatSubmission(writer, emailThreatSubmission, true);
            break;
        case "#microsoft.graph.security.emailUrlThreatSubmission":
            serializeEmailUrlThreatSubmission(writer, emailThreatSubmission, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param EmailThreatSubmissionCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailThreatSubmissionCollectionResponse(writer, emailThreatSubmissionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!emailThreatSubmissionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, emailThreatSubmissionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", emailThreatSubmissionCollectionResponse.value, serializeEmailThreatSubmission);
}
/**
 * Serializes information the current object
 * @param EmailThreatSubmissionPolicy The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailThreatSubmissionPolicy(writer, emailThreatSubmissionPolicy = {}, isSerializingDerivedType = false) {
    if (!emailThreatSubmissionPolicy || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, emailThreatSubmissionPolicy, isSerializingDerivedType);
    writer.writeStringValue("customizedNotificationSenderEmailAddress", emailThreatSubmissionPolicy.customizedNotificationSenderEmailAddress);
    writer.writeStringValue("customizedReportRecipientEmailAddress", emailThreatSubmissionPolicy.customizedReportRecipientEmailAddress);
    writer.writeBooleanValue("isAlwaysReportEnabledForUsers", emailThreatSubmissionPolicy.isAlwaysReportEnabledForUsers);
    writer.writeBooleanValue("isAskMeEnabledForUsers", emailThreatSubmissionPolicy.isAskMeEnabledForUsers);
    writer.writeBooleanValue("isCustomizedMessageEnabled", emailThreatSubmissionPolicy.isCustomizedMessageEnabled);
    writer.writeBooleanValue("isCustomizedMessageEnabledForPhishing", emailThreatSubmissionPolicy.isCustomizedMessageEnabledForPhishing);
    writer.writeBooleanValue("isCustomizedNotificationSenderEnabled", emailThreatSubmissionPolicy.isCustomizedNotificationSenderEnabled);
    writer.writeBooleanValue("isNeverReportEnabledForUsers", emailThreatSubmissionPolicy.isNeverReportEnabledForUsers);
    writer.writeBooleanValue("isOrganizationBrandingEnabled", emailThreatSubmissionPolicy.isOrganizationBrandingEnabled);
    writer.writeBooleanValue("isReportFromQuarantineEnabled", emailThreatSubmissionPolicy.isReportFromQuarantineEnabled);
    writer.writeBooleanValue("isReportToCustomizedEmailAddressEnabled", emailThreatSubmissionPolicy.isReportToCustomizedEmailAddressEnabled);
    writer.writeBooleanValue("isReportToMicrosoftEnabled", emailThreatSubmissionPolicy.isReportToMicrosoftEnabled);
    writer.writeBooleanValue("isReviewEmailNotificationEnabled", emailThreatSubmissionPolicy.isReviewEmailNotificationEnabled);
}
/**
 * Serializes information the current object
 * @param EmailThreatSubmissionPolicyCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailThreatSubmissionPolicyCollectionResponse(writer, emailThreatSubmissionPolicyCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!emailThreatSubmissionPolicyCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, emailThreatSubmissionPolicyCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", emailThreatSubmissionPolicyCollectionResponse.value, serializeEmailThreatSubmissionPolicy);
}
/**
 * Serializes information the current object
 * @param EmailUrlThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEmailUrlThreatSubmission(writer, emailUrlThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!emailUrlThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeEmailThreatSubmission(writer, emailUrlThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("messageUrl", emailUrlThreatSubmission.messageUrl);
}
/**
 * Serializes information the current object
 * @param EnableUserIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEnableUserIncidentTaskResponseAction(writer, enableUserIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!enableUserIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, enableUserIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EndpointDiscoveredCloudAppDetail The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEndpointDiscoveredCloudAppDetail(writer, endpointDiscoveredCloudAppDetail = {}, isSerializingDerivedType = false) {
    if (!endpointDiscoveredCloudAppDetail || isSerializingDerivedType) {
        return;
    }
    serializeDiscoveredCloudAppDetail(writer, endpointDiscoveredCloudAppDetail, isSerializingDerivedType);
    writer.writeNumberValue("deviceCount", endpointDiscoveredCloudAppDetail.deviceCount);
    writer.writeCollectionOfObjectValues("devices", endpointDiscoveredCloudAppDetail.devices, serializeDiscoveredCloudAppDevice);
}
/**
 * Serializes information the current object
 * @param EntityDefinitionInput The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEntityDefinitionInput(writer, entityDefinitionInput = {}, isSerializingDerivedType = false) {
    if (!entityDefinitionInput || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("entityIdentifier", entityDefinitionInput.entityIdentifier);
    writer.writeEnumValue("entityType", entityDefinitionInput.entityType);
    writer.writeStringValue("identifierValue", entityDefinitionInput.identifierValue);
    writer.writeStringValue("@odata.type", entityDefinitionInput.odataType);
    writer.writeEnumValue("role", entityDefinitionInput.role);
    writer.writeAdditionalData(entityDefinitionInput.additionalData);
}
/**
 * Serializes information the current object
 * @param EntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEntityMapping(writer, entityMapping = {}, isSerializingDerivedType = false) {
    if (!entityMapping || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", entityMapping.odataType);
    writer.writeAdditionalData(entityMapping.additionalData);
    switch (entityMapping.odataType) {
        case "#microsoft.graph.security.accountEntityMapping":
            serializeAccountEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.amazonResourceEntityMapping":
            serializeAmazonResourceEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.azureResourceEntityMapping":
            serializeAzureResourceEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.cloudApplicationEntityMapping":
            serializeCloudApplicationEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.dnsEntityMapping":
            serializeDnsEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.fileEntityMapping":
            serializeFileEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.googleCloudResourceEntityMapping":
            serializeGoogleCloudResourceEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.hostEntityMapping":
            serializeHostEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.ipEntityMapping":
            serializeIpEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.mailboxEntityMapping":
            serializeMailboxEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.mailClusterEntityMapping":
            serializeMailClusterEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.mailMessageEntityMapping":
            serializeMailMessageEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.oAuthApplicationEntityMapping":
            serializeOAuthApplicationEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.processEntityMapping":
            serializeProcessEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.registryValueEntityMapping":
            serializeRegistryValueEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.securityGroupEntityMapping":
            serializeSecurityGroupEntityMapping(writer, entityMapping, true);
            break;
        case "#microsoft.graph.security.urlEntityMapping":
            serializeUrlEntityMapping(writer, entityMapping, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param EntityMappingConfiguration The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEntityMappingConfiguration(writer, entityMappingConfiguration = {}, isSerializingDerivedType = false) {
    if (!entityMappingConfiguration || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("accounts", entityMappingConfiguration.accounts, serializeAccountEntityMapping);
    writer.writeCollectionOfObjectValues("amazonResources", entityMappingConfiguration.amazonResources, serializeAmazonResourceEntityMapping);
    writer.writeCollectionOfObjectValues("azureResources", entityMappingConfiguration.azureResources, serializeAzureResourceEntityMapping);
    writer.writeCollectionOfObjectValues("cloudApplications", entityMappingConfiguration.cloudApplications, serializeCloudApplicationEntityMapping);
    writer.writeCollectionOfObjectValues("dns", entityMappingConfiguration.dns, serializeDnsEntityMapping);
    writer.writeCollectionOfObjectValues("files", entityMappingConfiguration.files, serializeFileEntityMapping);
    writer.writeCollectionOfObjectValues("googleCloudResources", entityMappingConfiguration.googleCloudResources, serializeGoogleCloudResourceEntityMapping);
    writer.writeCollectionOfObjectValues("hosts", entityMappingConfiguration.hosts, serializeHostEntityMapping);
    writer.writeCollectionOfObjectValues("ips", entityMappingConfiguration.ips, serializeIpEntityMapping);
    writer.writeCollectionOfObjectValues("mailboxes", entityMappingConfiguration.mailboxes, serializeMailboxEntityMapping);
    writer.writeCollectionOfObjectValues("mailClusters", entityMappingConfiguration.mailClusters, serializeMailClusterEntityMapping);
    writer.writeCollectionOfObjectValues("mailMessages", entityMappingConfiguration.mailMessages, serializeMailMessageEntityMapping);
    writer.writeCollectionOfObjectValues("oAuthApplications", entityMappingConfiguration.oAuthApplications, serializeOAuthApplicationEntityMapping);
    writer.writeStringValue("@odata.type", entityMappingConfiguration.odataType);
    writer.writeCollectionOfObjectValues("processes", entityMappingConfiguration.processes, serializeProcessEntityMapping);
    writer.writeCollectionOfObjectValues("registryValues", entityMappingConfiguration.registryValues, serializeRegistryValueEntityMapping);
    writer.writeCollectionOfObjectValues("securityGroups", entityMappingConfiguration.securityGroups, serializeSecurityGroupEntityMapping);
    writer.writeCollectionOfObjectValues("urls", entityMappingConfiguration.urls, serializeUrlEntityMapping);
    writer.writeAdditionalData(entityMappingConfiguration.additionalData);
}
/**
 * Serializes information the current object
 * @param Environment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEnvironment(writer, environment = {}, isSerializingDerivedType = false) {
    if (!environment || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, environment, isSerializingDerivedType);
    writer.writeEnumValue("kind", environment.kind);
}
/**
 * Serializes information the current object
 * @param EnvironmentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEnvironmentCollectionResponse(writer, environmentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!environmentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, environmentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", environmentCollectionResponse.value, serializeEnvironment);
}
/**
 * Serializes information the current object
 * @param EopSubmissionFeedEntityAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEopSubmissionFeedEntityAuditRecord(writer, eopSubmissionFeedEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!eopSubmissionFeedEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, eopSubmissionFeedEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param EventPropagationResult The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEventPropagationResult(writer, eventPropagationResult = {}, isSerializingDerivedType = false) {
    if (!eventPropagationResult || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("location", eventPropagationResult.location);
    writer.writeStringValue("@odata.type", eventPropagationResult.odataType);
    writer.writeStringValue("serviceName", eventPropagationResult.serviceName);
    writer.writeEnumValue("status", eventPropagationResult.status);
    writer.writeStringValue("statusInformation", eventPropagationResult.statusInformation);
    writer.writeAdditionalData(eventPropagationResult.additionalData);
}
/**
 * Serializes information the current object
 * @param EventQuery The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEventQuery(writer, eventQuery = {}, isSerializingDerivedType = false) {
    if (!eventQuery || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", eventQuery.odataType);
    writer.writeStringValue("query", eventQuery.query);
    writer.writeEnumValue("queryType", eventQuery.queryType);
    writer.writeAdditionalData(eventQuery.additionalData);
}
/**
 * Serializes information the current object
 * @param ExchangeAdminAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeAdminAuditRecord(writer, exchangeAdminAuditRecord = {}, isSerializingDerivedType = false) {
    if (!exchangeAdminAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, exchangeAdminAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ExchangeAggregatedMailboxAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeAggregatedMailboxAuditRecord(writer, exchangeAggregatedMailboxAuditRecord = {}, isSerializingDerivedType = false) {
    if (!exchangeAggregatedMailboxAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, exchangeAggregatedMailboxAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ExchangeAggregatedOperationRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeAggregatedOperationRecord(writer, exchangeAggregatedOperationRecord = {}, isSerializingDerivedType = false) {
    if (!exchangeAggregatedOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, exchangeAggregatedOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ExchangeMailboxAuditGroupRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeMailboxAuditGroupRecord(writer, exchangeMailboxAuditGroupRecord = {}, isSerializingDerivedType = false) {
    if (!exchangeMailboxAuditGroupRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, exchangeMailboxAuditGroupRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ExchangeMailboxAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeMailboxAuditRecord(writer, exchangeMailboxAuditRecord = {}, isSerializingDerivedType = false) {
    if (!exchangeMailboxAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, exchangeMailboxAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ExportFileMetadata The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExportFileMetadata(writer, exportFileMetadata = {}, isSerializingDerivedType = false) {
    if (!exportFileMetadata || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("downloadUrl", exportFileMetadata.downloadUrl);
    writer.writeStringValue("fileName", exportFileMetadata.fileName);
    writer.writeStringValue("@odata.type", exportFileMetadata.odataType);
    writer.writeNumberValue("size", exportFileMetadata.size);
    writer.writeAdditionalData(exportFileMetadata.additionalData);
}
/**
 * Serializes information the current object
 * @param FabricAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFabricAuditRecord(writer, fabricAuditRecord = {}, isSerializingDerivedType = false) {
    if (!fabricAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, fabricAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FabricPolicyRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFabricPolicyRecord(writer, fabricPolicyRecord = {}, isSerializingDerivedType = false) {
    if (!fabricPolicyRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, fabricPolicyRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param File The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFile(writer, file = {}, isSerializingDerivedType = false) {
    if (!file || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, file, isSerializingDerivedType);
    writer.writeByteArrayValue("content", file.content);
    writer.writeDateValue("dateTime", file.dateTime);
    writer.writeStringValue("extension", file.extension);
    writer.writeByteArrayValue("extractedTextContent", file.extractedTextContent);
    writer.writeStringValue("mediaType", file.mediaType);
    writer.writeStringValue("name", file.name);
    writer.writeObjectValue("otherProperties", file.otherProperties, serializeStringValueDictionary);
    writer.writeEnumValue("processingStatus", file.processingStatus);
    writer.writeCollectionOfPrimitiveValues("senderOrAuthors", file.senderOrAuthors);
    writer.writeNumberValue("size", file.size);
    writer.writeEnumValue("sourceType", file.sourceType);
    writer.writeStringValue("subjectTitle", file.subjectTitle);
    switch (file.odataType) {
        case "#microsoft.graph.security.ediscoveryFile":
            serializeEdiscoveryFile(writer, file, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param FileAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileAction(writer, fileAction = {}, isSerializingDerivedType = false) {
    if (!fileAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, fileAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("deviceGroupNames", fileAction.deviceGroupNames);
    writer.writeStringValue("sha1Column", fileAction.sha1Column);
    writer.writeStringValue("sha256Column", fileAction.sha256Column);
}
/**
 * Serializes information the current object
 * @param FileContentThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileContentThreatSubmission(writer, fileContentThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!fileContentThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeFileThreatSubmission(writer, fileContentThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("fileContent", fileContentThreatSubmission.fileContent);
}
/**
 * Serializes information the current object
 * @param FileDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileDetails(writer, fileDetails = {}, isSerializingDerivedType = false) {
    if (!fileDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("fileName", fileDetails.fileName);
    writer.writeStringValue("filePath", fileDetails.filePath);
    writer.writeStringValue("filePublisher", fileDetails.filePublisher);
    writer.writeNumberValue("fileSize", fileDetails.fileSize);
    writer.writeStringValue("issuer", fileDetails.issuer);
    writer.writeStringValue("md5", fileDetails.md5);
    writer.writeStringValue("@odata.type", fileDetails.odataType);
    writer.writeStringValue("sha1", fileDetails.sha1);
    writer.writeStringValue("sha256", fileDetails.sha256);
    writer.writeStringValue("sha256Ac", fileDetails.sha256Ac);
    writer.writeStringValue("signer", fileDetails.signer);
    writer.writeAdditionalData(fileDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param FileEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileEntityMapping(writer, fileEntityMapping = {}, isSerializingDerivedType = false) {
    if (!fileEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, fileEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("nameColumn", fileEntityMapping.nameColumn);
    writer.writeStringValue("sha1Column", fileEntityMapping.sha1Column);
    writer.writeStringValue("sha256Column", fileEntityMapping.sha256Column);
}
/**
 * Serializes information the current object
 * @param FileEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileEvidence(writer, fileEvidence = {}, isSerializingDerivedType = false) {
    if (!fileEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, fileEvidence, isSerializingDerivedType);
    writer.writeEnumValue("detectionStatus", fileEvidence.detectionStatus);
    writer.writeObjectValue("fileDetails", fileEvidence.fileDetails, serializeFileDetails);
    writer.writeStringValue("mdeDeviceId", fileEvidence.mdeDeviceId);
}
/**
 * Serializes information the current object
 * @param FileHash The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileHash(writer, fileHash = {}, isSerializingDerivedType = false) {
    if (!fileHash || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("algorithm", fileHash.algorithm);
    writer.writeStringValue("@odata.type", fileHash.odataType);
    writer.writeStringValue("value", fileHash.value);
    writer.writeAdditionalData(fileHash.additionalData);
}
/**
 * Serializes information the current object
 * @param FileHashEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileHashEvidence(writer, fileHashEvidence = {}, isSerializingDerivedType = false) {
    if (!fileHashEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, fileHashEvidence, isSerializingDerivedType);
    writer.writeEnumValue("algorithm", fileHashEvidence.algorithm);
    writer.writeStringValue("value", fileHashEvidence.value);
}
/**
 * Serializes information the current object
 * @param FilePlanAppliedCategory The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanAppliedCategory(writer, filePlanAppliedCategory = {}, isSerializingDerivedType = false) {
    if (!filePlanAppliedCategory || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanAppliedCategory, isSerializingDerivedType);
    writer.writeObjectValue("subcategory", filePlanAppliedCategory.subcategory, serializeFilePlanSubcategory);
}
/**
 * Serializes information the current object
 * @param FilePlanAuthority The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanAuthority(writer, filePlanAuthority = {}, isSerializingDerivedType = false) {
    if (!filePlanAuthority || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanAuthority, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FilePlanCitation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanCitation(writer, filePlanCitation = {}, isSerializingDerivedType = false) {
    if (!filePlanCitation || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanCitation, isSerializingDerivedType);
    writer.writeStringValue("citationJurisdiction", filePlanCitation.citationJurisdiction);
    writer.writeStringValue("citationUrl", filePlanCitation.citationUrl);
}
/**
 * Serializes information the current object
 * @param FilePlanDepartment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanDepartment(writer, filePlanDepartment = {}, isSerializingDerivedType = false) {
    if (!filePlanDepartment || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanDepartment, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FilePlanDescriptor The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanDescriptor(writer, filePlanDescriptor = {}, isSerializingDerivedType = false) {
    if (!filePlanDescriptor || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, filePlanDescriptor, isSerializingDerivedType);
    writer.writeObjectValue("authority", filePlanDescriptor.authority, serializeFilePlanAuthority);
    writer.writeObjectValue("authorityTemplate", filePlanDescriptor.authorityTemplate, serializeAuthorityTemplate);
    writer.writeObjectValue("category", filePlanDescriptor.category, serializeFilePlanAppliedCategory);
    writer.writeObjectValue("categoryTemplate", filePlanDescriptor.categoryTemplate, serializeCategoryTemplate);
    writer.writeObjectValue("citation", filePlanDescriptor.citation, serializeFilePlanCitation);
    writer.writeObjectValue("citationTemplate", filePlanDescriptor.citationTemplate, serializeCitationTemplate);
    writer.writeObjectValue("department", filePlanDescriptor.department, serializeFilePlanDepartment);
    writer.writeObjectValue("departmentTemplate", filePlanDescriptor.departmentTemplate, serializeDepartmentTemplate);
    writer.writeObjectValue("filePlanReference", filePlanDescriptor.filePlanReference, serializeFilePlanReference);
    writer.writeObjectValue("filePlanReferenceTemplate", filePlanDescriptor.filePlanReferenceTemplate, serializeFilePlanReferenceTemplate);
}
/**
 * Serializes information the current object
 * @param FilePlanDescriptorBase The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanDescriptorBase(writer, filePlanDescriptorBase = {}, isSerializingDerivedType = false) {
    if (!filePlanDescriptorBase || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("displayName", filePlanDescriptorBase.displayName);
    writer.writeStringValue("@odata.type", filePlanDescriptorBase.odataType);
    writer.writeAdditionalData(filePlanDescriptorBase.additionalData);
    switch (filePlanDescriptorBase.odataType) {
        case "#microsoft.graph.security.filePlanAppliedCategory":
            serializeFilePlanAppliedCategory(writer, filePlanDescriptorBase, true);
            break;
        case "#microsoft.graph.security.filePlanAuthority":
            serializeFilePlanAuthority(writer, filePlanDescriptorBase, true);
            break;
        case "#microsoft.graph.security.filePlanCitation":
            serializeFilePlanCitation(writer, filePlanDescriptorBase, true);
            break;
        case "#microsoft.graph.security.filePlanDepartment":
            serializeFilePlanDepartment(writer, filePlanDescriptorBase, true);
            break;
        case "#microsoft.graph.security.filePlanReference":
            serializeFilePlanReference(writer, filePlanDescriptorBase, true);
            break;
        case "#microsoft.graph.security.filePlanSubcategory":
            serializeFilePlanSubcategory(writer, filePlanDescriptorBase, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param FilePlanDescriptorTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanDescriptorTemplate(writer, filePlanDescriptorTemplate = {}, isSerializingDerivedType = false) {
    if (!filePlanDescriptorTemplate || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, filePlanDescriptorTemplate, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", filePlanDescriptorTemplate.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", filePlanDescriptorTemplate.createdDateTime);
    writer.writeStringValue("displayName", filePlanDescriptorTemplate.displayName);
    switch (filePlanDescriptorTemplate.odataType) {
        case "#microsoft.graph.security.authorityTemplate":
            serializeAuthorityTemplate(writer, filePlanDescriptorTemplate, true);
            break;
        case "#microsoft.graph.security.categoryTemplate":
            serializeCategoryTemplate(writer, filePlanDescriptorTemplate, true);
            break;
        case "#microsoft.graph.security.citationTemplate":
            serializeCitationTemplate(writer, filePlanDescriptorTemplate, true);
            break;
        case "#microsoft.graph.security.departmentTemplate":
            serializeDepartmentTemplate(writer, filePlanDescriptorTemplate, true);
            break;
        case "#microsoft.graph.security.filePlanReferenceTemplate":
            serializeFilePlanReferenceTemplate(writer, filePlanDescriptorTemplate, true);
            break;
        case "#microsoft.graph.security.subcategoryTemplate":
            serializeSubcategoryTemplate(writer, filePlanDescriptorTemplate, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param FilePlanReference The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanReference(writer, filePlanReference = {}, isSerializingDerivedType = false) {
    if (!filePlanReference || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanReference, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FilePlanReferenceTemplate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanReferenceTemplate(writer, filePlanReferenceTemplate = {}, isSerializingDerivedType = false) {
    if (!filePlanReferenceTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, filePlanReferenceTemplate, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FilePlanReferenceTemplateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanReferenceTemplateCollectionResponse(writer, filePlanReferenceTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!filePlanReferenceTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, filePlanReferenceTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", filePlanReferenceTemplateCollectionResponse.value, serializeFilePlanReferenceTemplate);
}
/**
 * Serializes information the current object
 * @param FilePlanSubcategory The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilePlanSubcategory(writer, filePlanSubcategory = {}, isSerializingDerivedType = false) {
    if (!filePlanSubcategory || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorBase(writer, filePlanSubcategory, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FileThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileThreatSubmission(writer, fileThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!fileThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeThreatSubmission(writer, fileThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("fileName", fileThreatSubmission.fileName);
    switch (fileThreatSubmission.odataType) {
        case "#microsoft.graph.security.fileContentThreatSubmission":
            serializeFileContentThreatSubmission(writer, fileThreatSubmission, true);
            break;
        case "#microsoft.graph.security.fileUrlThreatSubmission":
            serializeFileUrlThreatSubmission(writer, fileThreatSubmission, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param FileThreatSubmissionCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileThreatSubmissionCollectionResponse(writer, fileThreatSubmissionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!fileThreatSubmissionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, fileThreatSubmissionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", fileThreatSubmissionCollectionResponse.value, serializeFileThreatSubmission);
}
/**
 * Serializes information the current object
 * @param FileUrlThreatSubmission The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileUrlThreatSubmission(writer, fileUrlThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!fileUrlThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeFileThreatSubmission(writer, fileUrlThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("fileUrl", fileUrlThreatSubmission.fileUrl);
}
/**
 * Serializes information the current object
 * @param ForceUserPasswordResetIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeForceUserPasswordResetIncidentTaskResponseAction(writer, forceUserPasswordResetIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!forceUserPasswordResetIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, forceUserPasswordResetIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param ForceUserPasswordResetResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeForceUserPasswordResetResponseAction(writer, forceUserPasswordResetResponseAction = {}, isSerializingDerivedType = false) {
    if (!forceUserPasswordResetResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, forceUserPasswordResetResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", forceUserPasswordResetResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param FormattedContent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFormattedContent(writer, formattedContent = {}, isSerializingDerivedType = false) {
    if (!formattedContent || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("content", formattedContent.content);
    writer.writeEnumValue("format", formattedContent.format);
    writer.writeStringValue("@odata.type", formattedContent.odataType);
    writer.writeAdditionalData(formattedContent.additionalData);
}
/**
 * Serializes information the current object
 * @param GeoLocation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGeoLocation(writer, geoLocation = {}, isSerializingDerivedType = false) {
    if (!geoLocation || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("city", geoLocation.city);
    writer.writeStringValue("countryName", geoLocation.countryName);
    writer.writeNumberValue("latitude", geoLocation.latitude);
    writer.writeNumberValue("longitude", geoLocation.longitude);
    writer.writeStringValue("@odata.type", geoLocation.odataType);
    writer.writeStringValue("state", geoLocation.state);
    writer.writeAdditionalData(geoLocation.additionalData);
}
/**
 * Serializes information the current object
 * @param GitHubOrganizationEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGitHubOrganizationEvidence(writer, gitHubOrganizationEvidence = {}, isSerializingDerivedType = false) {
    if (!gitHubOrganizationEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, gitHubOrganizationEvidence, isSerializingDerivedType);
    writer.writeStringValue("company", gitHubOrganizationEvidence.company);
    writer.writeStringValue("displayName", gitHubOrganizationEvidence.displayName);
    writer.writeStringValue("email", gitHubOrganizationEvidence.email);
    writer.writeStringValue("login", gitHubOrganizationEvidence.login);
    writer.writeStringValue("orgId", gitHubOrganizationEvidence.orgId);
    writer.writeStringValue("webUrl", gitHubOrganizationEvidence.webUrl);
}
/**
 * Serializes information the current object
 * @param GitHubRepoEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGitHubRepoEvidence(writer, gitHubRepoEvidence = {}, isSerializingDerivedType = false) {
    if (!gitHubRepoEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, gitHubRepoEvidence, isSerializingDerivedType);
    writer.writeStringValue("baseUrl", gitHubRepoEvidence.baseUrl);
    writer.writeStringValue("login", gitHubRepoEvidence.login);
    writer.writeStringValue("owner", gitHubRepoEvidence.owner);
    writer.writeStringValue("ownerType", gitHubRepoEvidence.ownerType);
    writer.writeStringValue("repoId", gitHubRepoEvidence.repoId);
}
/**
 * Serializes information the current object
 * @param GitHubUserEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGitHubUserEvidence(writer, gitHubUserEvidence = {}, isSerializingDerivedType = false) {
    if (!gitHubUserEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, gitHubUserEvidence, isSerializingDerivedType);
    writer.writeStringValue("email", gitHubUserEvidence.email);
    writer.writeStringValue("login", gitHubUserEvidence.login);
    writer.writeStringValue("name", gitHubUserEvidence.name);
    writer.writeStringValue("userId", gitHubUserEvidence.userId);
    writer.writeStringValue("webUrl", gitHubUserEvidence.webUrl);
}
/**
 * Serializes information the current object
 * @param GoogleCloudResourceEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGoogleCloudResourceEntityMapping(writer, googleCloudResourceEntityMapping = {}, isSerializingDerivedType = false) {
    if (!googleCloudResourceEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, googleCloudResourceEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("fullResourceNameColumn", googleCloudResourceEntityMapping.fullResourceNameColumn);
}
/**
 * Serializes information the current object
 * @param GoogleCloudResourceEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeGoogleCloudResourceEvidence(writer, googleCloudResourceEvidence = {}, isSerializingDerivedType = false) {
    if (!googleCloudResourceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, googleCloudResourceEvidence, isSerializingDerivedType);
    writer.writeStringValue("fullResourceName", googleCloudResourceEvidence.fullResourceName);
    writer.writeStringValue("location", googleCloudResourceEvidence.location);
    writer.writeEnumValue("locationType", googleCloudResourceEvidence.locationType);
    writer.writeStringValue("projectId", googleCloudResourceEvidence.projectId);
    writer.writeNumberValue("projectNumber", googleCloudResourceEvidence.projectNumber);
    writer.writeStringValue("resourceName", googleCloudResourceEvidence.resourceName);
    writer.writeStringValue("resourceType", googleCloudResourceEvidence.resourceType);
}
/**
 * Serializes information the current object
 * @param HardDeleteEmailIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHardDeleteEmailIncidentTaskResponseAction(writer, hardDeleteEmailIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!hardDeleteEmailIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, hardDeleteEmailIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param HardDeleteResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHardDeleteResponseAction(writer, hardDeleteResponseAction = {}, isSerializingDerivedType = false) {
    if (!hardDeleteResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, hardDeleteResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", hardDeleteResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param HealthcareSignalRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHealthcareSignalRecord(writer, healthcareSignalRecord = {}, isSerializingDerivedType = false) {
    if (!healthcareSignalRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, healthcareSignalRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param HealthIssue The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHealthIssue(writer, healthIssue = {}, isSerializingDerivedType = false) {
    if (!healthIssue || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, healthIssue, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("additionalInformation", healthIssue.additionalInformation);
    writer.writeDateValue("createdDateTime", healthIssue.createdDateTime);
    writer.writeStringValue("description", healthIssue.description);
    writer.writeStringValue("displayName", healthIssue.displayName);
    writer.writeCollectionOfPrimitiveValues("domainNames", healthIssue.domainNames);
    writer.writeEnumValue("healthIssueType", healthIssue.healthIssueType);
    writer.writeStringValue("issueTypeId", healthIssue.issueTypeId);
    writer.writeDateValue("lastModifiedDateTime", healthIssue.lastModifiedDateTime);
    writer.writeCollectionOfPrimitiveValues("recommendations", healthIssue.recommendations);
    writer.writeCollectionOfPrimitiveValues("recommendedActionCommands", healthIssue.recommendedActionCommands);
    writer.writeCollectionOfPrimitiveValues("sensorDNSNames", healthIssue.sensorDNSNames);
    writer.writeEnumValue("severity", healthIssue.severity);
    writer.writeEnumValue("status", healthIssue.status);
}
/**
 * Serializes information the current object
 * @param HealthIssueCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHealthIssueCollectionResponse(writer, healthIssueCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!healthIssueCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, healthIssueCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", healthIssueCollectionResponse.value, serializeHealthIssue);
}
/**
 * Serializes information the current object
 * @param Host The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHost(writer, host = {}, isSerializingDerivedType = false) {
    if (!host || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, host, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("childHostPairs", host.childHostPairs, serializeHostPair);
    writer.writeCollectionOfObjectValues("components", host.components, serializeHostComponent);
    writer.writeCollectionOfObjectValues("cookies", host.cookies, serializeHostCookie);
    writer.writeDateValue("firstSeenDateTime", host.firstSeenDateTime);
    writer.writeCollectionOfObjectValues("hostPairs", host.hostPairs, serializeHostPair);
    writer.writeDateValue("lastSeenDateTime", host.lastSeenDateTime);
    writer.writeCollectionOfObjectValues("parentHostPairs", host.parentHostPairs, serializeHostPair);
    writer.writeCollectionOfObjectValues("passiveDns", host.passiveDns, serializePassiveDnsRecord);
    writer.writeCollectionOfObjectValues("passiveDnsReverse", host.passiveDnsReverse, serializePassiveDnsRecord);
    writer.writeCollectionOfObjectValues("ports", host.ports, serializeHostPort);
    writer.writeObjectValue("reputation", host.reputation, serializeHostReputation);
    writer.writeCollectionOfObjectValues("sslCertificates", host.sslCertificates, serializeHostSslCertificate);
    writer.writeCollectionOfObjectValues("subdomains", host.subdomains, serializeSubdomain);
    writer.writeCollectionOfObjectValues("trackers", host.trackers, serializeHostTracker);
    writer.writeObjectValue("whois", host.whois, serializeWhoisRecord);
    switch (host.odataType) {
        case "#microsoft.graph.security.hostname":
            serializeHostname(writer, host, true);
            break;
        case "#microsoft.graph.security.ipAddress":
            serializeIpAddress(writer, host, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param HostCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostCollectionResponse(writer, hostCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostCollectionResponse.value, serializeHost);
}
/**
 * Serializes information the current object
 * @param HostComponent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostComponent(writer, hostComponent = {}, isSerializingDerivedType = false) {
    if (!hostComponent || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, hostComponent, isSerializingDerivedType);
    writer.writeStringValue("category", hostComponent.category);
    writer.writeDateValue("firstSeenDateTime", hostComponent.firstSeenDateTime);
    writer.writeObjectValue("host", hostComponent.host, serializeHost);
    writer.writeDateValue("lastSeenDateTime", hostComponent.lastSeenDateTime);
    writer.writeStringValue("name", hostComponent.name);
    writer.writeStringValue("version", hostComponent.version);
}
/**
 * Serializes information the current object
 * @param HostComponentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostComponentCollectionResponse(writer, hostComponentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostComponentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostComponentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostComponentCollectionResponse.value, serializeHostComponent);
}
/**
 * Serializes information the current object
 * @param HostCookie The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostCookie(writer, hostCookie = {}, isSerializingDerivedType = false) {
    if (!hostCookie || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, hostCookie, isSerializingDerivedType);
    writer.writeStringValue("domain", hostCookie.domain);
    writer.writeDateValue("firstSeenDateTime", hostCookie.firstSeenDateTime);
    writer.writeObjectValue("host", hostCookie.host, serializeHost);
    writer.writeDateValue("lastSeenDateTime", hostCookie.lastSeenDateTime);
    writer.writeStringValue("name", hostCookie.name);
}
/**
 * Serializes information the current object
 * @param HostCookieCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostCookieCollectionResponse(writer, hostCookieCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostCookieCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostCookieCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostCookieCollectionResponse.value, serializeHostCookie);
}
/**
 * Serializes information the current object
 * @param HostedRpaAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostedRpaAuditRecord(writer, hostedRpaAuditRecord = {}, isSerializingDerivedType = false) {
    if (!hostedRpaAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, hostedRpaAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param HostEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostEntityMapping(writer, hostEntityMapping = {}, isSerializingDerivedType = false) {
    if (!hostEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, hostEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("deviceIdColumn", hostEntityMapping.deviceIdColumn);
    writer.writeStringValue("dnsDomainColumn", hostEntityMapping.dnsDomainColumn);
    writer.writeStringValue("nameColumn", hostEntityMapping.nameColumn);
    writer.writeStringValue("netBiosNameColumn", hostEntityMapping.netBiosNameColumn);
    writer.writeStringValue("ntDomainColumn", hostEntityMapping.ntDomainColumn);
}
/**
 * Serializes information the current object
 * @param HostLogonSessionEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostLogonSessionEvidence(writer, hostLogonSessionEvidence = {}, isSerializingDerivedType = false) {
    if (!hostLogonSessionEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, hostLogonSessionEvidence, isSerializingDerivedType);
    writer.writeObjectValue("account", hostLogonSessionEvidence.account, serializeUserEvidence);
    writer.writeDateValue("endUtcDateTime", hostLogonSessionEvidence.endUtcDateTime);
    writer.writeObjectValue("host", hostLogonSessionEvidence.host, serializeDeviceEvidence);
    writer.writeStringValue("sessionId", hostLogonSessionEvidence.sessionId);
    writer.writeDateValue("startUtcDateTime", hostLogonSessionEvidence.startUtcDateTime);
}
/**
 * Serializes information the current object
 * @param Hostname The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostname(writer, hostname = {}, isSerializingDerivedType = false) {
    if (!hostname || isSerializingDerivedType) {
        return;
    }
    serializeHost(writer, hostname, isSerializingDerivedType);
    writer.writeStringValue("registrant", hostname.registrant);
    writer.writeStringValue("registrar", hostname.registrar);
}
/**
 * Serializes information the current object
 * @param HostPair The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPair(writer, hostPair = {}, isSerializingDerivedType = false) {
    if (!hostPair || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, hostPair, isSerializingDerivedType);
    writer.writeObjectValue("childHost", hostPair.childHost, serializeHost);
    writer.writeDateValue("firstSeenDateTime", hostPair.firstSeenDateTime);
    writer.writeDateValue("lastSeenDateTime", hostPair.lastSeenDateTime);
    writer.writeStringValue("linkKind", hostPair.linkKind);
    writer.writeObjectValue("parentHost", hostPair.parentHost, serializeHost);
}
/**
 * Serializes information the current object
 * @param HostPairCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPairCollectionResponse(writer, hostPairCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostPairCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostPairCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostPairCollectionResponse.value, serializeHostPair);
}
/**
 * Serializes information the current object
 * @param HostPort The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPort(writer, hostPort = {}, isSerializingDerivedType = false) {
    if (!hostPort || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, hostPort, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("banners", hostPort.banners, serializeHostPortBanner);
    writer.writeDateValue("firstSeenDateTime", hostPort.firstSeenDateTime);
    writer.writeObjectValue("host", hostPort.host, serializeHost);
    writer.writeDateValue("lastScanDateTime", hostPort.lastScanDateTime);
    writer.writeDateValue("lastSeenDateTime", hostPort.lastSeenDateTime);
    writer.writeObjectValue("mostRecentSslCertificate", hostPort.mostRecentSslCertificate, serializeSslCertificate);
    writer.writeNumberValue("port", hostPort.port);
    writer.writeEnumValue("protocol", hostPort.protocol);
    writer.writeCollectionOfObjectValues("services", hostPort.services, serializeHostPortComponent);
    writer.writeEnumValue("status", hostPort.status);
    writer.writeNumberValue("timesObserved", hostPort.timesObserved);
}
/**
 * Serializes information the current object
 * @param HostPortBanner The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPortBanner(writer, hostPortBanner = {}, isSerializingDerivedType = false) {
    if (!hostPortBanner || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("banner", hostPortBanner.banner);
    writer.writeDateValue("firstSeenDateTime", hostPortBanner.firstSeenDateTime);
    writer.writeDateValue("lastSeenDateTime", hostPortBanner.lastSeenDateTime);
    writer.writeStringValue("@odata.type", hostPortBanner.odataType);
    writer.writeStringValue("scanProtocol", hostPortBanner.scanProtocol);
    writer.writeNumberValue("timesObserved", hostPortBanner.timesObserved);
    writer.writeAdditionalData(hostPortBanner.additionalData);
}
/**
 * Serializes information the current object
 * @param HostPortCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPortCollectionResponse(writer, hostPortCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostPortCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostPortCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostPortCollectionResponse.value, serializeHostPort);
}
/**
 * Serializes information the current object
 * @param HostPortComponent The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostPortComponent(writer, hostPortComponent = {}, isSerializingDerivedType = false) {
    if (!hostPortComponent || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("component", hostPortComponent.component, serializeHostComponent);
    writer.writeDateValue("firstSeenDateTime", hostPortComponent.firstSeenDateTime);
    writer.writeBooleanValue("isRecent", hostPortComponent.isRecent);
    writer.writeDateValue("lastSeenDateTime", hostPortComponent.lastSeenDateTime);
    writer.writeStringValue("@odata.type", hostPortComponent.odataType);
    writer.writeAdditionalData(hostPortComponent.additionalData);
}
/**
 * Serializes information the current object
 * @param HostReputation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostReputation(writer, hostReputation = {}, isSerializingDerivedType = false) {
    if (!hostReputation || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, hostReputation, isSerializingDerivedType);
    writer.writeEnumValue("classification", hostReputation.classification);
    writer.writeCollectionOfObjectValues("rules", hostReputation.rules, serializeHostReputationRule);
    writer.writeNumberValue("score", hostReputation.score);
}
/**
 * Serializes information the current object
 * @param HostReputationRule The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostReputationRule(writer, hostReputationRule = {}, isSerializingDerivedType = false) {
    if (!hostReputationRule || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("description", hostReputationRule.description);
    writer.writeStringValue("name", hostReputationRule.name);
    writer.writeStringValue("@odata.type", hostReputationRule.odataType);
    writer.writeStringValue("relatedDetailsUrl", hostReputationRule.relatedDetailsUrl);
    writer.writeEnumValue("severity", hostReputationRule.severity);
    writer.writeAdditionalData(hostReputationRule.additionalData);
}
/**
 * Serializes information the current object
 * @param HostSslCertificate The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostSslCertificate(writer, hostSslCertificate = {}, isSerializingDerivedType = false) {
    if (!hostSslCertificate || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, hostSslCertificate, isSerializingDerivedType);
    writer.writeDateValue("firstSeenDateTime", hostSslCertificate.firstSeenDateTime);
    writer.writeObjectValue("host", hostSslCertificate.host, serializeHost);
    writer.writeDateValue("lastSeenDateTime", hostSslCertificate.lastSeenDateTime);
    writer.writeCollectionOfObjectValues("ports", hostSslCertificate.ports, serializeHostSslCertificatePort);
    writer.writeObjectValue("sslCertificate", hostSslCertificate.sslCertificate, serializeSslCertificate);
}
/**
 * Serializes information the current object
 * @param HostSslCertificateCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostSslCertificateCollectionResponse(writer, hostSslCertificateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostSslCertificateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostSslCertificateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostSslCertificateCollectionResponse.value, serializeHostSslCertificate);
}
/**
 * Serializes information the current object
 * @param HostSslCertificatePort The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostSslCertificatePort(writer, hostSslCertificatePort = {}, isSerializingDerivedType = false) {
    if (!hostSslCertificatePort || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("firstSeenDateTime", hostSslCertificatePort.firstSeenDateTime);
    writer.writeDateValue("lastSeenDateTime", hostSslCertificatePort.lastSeenDateTime);
    writer.writeStringValue("@odata.type", hostSslCertificatePort.odataType);
    writer.writeNumberValue("port", hostSslCertificatePort.port);
    writer.writeAdditionalData(hostSslCertificatePort.additionalData);
}
/**
 * Serializes information the current object
 * @param HostTracker The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostTracker(writer, hostTracker = {}, isSerializingDerivedType = false) {
    if (!hostTracker || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, hostTracker, isSerializingDerivedType);
    writer.writeDateValue("firstSeenDateTime", hostTracker.firstSeenDateTime);
    writer.writeObjectValue("host", hostTracker.host, serializeHost);
    writer.writeStringValue("kind", hostTracker.kind);
    writer.writeDateValue("lastSeenDateTime", hostTracker.lastSeenDateTime);
    writer.writeStringValue("value", hostTracker.value);
}
/**
 * Serializes information the current object
 * @param HostTrackerCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHostTrackerCollectionResponse(writer, hostTrackerCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!hostTrackerCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, hostTrackerCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", hostTrackerCollectionResponse.value, serializeHostTracker);
}
/**
 * Serializes information the current object
 * @param HrSignalAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHrSignalAuditRecord(writer, hrSignalAuditRecord = {}, isSerializingDerivedType = false) {
    if (!hrSignalAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, hrSignalAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param HuntingQueryResults The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingQueryResults(writer, huntingQueryResults = {}, isSerializingDerivedType = false) {
    if (!huntingQueryResults || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", huntingQueryResults.odataType);
    writer.writeCollectionOfObjectValues("results", huntingQueryResults.results, serializeHuntingRowResult);
    writer.writeCollectionOfObjectValues("schema", huntingQueryResults.schema, serializeSinglePropertySchema);
    writer.writeAdditionalData(huntingQueryResults.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingRowResult The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingRowResult(writer, huntingRowResult = {}, isSerializingDerivedType = false) {
    if (!huntingRowResult || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", huntingRowResult.odataType);
    writer.writeAdditionalData(huntingRowResult.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaBuiltInFunction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaBuiltInFunction(writer, huntingSchemaBuiltInFunction = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaBuiltInFunction || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("documentation", huntingSchemaBuiltInFunction.documentation);
    writer.writeCollectionOfObjectValues("inputParameters", huntingSchemaBuiltInFunction.inputParameters, serializeHuntingSchemaFunctionParameter);
    writer.writeStringValue("name", huntingSchemaBuiltInFunction.name);
    writer.writeStringValue("@odata.type", huntingSchemaBuiltInFunction.odataType);
    writer.writeCollectionOfObjectValues("outputColumns", huntingSchemaBuiltInFunction.outputColumns, serializeHuntingSchemaTableColumn);
    writer.writeStringValue("path", huntingSchemaBuiltInFunction.path);
    writer.writeAdditionalData(huntingSchemaBuiltInFunction.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaFunctionParameter The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaFunctionParameter(writer, huntingSchemaFunctionParameter = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaFunctionParameter || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("cslType", huntingSchemaFunctionParameter.cslType);
    writer.writeStringValue("defaultValue", huntingSchemaFunctionParameter.defaultValue);
    writer.writeStringValue("name", huntingSchemaFunctionParameter.name);
    writer.writeStringValue("@odata.type", huntingSchemaFunctionParameter.odataType);
    writer.writeAdditionalData(huntingSchemaFunctionParameter.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaFunctions The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaFunctions(writer, huntingSchemaFunctions = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaFunctions || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("builtInFunctions", huntingSchemaFunctions.builtInFunctions, serializeHuntingSchemaBuiltInFunction);
    writer.writeStringValue("@odata.type", huntingSchemaFunctions.odataType);
    writer.writeCollectionOfObjectValues("savedFunctions", huntingSchemaFunctions.savedFunctions, serializeHuntingSchemaSavedFunction);
    writer.writeAdditionalData(huntingSchemaFunctions.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaResult The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaResult(writer, huntingSchemaResult = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaResult || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("functions", huntingSchemaResult.functions, serializeHuntingSchemaFunctions);
    writer.writeStringValue("@odata.type", huntingSchemaResult.odataType);
    writer.writeCollectionOfObjectValues("tables", huntingSchemaResult.tables, serializeHuntingSchemaTable);
    writer.writeAdditionalData(huntingSchemaResult.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaSavedFunction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaSavedFunction(writer, huntingSchemaSavedFunction = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaSavedFunction || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("createdBy", huntingSchemaSavedFunction.createdBy);
    writer.writeStringValue("description", huntingSchemaSavedFunction.description);
    writer.writeCollectionOfObjectValues("inputParameters", huntingSchemaSavedFunction.inputParameters, serializeHuntingSchemaFunctionParameter);
    writer.writeStringValue("lastModifiedBy", huntingSchemaSavedFunction.lastModifiedBy);
    writer.writeDateValue("lastModifiedDateTime", huntingSchemaSavedFunction.lastModifiedDateTime);
    writer.writeStringValue("name", huntingSchemaSavedFunction.name);
    writer.writeStringValue("@odata.type", huntingSchemaSavedFunction.odataType);
    writer.writeCollectionOfObjectValues("outputColumns", huntingSchemaSavedFunction.outputColumns, serializeHuntingSchemaTableColumn);
    writer.writeStringValue("path", huntingSchemaSavedFunction.path);
    writer.writeAdditionalData(huntingSchemaSavedFunction.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaTable The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaTable(writer, huntingSchemaTable = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaTable || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("columns", huntingSchemaTable.columns, serializeHuntingSchemaTableColumn);
    writer.writeStringValue("description", huntingSchemaTable.description);
    writer.writeStringValue("name", huntingSchemaTable.name);
    writer.writeStringValue("@odata.type", huntingSchemaTable.odataType);
    writer.writeAdditionalData(huntingSchemaTable.additionalData);
}
/**
 * Serializes information the current object
 * @param HuntingSchemaTableColumn The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHuntingSchemaTableColumn(writer, huntingSchemaTableColumn = {}, isSerializingDerivedType = false) {
    if (!huntingSchemaTableColumn || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("dataType", huntingSchemaTableColumn.dataType);
    writer.writeStringValue("description", huntingSchemaTableColumn.description);
    writer.writeStringValue("name", huntingSchemaTableColumn.name);
    writer.writeStringValue("@odata.type", huntingSchemaTableColumn.odataType);
    writer.writeAdditionalData(huntingSchemaTableColumn.additionalData);
}
/**
 * Serializes information the current object
 * @param HygieneEventRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHygieneEventRecord(writer, hygieneEventRecord = {}, isSerializingDerivedType = false) {
    if (!hygieneEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, hygieneEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param Hyperlink The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeHyperlink(writer, hyperlink = {}, isSerializingDerivedType = false) {
    if (!hyperlink || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", hyperlink.name);
    writer.writeStringValue("@odata.type", hyperlink.odataType);
    writer.writeStringValue("url", hyperlink.url);
    writer.writeAdditionalData(hyperlink.additionalData);
}
/**
 * Serializes information the current object
 * @param IdentityAccounts The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIdentityAccounts(writer, identityAccounts = {}, isSerializingDerivedType = false) {
    if (!identityAccounts || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, identityAccounts, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("accounts", identityAccounts.accounts, serializeAccount);
    writer.writeStringValue("cloudSecurityIdentifier", identityAccounts.cloudSecurityIdentifier);
    writer.writeStringValue("displayName", identityAccounts.displayName);
    writer.writeStringValue("domain", identityAccounts.domain);
    writer.writeBooleanValue("isEnabled", identityAccounts.isEnabled);
    writer.writeStringValue("onPremisesSecurityIdentifier", identityAccounts.onPremisesSecurityIdentifier);
    switch (identityAccounts.odataType) {
        case "#microsoft.graph.security.user":
            serializeUser(writer, identityAccounts, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IdentityAccountsCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIdentityAccountsCollectionResponse(writer, identityAccountsCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!identityAccountsCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, identityAccountsCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", identityAccountsCollectionResponse.value, serializeIdentityAccounts);
}
/**
 * Serializes information the current object
 * @param IdentityContainer The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIdentityContainer(writer, identityContainer = {}, isSerializingDerivedType = false) {
    if (!identityContainer || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, identityContainer, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("healthIssues", identityContainer.healthIssues, serializeHealthIssue);
    writer.writeCollectionOfObjectValues("identityAccounts", identityContainer.identityAccounts, serializeIdentityAccounts);
    writer.writeObjectValue("sensorCandidateActivationConfiguration", identityContainer.sensorCandidateActivationConfiguration, serializeSensorCandidateActivationConfiguration);
    writer.writeCollectionOfObjectValues("sensorCandidates", identityContainer.sensorCandidates, serializeSensorCandidate);
    writer.writeCollectionOfObjectValues("sensorMigration", identityContainer.sensorMigration, serializeSensorMigration);
    writer.writeCollectionOfObjectValues("sensors", identityContainer.sensors, serializeSensor);
    writer.writeObjectValue("settings", identityContainer.settings, serializeSettingsContainer);
}
/**
 * Serializes information the current object
 * @param ImpactedAsset The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeImpactedAsset(writer, impactedAsset = {}, isSerializingDerivedType = false) {
    if (!impactedAsset || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", impactedAsset.odataType);
    writer.writeAdditionalData(impactedAsset.additionalData);
    switch (impactedAsset.odataType) {
        case "#microsoft.graph.security.impactedDeviceAsset":
            serializeImpactedDeviceAsset(writer, impactedAsset, true);
            break;
        case "#microsoft.graph.security.impactedMailboxAsset":
            serializeImpactedMailboxAsset(writer, impactedAsset, true);
            break;
        case "#microsoft.graph.security.impactedUserAsset":
            serializeImpactedUserAsset(writer, impactedAsset, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ImpactedDeviceAsset The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeImpactedDeviceAsset(writer, impactedDeviceAsset = {}, isSerializingDerivedType = false) {
    if (!impactedDeviceAsset || isSerializingDerivedType) {
        return;
    }
    serializeImpactedAsset(writer, impactedDeviceAsset, isSerializingDerivedType);
    writer.writeEnumValue("identifier", impactedDeviceAsset.identifier);
}
/**
 * Serializes information the current object
 * @param ImpactedMailboxAsset The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeImpactedMailboxAsset(writer, impactedMailboxAsset = {}, isSerializingDerivedType = false) {
    if (!impactedMailboxAsset || isSerializingDerivedType) {
        return;
    }
    serializeImpactedAsset(writer, impactedMailboxAsset, isSerializingDerivedType);
    writer.writeEnumValue("identifier", impactedMailboxAsset.identifier);
}
/**
 * Serializes information the current object
 * @param ImpactedUserAsset The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeImpactedUserAsset(writer, impactedUserAsset = {}, isSerializingDerivedType = false) {
    if (!impactedUserAsset || isSerializingDerivedType) {
        return;
    }
    serializeImpactedAsset(writer, impactedUserAsset, isSerializingDerivedType);
    writer.writeEnumValue("identifier", impactedUserAsset.identifier);
}
/**
 * Serializes information the current object
 * @param Incident The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncident(writer, incident = {}, isSerializingDerivedType = false) {
    if (!incident || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, incident, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("alerts", incident.alerts, serializeAlert);
    writer.writeStringValue("assignedTo", incident.assignedTo);
    writer.writeEnumValue("classification", incident.classification);
    writer.writeCollectionOfObjectValues("comments", incident.comments, serializeAlertComment);
    writer.writeDateValue("createdDateTime", incident.createdDateTime);
    writer.writeCollectionOfPrimitiveValues("customTags", incident.customTags);
    writer.writeStringValue("description", incident.description);
    writer.writeEnumValue("determination", incident.determination);
    writer.writeStringValue("displayName", incident.displayName);
    writer.writeStringValue("incidentWebUrl", incident.incidentWebUrl);
    writer.writeStringValue("lastModifiedBy", incident.lastModifiedBy);
    writer.writeDateValue("lastUpdateDateTime", incident.lastUpdateDateTime);
    writer.writeNumberValue("priorityScore", incident.priorityScore);
    writer.writeStringValue("recommendedActions", incident.recommendedActions);
    writer.writeCollectionOfObjectValues("recommendedHuntingQueries", incident.recommendedHuntingQueries, serializeRecommendedHuntingQuery);
    writer.writeStringValue("redirectIncidentId", incident.redirectIncidentId);
    writer.writeStringValue("resolvingComment", incident.resolvingComment);
    writer.writeEnumValue("severity", incident.severity);
    writer.writeEnumValue("status", incident.status);
    writer.writeStringValue("summary", incident.summary);
    writer.writeCollectionOfPrimitiveValues("systemTags", incident.systemTags);
    writer.writeStringValue("tenantId", incident.tenantId);
}
/**
 * Serializes information the current object
 * @param IncidentCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentCollectionResponse(writer, incidentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!incidentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, incidentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", incidentCollectionResponse.value, serializeIncident);
}
/**
 * Serializes information the current object
 * @param IncidentTask The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentTask(writer, incidentTask = {}, isSerializingDerivedType = false) {
    if (!incidentTask || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, incidentTask, isSerializingDerivedType);
    writer.writeEnumValue("actionStatus", incidentTask.actionStatus);
    writer.writeEnumValue("actionType", incidentTask.actionType);
    writer.writeStringValue("createdByDisplayName", incidentTask.createdByDisplayName);
    writer.writeDateValue("createdDateTime", incidentTask.createdDateTime);
    writer.writeStringValue("description", incidentTask.description);
    writer.writeStringValue("displayName", incidentTask.displayName);
    writer.writeObjectValue("incident", incidentTask.incident, serializeIncident);
    writer.writeStringValue("lastModifiedByDisplayName", incidentTask.lastModifiedByDisplayName);
    writer.writeDateValue("lastModifiedDateTime", incidentTask.lastModifiedDateTime);
    writer.writeObjectValue("responseAction", incidentTask.responseAction, serializeIncidentTaskResponseAction);
    writer.writeEnumValue("source", incidentTask.source);
    writer.writeEnumValue("status", incidentTask.status);
}
/**
 * Serializes information the current object
 * @param IncidentTaskCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentTaskCollectionResponse(writer, incidentTaskCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!incidentTaskCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, incidentTaskCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", incidentTaskCollectionResponse.value, serializeIncidentTask);
}
/**
 * Serializes information the current object
 * @param IncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIncidentTaskResponseAction(writer, incidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!incidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, incidentTaskResponseAction, isSerializingDerivedType);
    writer.writeStringValue("identifierValue", incidentTaskResponseAction.identifierValue);
    switch (incidentTaskResponseAction.odataType) {
        case "#microsoft.graph.security.collectInvestigationPackageIncidentTaskResponseAction":
            serializeCollectInvestigationPackageIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.disableUserIncidentTaskResponseAction":
            serializeDisableUserIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.enableUserIncidentTaskResponseAction":
            serializeEnableUserIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.forceUserPasswordResetIncidentTaskResponseAction":
            serializeForceUserPasswordResetIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.hardDeleteEmailIncidentTaskResponseAction":
            serializeHardDeleteEmailIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.isolateDeviceIncidentTaskResponseAction":
            serializeIsolateDeviceIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.markUserAsCompromisedIncidentTaskResponseAction":
            serializeMarkUserAsCompromisedIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.requireSignInIncidentTaskResponseAction":
            serializeRequireSignInIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.restrictAppExecutionIncidentTaskResponseAction":
            serializeRestrictAppExecutionIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.runAntivirusScanIncidentTaskResponseAction":
            serializeRunAntivirusScanIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.softDeleteIncidentTaskResponseAction":
            serializeSoftDeleteIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.stopAndQuarantineFileIncidentTaskResponseAction":
            serializeStopAndQuarantineFileIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.unIsolateDeviceIncidentTaskResponseAction":
            serializeUnIsolateDeviceIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
        case "#microsoft.graph.security.unRestrictAppExecutionIncidentTaskResponseAction":
            serializeUnRestrictAppExecutionIncidentTaskResponseAction(writer, incidentTaskResponseAction, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param Indicator The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndicator(writer, indicator = {}, isSerializingDerivedType = false) {
    if (!indicator || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, indicator, isSerializingDerivedType);
    writer.writeObjectValue("artifact", indicator.artifact, serializeArtifact);
    writer.writeEnumValue("source", indicator.source);
    switch (indicator.odataType) {
        case "#microsoft.graph.security.articleIndicator":
            serializeArticleIndicator(writer, indicator, true);
            break;
        case "#microsoft.graph.security.intelligenceProfileIndicator":
            serializeIntelligenceProfileIndicator(writer, indicator, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param InformationBarrierPolicyApplicationAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInformationBarrierPolicyApplicationAuditRecord(writer, informationBarrierPolicyApplicationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!informationBarrierPolicyApplicationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, informationBarrierPolicyApplicationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InformationProtection The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInformationProtection(writer, informationProtection = {}, isSerializingDerivedType = false) {
    if (!informationProtection || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, informationProtection, isSerializingDerivedType);
    writer.writeObjectValue("labelPolicySettings", informationProtection.labelPolicySettings, serializeInformationProtectionPolicySetting);
    writer.writeCollectionOfObjectValues("sensitivityLabels", informationProtection.sensitivityLabels, serializeSensitivityLabel);
}
/**
 * Serializes information the current object
 * @param InformationProtectionAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInformationProtectionAction(writer, informationProtectionAction = {}, isSerializingDerivedType = false) {
    if (!informationProtectionAction || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", informationProtectionAction.odataType);
    writer.writeAdditionalData(informationProtectionAction.additionalData);
    switch (informationProtectionAction.odataType) {
        case "#microsoft.graph.security.addContentFooterAction":
            serializeAddContentFooterAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.addContentHeaderAction":
            serializeAddContentHeaderAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.addWatermarkAction":
            serializeAddWatermarkAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.applyLabelAction":
            serializeApplyLabelAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.customAction":
            serializeCustomAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.justifyAction":
            serializeJustifyAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.metadataAction":
            serializeMetadataAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.protectAdhocAction":
            serializeProtectAdhocAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.protectByTemplateAction":
            serializeProtectByTemplateAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.protectDoNotForwardAction":
            serializeProtectDoNotForwardAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.recommendLabelAction":
            serializeRecommendLabelAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.removeContentFooterAction":
            serializeRemoveContentFooterAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.removeContentHeaderAction":
            serializeRemoveContentHeaderAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.removeProtectionAction":
            serializeRemoveProtectionAction(writer, informationProtectionAction, true);
            break;
        case "#microsoft.graph.security.removeWatermarkAction":
            serializeRemoveWatermarkAction(writer, informationProtectionAction, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param InformationProtectionPolicySetting The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInformationProtectionPolicySetting(writer, informationProtectionPolicySetting = {}, isSerializingDerivedType = false) {
    if (!informationProtectionPolicySetting || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, informationProtectionPolicySetting, isSerializingDerivedType);
    writer.writeStringValue("defaultLabelId", informationProtectionPolicySetting.defaultLabelId);
    writer.writeBooleanValue("isDowngradeJustificationRequired", informationProtectionPolicySetting.isDowngradeJustificationRequired);
    writer.writeBooleanValue("isMandatory", informationProtectionPolicySetting.isMandatory);
    writer.writeStringValue("moreInfoUrl", informationProtectionPolicySetting.moreInfoUrl);
}
/**
 * Serializes information the current object
 * @param InformationWorkerProtectionAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInformationWorkerProtectionAuditRecord(writer, informationWorkerProtectionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!informationWorkerProtectionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, informationWorkerProtectionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InitiateInvestigationResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInitiateInvestigationResponseAction(writer, initiateInvestigationResponseAction = {}, isSerializingDerivedType = false) {
    if (!initiateInvestigationResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, initiateInvestigationResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", initiateInvestigationResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param InsiderRiskScopedUserInsightsRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInsiderRiskScopedUserInsightsRecord(writer, insiderRiskScopedUserInsightsRecord = {}, isSerializingDerivedType = false) {
    if (!insiderRiskScopedUserInsightsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, insiderRiskScopedUserInsightsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InsiderRiskScopedUsersRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInsiderRiskScopedUsersRecord(writer, insiderRiskScopedUsersRecord = {}, isSerializingDerivedType = false) {
    if (!insiderRiskScopedUsersRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, insiderRiskScopedUsersRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IntegratedAppsAppAdminActivityAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntegratedAppsAppAdminActivityAuditRecord(writer, integratedAppsAppAdminActivityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!integratedAppsAppAdminActivityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, integratedAppsAppAdminActivityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IntegratedAppsAppSettingsAdminActivityAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntegratedAppsAppSettingsAdminActivityAuditRecord(writer, integratedAppsAppSettingsAdminActivityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!integratedAppsAppSettingsAdminActivityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, integratedAppsAppSettingsAdminActivityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IntelligenceProfile The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntelligenceProfile(writer, intelligenceProfile = {}, isSerializingDerivedType = false) {
    if (!intelligenceProfile || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, intelligenceProfile, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("aliases", intelligenceProfile.aliases);
    writer.writeCollectionOfObjectValues("countriesOrRegionsOfOrigin", intelligenceProfile.countriesOrRegionsOfOrigin, serializeIntelligenceProfileCountryOrRegionOfOrigin);
    writer.writeObjectValue("description", intelligenceProfile.description, serializeFormattedContent);
    writer.writeDateValue("firstActiveDateTime", intelligenceProfile.firstActiveDateTime);
    writer.writeCollectionOfObjectValues("indicators", intelligenceProfile.indicators, serializeIntelligenceProfileIndicator);
    writer.writeEnumValue("kind", intelligenceProfile.kind);
    writer.writeObjectValue("summary", intelligenceProfile.summary, serializeFormattedContent);
    writer.writeCollectionOfPrimitiveValues("targets", intelligenceProfile.targets);
    writer.writeStringValue("title", intelligenceProfile.title);
    writer.writeObjectValue("tradecraft", intelligenceProfile.tradecraft, serializeFormattedContent);
}
/**
 * Serializes information the current object
 * @param IntelligenceProfileCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntelligenceProfileCollectionResponse(writer, intelligenceProfileCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!intelligenceProfileCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, intelligenceProfileCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", intelligenceProfileCollectionResponse.value, serializeIntelligenceProfile);
}
/**
 * Serializes information the current object
 * @param IntelligenceProfileCountryOrRegionOfOrigin The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntelligenceProfileCountryOrRegionOfOrigin(writer, intelligenceProfileCountryOrRegionOfOrigin = {}, isSerializingDerivedType = false) {
    if (!intelligenceProfileCountryOrRegionOfOrigin || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("code", intelligenceProfileCountryOrRegionOfOrigin.code);
    writer.writeStringValue("label", intelligenceProfileCountryOrRegionOfOrigin.label);
    writer.writeStringValue("@odata.type", intelligenceProfileCountryOrRegionOfOrigin.odataType);
    writer.writeAdditionalData(intelligenceProfileCountryOrRegionOfOrigin.additionalData);
}
/**
 * Serializes information the current object
 * @param IntelligenceProfileIndicator The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntelligenceProfileIndicator(writer, intelligenceProfileIndicator = {}, isSerializingDerivedType = false) {
    if (!intelligenceProfileIndicator || isSerializingDerivedType) {
        return;
    }
    serializeIndicator(writer, intelligenceProfileIndicator, isSerializingDerivedType);
    writer.writeDateValue("firstSeenDateTime", intelligenceProfileIndicator.firstSeenDateTime);
    writer.writeDateValue("lastSeenDateTime", intelligenceProfileIndicator.lastSeenDateTime);
}
/**
 * Serializes information the current object
 * @param IntelligenceProfileIndicatorCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIntelligenceProfileIndicatorCollectionResponse(writer, intelligenceProfileIndicatorCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!intelligenceProfileIndicatorCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, intelligenceProfileIndicatorCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", intelligenceProfileIndicatorCollectionResponse.value, serializeIntelligenceProfileIndicator);
}
/**
 * Serializes information the current object
 * @param InvokeActionResult The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInvokeActionResult(writer, invokeActionResult = {}, isSerializingDerivedType = false) {
    if (!invokeActionResult || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("accountId", invokeActionResult.accountId);
    writer.writeEnumValue("action", invokeActionResult.action);
    writer.writeStringValue("correlationId", invokeActionResult.correlationId);
    writer.writeEnumValue("identityProvider", invokeActionResult.identityProvider);
    writer.writeStringValue("@odata.type", invokeActionResult.odataType);
    writer.writeAdditionalData(invokeActionResult.additionalData);
}
/**
 * Serializes information the current object
 * @param IoTDeviceEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIoTDeviceEvidence(writer, ioTDeviceEvidence = {}, isSerializingDerivedType = false) {
    if (!ioTDeviceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, ioTDeviceEvidence, isSerializingDerivedType);
    writer.writeStringValue("deviceId", ioTDeviceEvidence.deviceId);
    writer.writeStringValue("deviceName", ioTDeviceEvidence.deviceName);
    writer.writeStringValue("devicePageLink", ioTDeviceEvidence.devicePageLink);
    writer.writeStringValue("deviceSubType", ioTDeviceEvidence.deviceSubType);
    writer.writeStringValue("deviceType", ioTDeviceEvidence.deviceType);
    writer.writeEnumValue("importance", ioTDeviceEvidence.importance);
    writer.writeObjectValue("ioTHub", ioTDeviceEvidence.ioTHub, serializeAzureResourceEvidence);
    writer.writeStringValue("ioTSecurityAgentId", ioTDeviceEvidence.ioTSecurityAgentId);
    writer.writeObjectValue("ipAddress", ioTDeviceEvidence.ipAddress, serializeIpEvidence);
    writer.writeBooleanValue("isAuthorized", ioTDeviceEvidence.isAuthorized);
    writer.writeBooleanValue("isProgramming", ioTDeviceEvidence.isProgramming);
    writer.writeBooleanValue("isScanner", ioTDeviceEvidence.isScanner);
    writer.writeStringValue("macAddress", ioTDeviceEvidence.macAddress);
    writer.writeStringValue("manufacturer", ioTDeviceEvidence.manufacturer);
    writer.writeStringValue("model", ioTDeviceEvidence.model);
    writer.writeCollectionOfObjectValues("nics", ioTDeviceEvidence.nics, serializeNicEvidence);
    writer.writeStringValue("operatingSystem", ioTDeviceEvidence.operatingSystem);
    writer.writeCollectionOfPrimitiveValues("owners", ioTDeviceEvidence.owners);
    writer.writeCollectionOfPrimitiveValues("protocols", ioTDeviceEvidence.protocols);
    writer.writeStringValue("purdueLayer", ioTDeviceEvidence.purdueLayer);
    writer.writeStringValue("sensor", ioTDeviceEvidence.sensor);
    writer.writeStringValue("serialNumber", ioTDeviceEvidence.serialNumber);
    writer.writeStringValue("site", ioTDeviceEvidence.site);
    writer.writeStringValue("source", ioTDeviceEvidence.source);
    writer.writeObjectValue("sourceRef", ioTDeviceEvidence.sourceRef, serializeUrlEvidence);
    writer.writeStringValue("zone", ioTDeviceEvidence.zone);
}
/**
 * Serializes information the current object
 * @param IpAddress The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIpAddress(writer, ipAddress = {}, isSerializingDerivedType = false) {
    if (!ipAddress || isSerializingDerivedType) {
        return;
    }
    serializeHost(writer, ipAddress, isSerializingDerivedType);
    writer.writeObjectValue("autonomousSystem", ipAddress.autonomousSystem, serializeAutonomousSystem);
    writer.writeStringValue("countryOrRegion", ipAddress.countryOrRegion);
    writer.writeStringValue("hostingProvider", ipAddress.hostingProvider);
    writer.writeStringValue("netblock", ipAddress.netblock);
}
/**
 * Serializes information the current object
 * @param IpEntityMapping The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIpEntityMapping(writer, ipEntityMapping = {}, isSerializingDerivedType = false) {
    if (!ipEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, ipEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("addressColumn", ipEntityMapping.addressColumn);
    writer.writeStringValue("scopeColumn", ipEntityMapping.scopeColumn);
}
/**
 * Serializes information the current object
 * @param IpEvidence The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIpEvidence(writer, ipEvidence = {}, isSerializingDerivedType = false) {
    if (!ipEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, ipEvidence, isSerializingDerivedType);
    writer.writeStringValue("countryLetterCode", ipEvidence.countryLetterCode);
    writer.writeStringValue("ipAddress", ipEvidence.ipAddress);
    writer.writeObjectValue("location", ipEvidence.location, serializeGeoLocation);
    writer.writeObjectValue("stream", ipEvidence.stream, serializeStream);
}
/**
 * Serializes information the current object
 * @param IrmActivityAuditTrailRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIrmActivityAuditTrailRecord(writer, irmActivityAuditTrailRecord = {}, isSerializingDerivedType = false) {
    if (!irmActivityAuditTrailRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, irmActivityAuditTrailRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IrmUserDefinedDetectionRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIrmUserDefinedDetectionRecord(writer, irmUserDefinedDetectionRecord = {}, isSerializingDerivedType = false) {
    if (!irmUserDefinedDetectionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, irmUserDefinedDetectionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param IsolateDeviceAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIsolateDeviceAction(writer, isolateDeviceAction = {}, isSerializingDerivedType = false) {
    if (!isolateDeviceAction || isSerializingDerivedType) {
        return;
    }
    serializeDeviceAction(writer, isolateDeviceAction, isSerializingDerivedType);
    writer.writeEnumValue("isolationType", isolateDeviceAction.isolationType);
}
/**
 * Serializes information the current object
 * @param IsolateDeviceIncidentTaskResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIsolateDeviceIncidentTaskResponseAction(writer, isolateDeviceIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!isolateDeviceIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, isolateDeviceIncidentTaskResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("isolationType", isolateDeviceIncidentTaskResponseAction.isolationType);
}
/**
 * Serializes information the current object
 * @param IsolateDeviceResponseAction The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIsolateDeviceResponseAction(writer, isolateDeviceResponseAction = {}, isSerializingDerivedType = false) {
    if (!isolateDeviceResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, isolateDeviceResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", isolateDeviceResponseAction.identifier);
    writer.writeEnumValue("isolationType", isolateDeviceResponseAction.isolationType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param JustifyAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeJustifyAction(writer, justifyAction = {}, isSerializingDerivedType = false) {
    if (!justifyAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, justifyAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KaizalaAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKaizalaAuditRecord(writer, kaizalaAuditRecord = {}, isSerializingDerivedType = false) {
    if (!kaizalaAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, kaizalaAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KeyValuePair The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKeyValuePair(writer, keyValuePair = {}, isSerializingDerivedType = false) {
    if (!keyValuePair || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", keyValuePair.name);
    writer.writeStringValue("@odata.type", keyValuePair.odataType);
    writer.writeStringValue("value", keyValuePair.value);
    writer.writeAdditionalData(keyValuePair.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesClusterEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesClusterEvidence(writer, kubernetesClusterEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesClusterEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesClusterEvidence, isSerializingDerivedType);
    writer.writeObjectValue("cloudResource", kubernetesClusterEvidence.cloudResource, serializeAlertEvidence);
    writer.writeStringValue("distribution", kubernetesClusterEvidence.distribution);
    writer.writeStringValue("name", kubernetesClusterEvidence.name);
    writer.writeEnumValue("platform", kubernetesClusterEvidence.platform);
    writer.writeStringValue("version", kubernetesClusterEvidence.version);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesControllerEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesControllerEvidence(writer, kubernetesControllerEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesControllerEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesControllerEvidence, isSerializingDerivedType);
    writer.writeObjectValue("labels", kubernetesControllerEvidence.labels, serializeDictionary);
    writer.writeStringValue("name", kubernetesControllerEvidence.name);
    writer.writeObjectValue("namespace", kubernetesControllerEvidence.namespace, serializeKubernetesNamespaceEvidence);
    writer.writeStringValue("type", kubernetesControllerEvidence.type);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesNamespaceEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesNamespaceEvidence(writer, kubernetesNamespaceEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesNamespaceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesNamespaceEvidence, isSerializingDerivedType);
    writer.writeObjectValue("cluster", kubernetesNamespaceEvidence.cluster, serializeKubernetesClusterEvidence);
    writer.writeObjectValue("labels", kubernetesNamespaceEvidence.labels, serializeDictionary);
    writer.writeStringValue("name", kubernetesNamespaceEvidence.name);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesPodEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesPodEvidence(writer, kubernetesPodEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesPodEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesPodEvidence, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("containers", kubernetesPodEvidence.containers, serializeContainerEvidence);
    writer.writeObjectValue("controller", kubernetesPodEvidence.controller, serializeKubernetesControllerEvidence);
    writer.writeCollectionOfObjectValues("ephemeralContainers", kubernetesPodEvidence.ephemeralContainers, serializeContainerEvidence);
    writer.writeCollectionOfObjectValues("initContainers", kubernetesPodEvidence.initContainers, serializeContainerEvidence);
    writer.writeObjectValue("labels", kubernetesPodEvidence.labels, serializeDictionary);
    writer.writeStringValue("name", kubernetesPodEvidence.name);
    writer.writeObjectValue("namespace", kubernetesPodEvidence.namespace, serializeKubernetesNamespaceEvidence);
    writer.writeObjectValue("podIp", kubernetesPodEvidence.podIp, serializeIpEvidence);
    writer.writeObjectValue("serviceAccount", kubernetesPodEvidence.serviceAccount, serializeKubernetesServiceAccountEvidence);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesSecretEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesSecretEvidence(writer, kubernetesSecretEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesSecretEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesSecretEvidence, isSerializingDerivedType);
    writer.writeStringValue("name", kubernetesSecretEvidence.name);
    writer.writeObjectValue("namespace", kubernetesSecretEvidence.namespace, serializeKubernetesNamespaceEvidence);
    writer.writeStringValue("secretType", kubernetesSecretEvidence.secretType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesServiceAccountEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesServiceAccountEvidence(writer, kubernetesServiceAccountEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesServiceAccountEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesServiceAccountEvidence, isSerializingDerivedType);
    writer.writeStringValue("name", kubernetesServiceAccountEvidence.name);
    writer.writeObjectValue("namespace", kubernetesServiceAccountEvidence.namespace, serializeKubernetesNamespaceEvidence);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesServiceEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesServiceEvidence(writer, kubernetesServiceEvidence = {}, isSerializingDerivedType = false) {
    if (!kubernetesServiceEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, kubernetesServiceEvidence, isSerializingDerivedType);
    writer.writeObjectValue("clusterIP", kubernetesServiceEvidence.clusterIP, serializeIpEvidence);
    writer.writeCollectionOfObjectValues("externalIPs", kubernetesServiceEvidence.externalIPs, serializeIpEvidence);
    writer.writeObjectValue("labels", kubernetesServiceEvidence.labels, serializeDictionary);
    writer.writeStringValue("name", kubernetesServiceEvidence.name);
    writer.writeObjectValue("namespace", kubernetesServiceEvidence.namespace, serializeKubernetesNamespaceEvidence);
    writer.writeObjectValue("selector", kubernetesServiceEvidence.selector, serializeDictionary);
    writer.writeCollectionOfObjectValues("servicePorts", kubernetesServiceEvidence.servicePorts, serializeKubernetesServicePort);
    writer.writeEnumValue("serviceType", kubernetesServiceEvidence.serviceType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param KubernetesServicePort The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeKubernetesServicePort(writer, kubernetesServicePort = {}, isSerializingDerivedType = false) {
    if (!kubernetesServicePort || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("appProtocol", kubernetesServicePort.appProtocol);
    writer.writeStringValue("name", kubernetesServicePort.name);
    writer.writeNumberValue("nodePort", kubernetesServicePort.nodePort);
    writer.writeStringValue("@odata.type", kubernetesServicePort.odataType);
    writer.writeNumberValue("port", kubernetesServicePort.port);
    writer.writeEnumValue("protocol", kubernetesServicePort.protocol);
    writer.writeStringValue("targetPort", kubernetesServicePort.targetPort);
    writer.writeAdditionalData(kubernetesServicePort.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LabelAnalyticsAggregateAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLabelAnalyticsAggregateAuditRecord(writer, labelAnalyticsAggregateAuditRecord = {}, isSerializingDerivedType = false) {
    if (!labelAnalyticsAggregateAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, labelAnalyticsAggregateAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LabelContentExplorerAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLabelContentExplorerAuditRecord(writer, labelContentExplorerAuditRecord = {}, isSerializingDerivedType = false) {
    if (!labelContentExplorerAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, labelContentExplorerAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LabelingOptions The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLabelingOptions(writer, labelingOptions = {}, isSerializingDerivedType = false) {
    if (!labelingOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("assignmentMethod", labelingOptions.assignmentMethod);
    writer.writeObjectValue("downgradeJustification", labelingOptions.downgradeJustification, serializeDowngradeJustification);
    writer.writeCollectionOfObjectValues("extendedProperties", labelingOptions.extendedProperties, serializeKeyValuePair);
    writer.writeStringValue("labelId", labelingOptions.labelId);
    writer.writeStringValue("@odata.type", labelingOptions.odataType);
    writer.writeAdditionalData(labelingOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LabelsRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLabelsRoot(writer, labelsRoot = {}, isSerializingDerivedType = false) {
    if (!labelsRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, labelsRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("authorities", labelsRoot.authorities, serializeAuthorityTemplate);
    writer.writeCollectionOfObjectValues("categories", labelsRoot.categories, serializeCategoryTemplate);
    writer.writeCollectionOfObjectValues("citations", labelsRoot.citations, serializeCitationTemplate);
    writer.writeCollectionOfObjectValues("departments", labelsRoot.departments, serializeDepartmentTemplate);
    writer.writeCollectionOfObjectValues("filePlanReferences", labelsRoot.filePlanReferences, serializeFilePlanReferenceTemplate);
    writer.writeCollectionOfObjectValues("retentionLabels", labelsRoot.retentionLabels, serializeRetentionLabel);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LargeContentMetadataAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLargeContentMetadataAuditRecord(writer, largeContentMetadataAuditRecord = {}, isSerializingDerivedType = false) {
    if (!largeContentMetadataAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, largeContentMetadataAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param LoggedOnUser The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeLoggedOnUser(writer, loggedOnUser = {}, isSerializingDerivedType = false) {
    if (!loggedOnUser || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("accountName", loggedOnUser.accountName);
    writer.writeStringValue("domainName", loggedOnUser.domainName);
    writer.writeStringValue("@odata.type", loggedOnUser.odataType);
    writer.writeAdditionalData(loggedOnUser.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param M365ComplianceConnectorAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeM365ComplianceConnectorAuditRecord(writer, m365ComplianceConnectorAuditRecord = {}, isSerializingDerivedType = false) {
    if (!m365ComplianceConnectorAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, m365ComplianceConnectorAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param M365daadAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeM365daadAuditRecord(writer, m365daadAuditRecord = {}, isSerializingDerivedType = false) {
    if (!m365daadAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, m365daadAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param M365odspAssetMetadataRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeM365odspAssetMetadataRecord(writer, m365odspAssetMetadataRecord = {}, isSerializingDerivedType = false) {
    if (!m365odspAssetMetadataRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, m365odspAssetMetadataRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param M365SearchSectionsRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeM365SearchSectionsRecord(writer, m365SearchSectionsRecord = {}, isSerializingDerivedType = false) {
    if (!m365SearchSectionsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, m365SearchSectionsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailboxConfigurationEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailboxConfigurationEvidence(writer, mailboxConfigurationEvidence = {}, isSerializingDerivedType = false) {
    if (!mailboxConfigurationEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, mailboxConfigurationEvidence, isSerializingDerivedType);
    writer.writeStringValue("configurationId", mailboxConfigurationEvidence.configurationId);
    writer.writeEnumValue("configurationType", mailboxConfigurationEvidence.configurationType);
    writer.writeStringValue("displayName", mailboxConfigurationEvidence.displayName);
    writer.writeGuidValue("externalDirectoryObjectId", mailboxConfigurationEvidence.externalDirectoryObjectId);
    writer.writeStringValue("mailboxPrimaryAddress", mailboxConfigurationEvidence.mailboxPrimaryAddress);
    writer.writeStringValue("upn", mailboxConfigurationEvidence.upn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailboxEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailboxEntityMapping(writer, mailboxEntityMapping = {}, isSerializingDerivedType = false) {
    if (!mailboxEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, mailboxEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("primaryAddressColumn", mailboxEntityMapping.primaryAddressColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailboxEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailboxEvidence(writer, mailboxEvidence = {}, isSerializingDerivedType = false) {
    if (!mailboxEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, mailboxEvidence, isSerializingDerivedType);
    writer.writeStringValue("displayName", mailboxEvidence.displayName);
    writer.writeStringValue("primaryAddress", mailboxEvidence.primaryAddress);
    writer.writeStringValue("upn", mailboxEvidence.upn);
    writer.writeObjectValue("userAccount", mailboxEvidence.userAccount, serializeUserAccount);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailClusterEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailClusterEntityMapping(writer, mailClusterEntityMapping = {}, isSerializingDerivedType = false) {
    if (!mailClusterEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, mailClusterEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("queryColumn", mailClusterEntityMapping.queryColumn);
    writer.writeStringValue("sourceColumn", mailClusterEntityMapping.sourceColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailClusterEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailClusterEvidence(writer, mailClusterEvidence = {}, isSerializingDerivedType = false) {
    if (!mailClusterEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, mailClusterEvidence, isSerializingDerivedType);
    writer.writeStringValue("clusterBy", mailClusterEvidence.clusterBy);
    writer.writeStringValue("clusterByValue", mailClusterEvidence.clusterByValue);
    writer.writeNumberValue("emailCount", mailClusterEvidence.emailCount);
    writer.writeCollectionOfPrimitiveValues("networkMessageIds", mailClusterEvidence.networkMessageIds);
    writer.writeStringValue("query", mailClusterEvidence.query);
    writer.writeStringValue("urn", mailClusterEvidence.urn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailMessageEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailMessageEntityMapping(writer, mailMessageEntityMapping = {}, isSerializingDerivedType = false) {
    if (!mailMessageEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, mailMessageEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("networkMessageIdColumn", mailMessageEntityMapping.networkMessageIdColumn);
    writer.writeStringValue("recipientColumn", mailMessageEntityMapping.recipientColumn);
    writer.writeStringValue("senderColumn", mailMessageEntityMapping.senderColumn);
    writer.writeStringValue("subjectColumn", mailMessageEntityMapping.subjectColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MailSubmissionData The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMailSubmissionData(writer, mailSubmissionData = {}, isSerializingDerivedType = false) {
    if (!mailSubmissionData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mailSubmissionData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MalwareEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMalwareEvidence(writer, malwareEvidence = {}, isSerializingDerivedType = false) {
    if (!malwareEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, malwareEvidence, isSerializingDerivedType);
    writer.writeStringValue("category", malwareEvidence.category);
    writer.writeCollectionOfObjectValues("files", malwareEvidence.files, serializeFileEvidence);
    writer.writeStringValue("name", malwareEvidence.name);
    writer.writeCollectionOfObjectValues("processes", malwareEvidence.processes, serializeProcessEvidence);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ManagedServicesAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeManagedServicesAuditRecord(writer, managedServicesAuditRecord = {}, isSerializingDerivedType = false) {
    if (!managedServicesAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, managedServicesAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ManagedTenantsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeManagedTenantsAuditRecord(writer, managedTenantsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!managedTenantsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, managedTenantsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ManualAlert The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeManualAlert(writer, manualAlert = {}, isSerializingDerivedType = false) {
    if (!manualAlert || isSerializingDerivedType) {
        return;
    }
    serializeAlert(writer, manualAlert, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("entityDefinitions", manualAlert.entityDefinitions, serializeEntityDefinitionInput);
    writer.writeBooleanValue("isExcludedFromCorrelation", manualAlert.isExcludedFromCorrelation);
    writer.writeNumberValue("linkToIncident", manualAlert.linkToIncident);
    writer.writeStringValue("sentinelWorkspace", manualAlert.sentinelWorkspace);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MapgAlertsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMapgAlertsAuditRecord(writer, mapgAlertsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mapgAlertsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mapgAlertsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MapgOnboardAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMapgOnboardAuditRecord(writer, mapgOnboardAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mapgOnboardAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mapgOnboardAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MapgPolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMapgPolicyAuditRecord(writer, mapgPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mapgPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mapgPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MapgRemediationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMapgRemediationAuditRecord(writer, mapgRemediationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mapgRemediationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mapgRemediationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MarkUserAsCompromisedIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMarkUserAsCompromisedIncidentTaskResponseAction(writer, markUserAsCompromisedIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!markUserAsCompromisedIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, markUserAsCompromisedIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MarkUserAsCompromisedResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMarkUserAsCompromisedResponseAction(writer, markUserAsCompromisedResponseAction = {}, isSerializingDerivedType = false) {
    if (!markUserAsCompromisedResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, markUserAsCompromisedResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", markUserAsCompromisedResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param McasAlertsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMcasAlertsAuditRecord(writer, mcasAlertsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mcasAlertsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mcasAlertsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MdaAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMdaAuditRecord(writer, mdaAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mdaAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mdaAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MdaDataSecuritySignalRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMdaDataSecuritySignalRecord(writer, mdaDataSecuritySignalRecord = {}, isSerializingDerivedType = false) {
    if (!mdaDataSecuritySignalRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mdaDataSecuritySignalRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MDASHAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMDASHAuditRecord(writer, mDASHAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mDASHAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mDASHAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MdatpAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMdatpAuditRecord(writer, mdatpAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mdatpAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mdatpAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MdcEventsRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMdcEventsRecord(writer, mdcEventsRecord = {}, isSerializingDerivedType = false) {
    if (!mdcEventsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mdcEventsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MdiAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMdiAuditRecord(writer, mdiAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mdiAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mdiAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MergeResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMergeResponse(writer, mergeResponse = {}, isSerializingDerivedType = false) {
    if (!mergeResponse || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", mergeResponse.odataType);
    writer.writeStringValue("targetIncidentId", mergeResponse.targetIncidentId);
    writer.writeAdditionalData(mergeResponse.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MeshWorldsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMeshWorldsAuditRecord(writer, meshWorldsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!meshWorldsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, meshWorldsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MetadataAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMetadataAction(writer, metadataAction = {}, isSerializingDerivedType = false) {
    if (!metadataAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, metadataAction, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("metadataToAdd", metadataAction.metadataToAdd, serializeKeyValuePair);
    writer.writeCollectionOfPrimitiveValues("metadataToRemove", metadataAction.metadataToRemove);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365BackupBackupItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365BackupBackupItemAuditRecord(writer, microsoft365BackupBackupItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365BackupBackupItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365BackupBackupItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365BackupBackupPolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365BackupBackupPolicyAuditRecord(writer, microsoft365BackupBackupPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365BackupBackupPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365BackupBackupPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365BackupGranularBrowseTaskAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365BackupGranularBrowseTaskAuditRecord(writer, microsoft365BackupGranularBrowseTaskAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365BackupGranularBrowseTaskAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365BackupGranularBrowseTaskAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365BackupRestoreItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365BackupRestoreItemAuditRecord(writer, microsoft365BackupRestoreItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365BackupRestoreItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365BackupRestoreItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365BackupRestoreTaskAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365BackupRestoreTaskAuditRecord(writer, microsoft365BackupRestoreTaskAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365BackupRestoreTaskAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365BackupRestoreTaskAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Microsoft365CopilotScheduledPromptAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoft365CopilotScheduledPromptAuditRecord(writer, microsoft365CopilotScheduledPromptAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoft365CopilotScheduledPromptAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoft365CopilotScheduledPromptAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftDefenderExpertsXDRAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftDefenderExpertsXDRAuditRecord(writer, microsoftDefenderExpertsXDRAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftDefenderExpertsXDRAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftDefenderExpertsXDRAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftFlowAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftFlowAuditRecord(writer, microsoftFlowAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftFlowAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftFlowAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftFormsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftFormsAuditRecord(writer, microsoftFormsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftFormsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftFormsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftGraphDataConnectConsent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftGraphDataConnectConsent(writer, microsoftGraphDataConnectConsent = {}, isSerializingDerivedType = false) {
    if (!microsoftGraphDataConnectConsent || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftGraphDataConnectConsent, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftGraphDataConnectOperation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftGraphDataConnectOperation(writer, microsoftGraphDataConnectOperation = {}, isSerializingDerivedType = false) {
    if (!microsoftGraphDataConnectOperation || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftGraphDataConnectOperation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewDataCatalogOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewDataCatalogOperationRecord(writer, microsoftPurviewDataCatalogOperationRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewDataCatalogOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewDataCatalogOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewDataMapOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewDataMapOperationRecord(writer, microsoftPurviewDataMapOperationRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewDataMapOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewDataMapOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewMetadataPolicyOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewMetadataPolicyOperationRecord(writer, microsoftPurviewMetadataPolicyOperationRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewMetadataPolicyOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewMetadataPolicyOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewPolicyOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewPolicyOperationRecord(writer, microsoftPurviewPolicyOperationRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewPolicyOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewPolicyOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewPrivacyAuditEvent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewPrivacyAuditEvent(writer, microsoftPurviewPrivacyAuditEvent = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewPrivacyAuditEvent || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewPrivacyAuditEvent, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftPurviewUnifiedCatalogOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftPurviewUnifiedCatalogOperationRecord(writer, microsoftPurviewUnifiedCatalogOperationRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftPurviewUnifiedCatalogOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftPurviewUnifiedCatalogOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftStreamAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftStreamAuditRecord(writer, microsoftStreamAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftStreamAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftStreamAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsAdminAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsAdminAuditRecord(writer, microsoftTeamsAdminAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsAdminAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsAdminAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsAnalyticsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsAnalyticsAuditRecord(writer, microsoftTeamsAnalyticsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsAnalyticsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsAnalyticsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsAuditRecord(writer, microsoftTeamsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsDeviceAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsDeviceAuditRecord(writer, microsoftTeamsDeviceAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsDeviceAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsDeviceAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsRetentionLabelActionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsRetentionLabelActionAuditRecord(writer, microsoftTeamsRetentionLabelActionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsRetentionLabelActionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsRetentionLabelActionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsSensitivityLabelActionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsSensitivityLabelActionAuditRecord(writer, microsoftTeamsSensitivityLabelActionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsSensitivityLabelActionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsSensitivityLabelActionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsShiftsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsShiftsAuditRecord(writer, microsoftTeamsShiftsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsShiftsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsShiftsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MicrosoftTeamsUserConcernAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMicrosoftTeamsUserConcernAuditRecord(writer, microsoftTeamsUserConcernAuditRecord = {}, isSerializingDerivedType = false) {
    if (!microsoftTeamsUserConcernAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, microsoftTeamsUserConcernAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MigrateSensorsResult The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMigrateSensorsResult(writer, migrateSensorsResult = {}, isSerializingDerivedType = false) {
    if (!migrateSensorsResult || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfPrimitiveValues("failedMigrationSensorIds", migrateSensorsResult.failedMigrationSensorIds);
    writer.writeStringValue("@odata.type", migrateSensorsResult.odataType);
    writer.writeCollectionOfPrimitiveValues("successfulMigrationSensorIds", migrateSensorsResult.successfulMigrationSensorIds);
    writer.writeAdditionalData(migrateSensorsResult.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelExchangeItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelExchangeItemAuditRecord(writer, mipAutoLabelExchangeItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelExchangeItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelExchangeItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelProgressFeedbackAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelProgressFeedbackAuditRecord(writer, mipAutoLabelProgressFeedbackAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelProgressFeedbackAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelProgressFeedbackAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelSharePointItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelSharePointItemAuditRecord(writer, mipAutoLabelSharePointItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelSharePointItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelSharePointItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelSharePointPolicyLocationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelSharePointPolicyLocationAuditRecord(writer, mipAutoLabelSharePointPolicyLocationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelSharePointPolicyLocationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelSharePointPolicyLocationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelSimulationSharePointCompletionRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelSimulationSharePointCompletionRecord(writer, mipAutoLabelSimulationSharePointCompletionRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelSimulationSharePointCompletionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelSimulationSharePointCompletionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelSimulationSharePointProgressRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelSimulationSharePointProgressRecord(writer, mipAutoLabelSimulationSharePointProgressRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelSimulationSharePointProgressRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelSimulationSharePointProgressRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipAutoLabelSimulationStatisticsRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipAutoLabelSimulationStatisticsRecord(writer, mipAutoLabelSimulationStatisticsRecord = {}, isSerializingDerivedType = false) {
    if (!mipAutoLabelSimulationStatisticsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipAutoLabelSimulationStatisticsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipExactDataMatchAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipExactDataMatchAuditRecord(writer, mipExactDataMatchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipExactDataMatchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipExactDataMatchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipLabelAnalyticsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipLabelAnalyticsAuditRecord(writer, mipLabelAnalyticsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipLabelAnalyticsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipLabelAnalyticsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MipLabelAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMipLabelAuditRecord(writer, mipLabelAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mipLabelAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mipLabelAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MitreTactic The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMitreTactic(writer, mitreTactic = {}, isSerializingDerivedType = false) {
    if (!mitreTactic || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", mitreTactic.odataType);
    writer.writeStringValue("tactic", mitreTactic.tactic);
    writer.writeCollectionOfObjectValues("techniques", mitreTactic.techniques, serializeMitreTechnique);
    writer.writeAdditionalData(mitreTactic.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MitreTechnique The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMitreTechnique(writer, mitreTechnique = {}, isSerializingDerivedType = false) {
    if (!mitreTechnique || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", mitreTechnique.odataType);
    writer.writeCollectionOfPrimitiveValues("subTechniques", mitreTechnique.subTechniques);
    writer.writeStringValue("technique", mitreTechnique.technique);
    writer.writeAdditionalData(mitreTechnique.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MosAgentInfoRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMosAgentInfoRecord(writer, mosAgentInfoRecord = {}, isSerializingDerivedType = false) {
    if (!mosAgentInfoRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mosAgentInfoRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MosAgentInfoRecordV2 The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMosAgentInfoRecordV2(writer, mosAgentInfoRecordV2 = {}, isSerializingDerivedType = false) {
    if (!mosAgentInfoRecordV2 || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mosAgentInfoRecordV2, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MoveToDeletedItemsResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMoveToDeletedItemsResponseAction(writer, moveToDeletedItemsResponseAction = {}, isSerializingDerivedType = false) {
    if (!moveToDeletedItemsResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, moveToDeletedItemsResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", moveToDeletedItemsResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MoveToInboxResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMoveToInboxResponseAction(writer, moveToInboxResponseAction = {}, isSerializingDerivedType = false) {
    if (!moveToInboxResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, moveToInboxResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", moveToInboxResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MoveToJunkResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMoveToJunkResponseAction(writer, moveToJunkResponseAction = {}, isSerializingDerivedType = false) {
    if (!moveToJunkResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, moveToJunkResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", moveToJunkResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Ms365dCustomDetectionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMs365dCustomDetectionAuditRecord(writer, ms365dCustomDetectionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!ms365dCustomDetectionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, ms365dCustomDetectionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Ms365dIncidentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMs365dIncidentAuditRecord(writer, ms365dIncidentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!ms365dIncidentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, ms365dIncidentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Ms365dSuppressionRuleAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMs365dSuppressionRuleAuditRecord(writer, ms365dSuppressionRuleAuditRecord = {}, isSerializingDerivedType = false) {
    if (!ms365dSuppressionRuleAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, ms365dSuppressionRuleAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsdeCustomCollectionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsdeCustomCollectionAuditRecord(writer, msdeCustomCollectionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!msdeCustomCollectionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msdeCustomCollectionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsdeGeneralSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsdeGeneralSettingsAuditRecord(writer, msdeGeneralSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!msdeGeneralSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msdeGeneralSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsdeIndicatorsSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsdeIndicatorsSettingsAuditRecord(writer, msdeIndicatorsSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!msdeIndicatorsSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msdeIndicatorsSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsdeResponseActionsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsdeResponseActionsAuditRecord(writer, msdeResponseActionsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!msdeResponseActionsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msdeResponseActionsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsdeRolesSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsdeRolesSettingsAuditRecord(writer, msdeRolesSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!msdeRolesSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msdeRolesSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MspVectorSearchContentMetadataAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMspVectorSearchContentMetadataAuditRecord(writer, mspVectorSearchContentMetadataAuditRecord = {}, isSerializingDerivedType = false) {
    if (!mspVectorSearchContentMetadataAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, mspVectorSearchContentMetadataAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MsticNationStateNotificationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMsticNationStateNotificationRecord(writer, msticNationStateNotificationRecord = {}, isSerializingDerivedType = false) {
    if (!msticNationStateNotificationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, msticNationStateNotificationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MultiStageDispositionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMultiStageDispositionAuditRecord(writer, multiStageDispositionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!multiStageDispositionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, multiStageDispositionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param MyAnalyticsSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeMyAnalyticsSettingsAuditRecord(writer, myAnalyticsSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!myAnalyticsSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, myAnalyticsSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NetworkAdapter The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeNetworkAdapter(writer, networkAdapter = {}, isSerializingDerivedType = false) {
    if (!networkAdapter || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, networkAdapter, isSerializingDerivedType);
    writer.writeBooleanValue("isEnabled", networkAdapter.isEnabled);
    writer.writeStringValue("name", networkAdapter.name);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NetworkConnectionEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeNetworkConnectionEvidence(writer, networkConnectionEvidence = {}, isSerializingDerivedType = false) {
    if (!networkConnectionEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, networkConnectionEvidence, isSerializingDerivedType);
    writer.writeObjectValue("destinationAddress", networkConnectionEvidence.destinationAddress, serializeIpEvidence);
    writer.writeNumberValue("destinationPort", networkConnectionEvidence.destinationPort);
    writer.writeEnumValue("protocol", networkConnectionEvidence.protocol);
    writer.writeObjectValue("sourceAddress", networkConnectionEvidence.sourceAddress, serializeIpEvidence);
    writer.writeNumberValue("sourcePort", networkConnectionEvidence.sourcePort);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NicEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeNicEvidence(writer, nicEvidence = {}, isSerializingDerivedType = false) {
    if (!nicEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, nicEvidence, isSerializingDerivedType);
    writer.writeObjectValue("ipAddress", nicEvidence.ipAddress, serializeIpEvidence);
    writer.writeStringValue("macAddress", nicEvidence.macAddress);
    writer.writeCollectionOfPrimitiveValues("vlans", nicEvidence.vlans);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NoisyAlertPolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeNoisyAlertPolicyAuditRecord(writer, noisyAlertPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!noisyAlertPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, noisyAlertPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OAuthApplicationEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOAuthApplicationEntityMapping(writer, oAuthApplicationEntityMapping = {}, isSerializingDerivedType = false) {
    if (!oAuthApplicationEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, oAuthApplicationEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("oAuthAppIdColumn", oAuthApplicationEntityMapping.oAuthAppIdColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OauthApplicationEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOauthApplicationEvidence(writer, oauthApplicationEvidence = {}, isSerializingDerivedType = false) {
    if (!oauthApplicationEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, oauthApplicationEvidence, isSerializingDerivedType);
    writer.writeStringValue("appId", oauthApplicationEvidence.appId);
    writer.writeStringValue("displayName", oauthApplicationEvidence.displayName);
    writer.writeStringValue("objectId", oauthApplicationEvidence.objectId);
    writer.writeStringValue("publisher", oauthApplicationEvidence.publisher);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OcrSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOcrSettings(writer, ocrSettings = {}, isSerializingDerivedType = false) {
    if (!ocrSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("isEnabled", ocrSettings.isEnabled);
    writer.writeNumberValue("maxImageSize", ocrSettings.maxImageSize);
    writer.writeStringValue("@odata.type", ocrSettings.odataType);
    writer.writeDurationValue("timeout", ocrSettings.timeout);
    writer.writeAdditionalData(ocrSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OfficeNativeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOfficeNativeAuditRecord(writer, officeNativeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!officeNativeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, officeNativeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OmePortalAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOmePortalAuditRecord(writer, omePortalAuditRecord = {}, isSerializingDerivedType = false) {
    if (!omePortalAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, omePortalAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OnDemandSharePointClassificationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOnDemandSharePointClassificationAuditRecord(writer, onDemandSharePointClassificationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!onDemandSharePointClassificationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, onDemandSharePointClassificationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OneDriveAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOneDriveAuditRecord(writer, oneDriveAuditRecord = {}, isSerializingDerivedType = false) {
    if (!oneDriveAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, oneDriveAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OnPremisesFileShareScannerDLPAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOnPremisesFileShareScannerDLPAuditRecord(writer, onPremisesFileShareScannerDLPAuditRecord = {}, isSerializingDerivedType = false) {
    if (!onPremisesFileShareScannerDLPAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, onPremisesFileShareScannerDLPAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OnPremisesSharePointScannerDLPAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOnPremisesSharePointScannerDLPAuditRecord(writer, onPremisesSharePointScannerDLPAuditRecord = {}, isSerializingDerivedType = false) {
    if (!onPremisesSharePointScannerDLPAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, onPremisesSharePointScannerDLPAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OrganizationalDataInM365AuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOrganizationalDataInM365AuditRecord(writer, organizationalDataInM365AuditRecord = {}, isSerializingDerivedType = false) {
    if (!organizationalDataInM365AuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, organizationalDataInM365AuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OrganizationalScope The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOrganizationalScope(writer, organizationalScope = {}, isSerializingDerivedType = false) {
    if (!organizationalScope || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfPrimitiveValues("deviceGroups", organizationalScope.deviceGroups);
    writer.writeStringValue("@odata.type", organizationalScope.odataType);
    writer.writeCollectionOfPrimitiveValues("scopeNames", organizationalScope.scopeNames);
    writer.writeEnumValue("scopeType", organizationalScope.scopeType);
    writer.writeAdditionalData(organizationalScope.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OutlookCopilotAutomationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOutlookCopilotAutomationAuditRecord(writer, outlookCopilotAutomationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!outlookCopilotAutomationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, outlookCopilotAutomationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OwaGetAccessTokenForResourceAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOwaGetAccessTokenForResourceAuditRecord(writer, owaGetAccessTokenForResourceAuditRecord = {}, isSerializingDerivedType = false) {
    if (!owaGetAccessTokenForResourceAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, owaGetAccessTokenForResourceAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param P4aiAssessmentCategoryRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeP4aiAssessmentCategoryRecord(writer, p4aiAssessmentCategoryRecord = {}, isSerializingDerivedType = false) {
    if (!p4aiAssessmentCategoryRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, p4aiAssessmentCategoryRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param P4aiAssessmentFabricScannerRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeP4aiAssessmentFabricScannerRecord(writer, p4aiAssessmentFabricScannerRecord = {}, isSerializingDerivedType = false) {
    if (!p4aiAssessmentFabricScannerRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, p4aiAssessmentFabricScannerRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param P4aiAssessmentLocationResultRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeP4aiAssessmentLocationResultRecord(writer, p4aiAssessmentLocationResultRecord = {}, isSerializingDerivedType = false) {
    if (!p4aiAssessmentLocationResultRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, p4aiAssessmentLocationResultRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param P4aiAssessmentRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeP4aiAssessmentRecord(writer, p4aiAssessmentRecord = {}, isSerializingDerivedType = false) {
    if (!p4aiAssessmentRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, p4aiAssessmentRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param P4AIRiskScoreRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeP4AIRiskScoreRecord(writer, p4AIRiskScoreRecord = {}, isSerializingDerivedType = false) {
    if (!p4AIRiskScoreRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, p4AIRiskScoreRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PassiveDnsRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePassiveDnsRecord(writer, passiveDnsRecord = {}, isSerializingDerivedType = false) {
    if (!passiveDnsRecord || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, passiveDnsRecord, isSerializingDerivedType);
    writer.writeObjectValue("artifact", passiveDnsRecord.artifact, serializeArtifact);
    writer.writeDateValue("collectedDateTime", passiveDnsRecord.collectedDateTime);
    writer.writeDateValue("firstSeenDateTime", passiveDnsRecord.firstSeenDateTime);
    writer.writeDateValue("lastSeenDateTime", passiveDnsRecord.lastSeenDateTime);
    writer.writeObjectValue("parentHost", passiveDnsRecord.parentHost, serializeHost);
    writer.writeStringValue("recordType", passiveDnsRecord.recordType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PassiveDnsRecordCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePassiveDnsRecordCollectionResponse(writer, passiveDnsRecordCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!passiveDnsRecordCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, passiveDnsRecordCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", passiveDnsRecordCollectionResponse.value, serializePassiveDnsRecord);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PeopleAdminSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePeopleAdminSettingsAuditRecord(writer, peopleAdminSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!peopleAdminSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, peopleAdminSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PhysicalBadgingSignalAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePhysicalBadgingSignalAuditRecord(writer, physicalBadgingSignalAuditRecord = {}, isSerializingDerivedType = false) {
    if (!physicalBadgingSignalAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, physicalBadgingSignalAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlacesDirectoryAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlacesDirectoryAuditRecord(writer, placesDirectoryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!placesDirectoryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, placesDirectoryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerChatMessageAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerChatMessageAuditRecord(writer, plannerChatMessageAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerChatMessageAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerChatMessageAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerChatMessageListAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerChatMessageListAuditRecord(writer, plannerChatMessageListAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerChatMessageListAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerChatMessageListAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerCopyPlanAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerCopyPlanAuditRecord(writer, plannerCopyPlanAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerCopyPlanAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerCopyPlanAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerGoalAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerGoalAuditRecord(writer, plannerGoalAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerGoalAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerGoalAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerGoalListAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerGoalListAuditRecord(writer, plannerGoalListAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerGoalListAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerGoalListAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerPlanAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerPlanAuditRecord(writer, plannerPlanAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerPlanAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerPlanAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerPlanListAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerPlanListAuditRecord(writer, plannerPlanListAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerPlanListAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerPlanListAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerPlanSensitivityLabelAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerPlanSensitivityLabelAuditRecord(writer, plannerPlanSensitivityLabelAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerPlanSensitivityLabelAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerPlanSensitivityLabelAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerRosterAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerRosterAuditRecord(writer, plannerRosterAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerRosterAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerRosterAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerRosterSensitivityLabelAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerRosterSensitivityLabelAuditRecord(writer, plannerRosterSensitivityLabelAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerRosterSensitivityLabelAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerRosterSensitivityLabelAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerTaskAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerTaskAuditRecord(writer, plannerTaskAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerTaskAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerTaskAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerTaskListAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerTaskListAuditRecord(writer, plannerTaskListAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerTaskListAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerTaskListAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PlannerTenantSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePlannerTenantSettingsAuditRecord(writer, plannerTenantSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!plannerTenantSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, plannerTenantSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyBase The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicyBase(writer, policyBase = {}, isSerializingDerivedType = false) {
    if (!policyBase || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, policyBase, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", policyBase.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", policyBase.createdDateTime);
    writer.writeStringValue("description", policyBase.description);
    writer.writeStringValue("displayName", policyBase.displayName);
    writer.writeObjectValue("lastModifiedBy", policyBase.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", policyBase.lastModifiedDateTime);
    writer.writeEnumValue("status", policyBase.status);
    switch (policyBase.odataType) {
        case "#microsoft.graph.security.ediscoveryHoldPolicy":
            serializeEdiscoveryHoldPolicy(writer, policyBase, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyConfigChangeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePolicyConfigChangeAuditRecord(writer, policyConfigChangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!policyConfigChangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, policyConfigChangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerAppsAuditAppRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerAppsAuditAppRecord(writer, powerAppsAuditAppRecord = {}, isSerializingDerivedType = false) {
    if (!powerAppsAuditAppRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerAppsAuditAppRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerAppsAuditPlanRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerAppsAuditPlanRecord(writer, powerAppsAuditPlanRecord = {}, isSerializingDerivedType = false) {
    if (!powerAppsAuditPlanRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerAppsAuditPlanRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerAppsAuditResourceRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerAppsAuditResourceRecord(writer, powerAppsAuditResourceRecord = {}, isSerializingDerivedType = false) {
    if (!powerAppsAuditResourceRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerAppsAuditResourceRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerBIAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerBIAuditRecord(writer, powerBIAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerBIAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerBIAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerBIDlpAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerBIDlpAuditRecord(writer, powerBIDlpAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerBIDlpAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerBIDlpAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPagesSiteAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPagesSiteAuditRecord(writer, powerPagesSiteAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPagesSiteAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPagesSiteAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformAdminDlpAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformAdminDlpAuditRecord(writer, powerPlatformAdminDlpAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformAdminDlpAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformAdminDlpAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformAdminEnvironmentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformAdminEnvironmentAuditRecord(writer, powerPlatformAdminEnvironmentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformAdminEnvironmentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformAdminEnvironmentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformAdministratorActivityRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformAdministratorActivityRecord(writer, powerPlatformAdministratorActivityRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformAdministratorActivityRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformAdministratorActivityRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformLockboxResourceAccessRequestAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformLockboxResourceAccessRequestAuditRecord(writer, powerPlatformLockboxResourceAccessRequestAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformLockboxResourceAccessRequestAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformLockboxResourceAccessRequestAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformLockboxResourceCommandAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformLockboxResourceCommandAuditRecord(writer, powerPlatformLockboxResourceCommandAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformLockboxResourceCommandAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformLockboxResourceCommandAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformServiceActivityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformServiceActivityAuditRecord(writer, powerPlatformServiceActivityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformServiceActivityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformServiceActivityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PowerPlatformTenantIsolationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePowerPlatformTenantIsolationRecord(writer, powerPlatformTenantIsolationRecord = {}, isSerializingDerivedType = false) {
    if (!powerPlatformTenantIsolationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, powerPlatformTenantIsolationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyDataMatchAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyDataMatchAuditRecord(writer, privacyDataMatchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!privacyDataMatchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyDataMatchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyDataMinimizationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyDataMinimizationRecord(writer, privacyDataMinimizationRecord = {}, isSerializingDerivedType = false) {
    if (!privacyDataMinimizationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyDataMinimizationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyDigestEmailRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyDigestEmailRecord(writer, privacyDigestEmailRecord = {}, isSerializingDerivedType = false) {
    if (!privacyDigestEmailRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyDigestEmailRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyOpenAccessAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyOpenAccessAuditRecord(writer, privacyOpenAccessAuditRecord = {}, isSerializingDerivedType = false) {
    if (!privacyOpenAccessAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyOpenAccessAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyPortalAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyPortalAuditRecord(writer, privacyPortalAuditRecord = {}, isSerializingDerivedType = false) {
    if (!privacyPortalAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyPortalAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyRemediationActionRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyRemediationActionRecord(writer, privacyRemediationActionRecord = {}, isSerializingDerivedType = false) {
    if (!privacyRemediationActionRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyRemediationActionRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivacyRemediationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivacyRemediationRecord(writer, privacyRemediationRecord = {}, isSerializingDerivedType = false) {
    if (!privacyRemediationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privacyRemediationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivaPrivacyAssessmentOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivaPrivacyAssessmentOperationRecord(writer, privaPrivacyAssessmentOperationRecord = {}, isSerializingDerivedType = false) {
    if (!privaPrivacyAssessmentOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privaPrivacyAssessmentOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PrivaPrivacyConsentOperationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePrivaPrivacyConsentOperationRecord(writer, privaPrivacyConsentOperationRecord = {}, isSerializingDerivedType = false) {
    if (!privaPrivacyConsentOperationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, privaPrivacyConsentOperationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProcessEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProcessEntityMapping(writer, processEntityMapping = {}, isSerializingDerivedType = false) {
    if (!processEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, processEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("sha1Column", processEntityMapping.sha1Column);
    writer.writeStringValue("sha256Column", processEntityMapping.sha256Column);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProcessEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProcessEvidence(writer, processEvidence = {}, isSerializingDerivedType = false) {
    if (!processEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, processEvidence, isSerializingDerivedType);
    writer.writeEnumValue("detectionStatus", processEvidence.detectionStatus);
    writer.writeObjectValue("imageFile", processEvidence.imageFile, serializeFileDetails);
    writer.writeStringValue("mdeDeviceId", processEvidence.mdeDeviceId);
    writer.writeDateValue("parentProcessCreationDateTime", processEvidence.parentProcessCreationDateTime);
    writer.writeNumberValue("parentProcessId", processEvidence.parentProcessId);
    writer.writeObjectValue("parentProcessImageFile", processEvidence.parentProcessImageFile, serializeFileDetails);
    writer.writeStringValue("processCommandLine", processEvidence.processCommandLine);
    writer.writeDateValue("processCreationDateTime", processEvidence.processCreationDateTime);
    writer.writeNumberValue("processId", processEvidence.processId);
    writer.writeObjectValue("userAccount", processEvidence.userAccount, serializeUserAccount);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectAuditRecord(writer, projectAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebAssignedToMeSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebAssignedToMeSettingsAuditRecord(writer, projectForTheWebAssignedToMeSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebAssignedToMeSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebAssignedToMeSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebProjectAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebProjectAuditRecord(writer, projectForTheWebProjectAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebProjectAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebProjectAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebProjectSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebProjectSettingsAuditRecord(writer, projectForTheWebProjectSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebProjectSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebProjectSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebRoadmapAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebRoadmapAuditRecord(writer, projectForTheWebRoadmapAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebRoadmapAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebRoadmapAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebRoadmapItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebRoadmapItemAuditRecord(writer, projectForTheWebRoadmapItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebRoadmapItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebRoadmapItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebRoadmapSettingsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebRoadmapSettingsAuditRecord(writer, projectForTheWebRoadmapSettingsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebRoadmapSettingsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebRoadmapSettingsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProjectForTheWebTaskAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProjectForTheWebTaskAuditRecord(writer, projectForTheWebTaskAuditRecord = {}, isSerializingDerivedType = false) {
    if (!projectForTheWebTaskAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, projectForTheWebTaskAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProtectAdhocAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProtectAdhocAction(writer, protectAdhocAction = {}, isSerializingDerivedType = false) {
    if (!protectAdhocAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, protectAdhocAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProtectByTemplateAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProtectByTemplateAction(writer, protectByTemplateAction = {}, isSerializingDerivedType = false) {
    if (!protectByTemplateAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, protectByTemplateAction, isSerializingDerivedType);
    writer.writeStringValue("templateId", protectByTemplateAction.templateId);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProtectDoNotForwardAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProtectDoNotForwardAction(writer, protectDoNotForwardAction = {}, isSerializingDerivedType = false) {
    if (!protectDoNotForwardAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, protectDoNotForwardAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PublicFolderAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePublicFolderAuditRecord(writer, publicFolderAuditRecord = {}, isSerializingDerivedType = false) {
    if (!publicFolderAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, publicFolderAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PurviewInsiderRiskAlertsRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePurviewInsiderRiskAlertsRecord(writer, purviewInsiderRiskAlertsRecord = {}, isSerializingDerivedType = false) {
    if (!purviewInsiderRiskAlertsRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, purviewInsiderRiskAlertsRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PurviewInsiderRiskCasesRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePurviewInsiderRiskCasesRecord(writer, purviewInsiderRiskCasesRecord = {}, isSerializingDerivedType = false) {
    if (!purviewInsiderRiskCasesRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, purviewInsiderRiskCasesRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PurviewMCRecommendationRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePurviewMCRecommendationRecord(writer, purviewMCRecommendationRecord = {}, isSerializingDerivedType = false) {
    if (!purviewMCRecommendationRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, purviewMCRecommendationRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PurviewPostureAgentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePurviewPostureAgentAuditRecord(writer, purviewPostureAgentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!purviewPostureAgentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, purviewPostureAgentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QuarantineAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQuarantineAuditRecord(writer, quarantineAuditRecord = {}, isSerializingDerivedType = false) {
    if (!quarantineAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, quarantineAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param QueryCondition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeQueryCondition(writer, queryCondition = {}, isSerializingDerivedType = false) {
    if (!queryCondition || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("lastModifiedDateTime", queryCondition.lastModifiedDateTime);
    writer.writeStringValue("@odata.type", queryCondition.odataType);
    writer.writeStringValue("queryText", queryCondition.queryText);
    writer.writeAdditionalData(queryCondition.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecommendedHuntingQuery The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecommendedHuntingQuery(writer, recommendedHuntingQuery = {}, isSerializingDerivedType = false) {
    if (!recommendedHuntingQuery || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("kqlText", recommendedHuntingQuery.kqlText);
    writer.writeStringValue("@odata.type", recommendedHuntingQuery.odataType);
    writer.writeAdditionalData(recommendedHuntingQuery.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecommendLabelAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecommendLabelAction(writer, recommendLabelAction = {}, isSerializingDerivedType = false) {
    if (!recommendLabelAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, recommendLabelAction, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("actions", recommendLabelAction.actions, serializeInformationProtectionAction);
    writer.writeEnumValue("actionSource", recommendLabelAction.actionSource);
    writer.writeCollectionOfPrimitiveValues("responsibleSensitiveTypeIds", recommendLabelAction.responsibleSensitiveTypeIds);
    writer.writeStringValue("sensitivityLabelId", recommendLabelAction.sensitivityLabelId);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RecordsManagementAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRecordsManagementAuditRecord(writer, recordsManagementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!recordsManagementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, recordsManagementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RedundancyDetectionSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRedundancyDetectionSettings(writer, redundancyDetectionSettings = {}, isSerializingDerivedType = false) {
    if (!redundancyDetectionSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("isEnabled", redundancyDetectionSettings.isEnabled);
    writer.writeNumberValue("maxWords", redundancyDetectionSettings.maxWords);
    writer.writeNumberValue("minWords", redundancyDetectionSettings.minWords);
    writer.writeStringValue("@odata.type", redundancyDetectionSettings.odataType);
    writer.writeNumberValue("similarityThreshold", redundancyDetectionSettings.similarityThreshold);
    writer.writeAdditionalData(redundancyDetectionSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RegistryKeyEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRegistryKeyEvidence(writer, registryKeyEvidence = {}, isSerializingDerivedType = false) {
    if (!registryKeyEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, registryKeyEvidence, isSerializingDerivedType);
    writer.writeStringValue("registryHive", registryKeyEvidence.registryHive);
    writer.writeStringValue("registryKey", registryKeyEvidence.registryKey);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RegistryValueEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRegistryValueEntityMapping(writer, registryValueEntityMapping = {}, isSerializingDerivedType = false) {
    if (!registryValueEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, registryValueEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("keyColumn", registryValueEntityMapping.keyColumn);
    writer.writeStringValue("valueNameColumn", registryValueEntityMapping.valueNameColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RegistryValueEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRegistryValueEvidence(writer, registryValueEvidence = {}, isSerializingDerivedType = false) {
    if (!registryValueEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, registryValueEvidence, isSerializingDerivedType);
    writer.writeStringValue("mdeDeviceId", registryValueEvidence.mdeDeviceId);
    writer.writeStringValue("registryHive", registryValueEvidence.registryHive);
    writer.writeStringValue("registryKey", registryValueEvidence.registryKey);
    writer.writeStringValue("registryValue", registryValueEvidence.registryValue);
    writer.writeStringValue("registryValueName", registryValueEvidence.registryValueName);
    writer.writeStringValue("registryValueType", registryValueEvidence.registryValueType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemoveContentFooterAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemoveContentFooterAction(writer, removeContentFooterAction = {}, isSerializingDerivedType = false) {
    if (!removeContentFooterAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, removeContentFooterAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("uiElementNames", removeContentFooterAction.uiElementNames);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemoveContentHeaderAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemoveContentHeaderAction(writer, removeContentHeaderAction = {}, isSerializingDerivedType = false) {
    if (!removeContentHeaderAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, removeContentHeaderAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("uiElementNames", removeContentHeaderAction.uiElementNames);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemoveProtectionAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemoveProtectionAction(writer, removeProtectionAction = {}, isSerializingDerivedType = false) {
    if (!removeProtectionAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, removeProtectionAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemoveWatermarkAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemoveWatermarkAction(writer, removeWatermarkAction = {}, isSerializingDerivedType = false) {
    if (!removeWatermarkAction || isSerializingDerivedType) {
        return;
    }
    serializeInformationProtectionAction(writer, removeWatermarkAction, isSerializingDerivedType);
    writer.writeCollectionOfPrimitiveValues("uiElementNames", removeWatermarkAction.uiElementNames);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReportFileMetadata The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReportFileMetadata(writer, reportFileMetadata = {}, isSerializingDerivedType = false) {
    if (!reportFileMetadata || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("downloadUrl", reportFileMetadata.downloadUrl);
    writer.writeStringValue("fileName", reportFileMetadata.fileName);
    writer.writeStringValue("@odata.type", reportFileMetadata.odataType);
    writer.writeNumberValue("size", reportFileMetadata.size);
    writer.writeAdditionalData(reportFileMetadata.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReportSubmission The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReportSubmission(writer, reportSubmission = {}, isSerializingDerivedType = false) {
    if (!reportSubmission || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, reportSubmission, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReportSubmissionResultDetail The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReportSubmissionResultDetail(writer, reportSubmissionResultDetail = {}, isSerializingDerivedType = false) {
    if (!reportSubmissionResultDetail || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, reportSubmissionResultDetail, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RequireSignInIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRequireSignInIncidentTaskResponseAction(writer, requireSignInIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!requireSignInIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, requireSignInIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ResourceAccessEvent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeResourceAccessEvent(writer, resourceAccessEvent = {}, isSerializingDerivedType = false) {
    if (!resourceAccessEvent || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("accessDateTime", resourceAccessEvent.accessDateTime);
    writer.writeStringValue("accountId", resourceAccessEvent.accountId);
    writer.writeStringValue("ipAddress", resourceAccessEvent.ipAddress);
    writer.writeStringValue("@odata.type", resourceAccessEvent.odataType);
    writer.writeStringValue("resourceIdentifier", resourceAccessEvent.resourceIdentifier);
    writer.writeAdditionalData(resourceAccessEvent.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeResponseAction(writer, responseAction = {}, isSerializingDerivedType = false) {
    if (!responseAction || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", responseAction.odataType);
    writer.writeAdditionalData(responseAction.additionalData);
    switch (responseAction.odataType) {
        case "#microsoft.graph.security.allowFileResponseAction":
            serializeAllowFileResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.blockFileResponseAction":
            serializeBlockFileResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.collectInvestigationPackageIncidentTaskResponseAction":
            serializeCollectInvestigationPackageIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.collectInvestigationPackageResponseAction":
            serializeCollectInvestigationPackageResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.disableUserIncidentTaskResponseAction":
            serializeDisableUserIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.disableUserResponseAction":
            serializeDisableUserResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.enableUserIncidentTaskResponseAction":
            serializeEnableUserIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.forceUserPasswordResetIncidentTaskResponseAction":
            serializeForceUserPasswordResetIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.forceUserPasswordResetResponseAction":
            serializeForceUserPasswordResetResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.hardDeleteEmailIncidentTaskResponseAction":
            serializeHardDeleteEmailIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.hardDeleteResponseAction":
            serializeHardDeleteResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.incidentTaskResponseAction":
            serializeIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.initiateInvestigationResponseAction":
            serializeInitiateInvestigationResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.isolateDeviceIncidentTaskResponseAction":
            serializeIsolateDeviceIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.isolateDeviceResponseAction":
            serializeIsolateDeviceResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.markUserAsCompromisedIncidentTaskResponseAction":
            serializeMarkUserAsCompromisedIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.markUserAsCompromisedResponseAction":
            serializeMarkUserAsCompromisedResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.moveToDeletedItemsResponseAction":
            serializeMoveToDeletedItemsResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.moveToInboxResponseAction":
            serializeMoveToInboxResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.moveToJunkResponseAction":
            serializeMoveToJunkResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.requireSignInIncidentTaskResponseAction":
            serializeRequireSignInIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.restrictAppExecutionIncidentTaskResponseAction":
            serializeRestrictAppExecutionIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.restrictAppExecutionResponseAction":
            serializeRestrictAppExecutionResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.runAntivirusScanIncidentTaskResponseAction":
            serializeRunAntivirusScanIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.runAntivirusScanResponseAction":
            serializeRunAntivirusScanResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.softDeleteIncidentTaskResponseAction":
            serializeSoftDeleteIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.softDeleteResponseAction":
            serializeSoftDeleteResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.stopAndQuarantineFileIncidentTaskResponseAction":
            serializeStopAndQuarantineFileIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.stopAndQuarantineFileResponseAction":
            serializeStopAndQuarantineFileResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.unIsolateDeviceIncidentTaskResponseAction":
            serializeUnIsolateDeviceIncidentTaskResponseAction(writer, responseAction, true);
            break;
        case "#microsoft.graph.security.unRestrictAppExecutionIncidentTaskResponseAction":
            serializeUnRestrictAppExecutionIncidentTaskResponseAction(writer, responseAction, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RestrictAppExecutionIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRestrictAppExecutionIncidentTaskResponseAction(writer, restrictAppExecutionIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!restrictAppExecutionIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, restrictAppExecutionIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RestrictAppExecutionResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRestrictAppExecutionResponseAction(writer, restrictAppExecutionResponseAction = {}, isSerializingDerivedType = false) {
    if (!restrictAppExecutionResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, restrictAppExecutionResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", restrictAppExecutionResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RestrictedModeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRestrictedModeAuditRecord(writer, restrictedModeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!restrictedModeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, restrictedModeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionDuration The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionDuration(writer, retentionDuration = {}, isSerializingDerivedType = false) {
    if (!retentionDuration || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", retentionDuration.odataType);
    writer.writeAdditionalData(retentionDuration.additionalData);
    switch (retentionDuration.odataType) {
        case "#microsoft.graph.security.retentionDurationForever":
            serializeRetentionDurationForever(writer, retentionDuration, true);
            break;
        case "#microsoft.graph.security.retentionDurationInDays":
            serializeRetentionDurationInDays(writer, retentionDuration, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionDurationForever The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionDurationForever(writer, retentionDurationForever = {}, isSerializingDerivedType = false) {
    if (!retentionDurationForever || isSerializingDerivedType) {
        return;
    }
    serializeRetentionDuration(writer, retentionDurationForever, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionDurationInDays The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionDurationInDays(writer, retentionDurationInDays = {}, isSerializingDerivedType = false) {
    if (!retentionDurationInDays || isSerializingDerivedType) {
        return;
    }
    serializeRetentionDuration(writer, retentionDurationInDays, isSerializingDerivedType);
    writer.writeNumberValue("days", retentionDurationInDays.days);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionEvent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionEvent(writer, retentionEvent = {}, isSerializingDerivedType = false) {
    if (!retentionEvent || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, retentionEvent, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", retentionEvent.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", retentionEvent.createdDateTime);
    writer.writeStringValue("description", retentionEvent.description);
    writer.writeStringValue("displayName", retentionEvent.displayName);
    writer.writeCollectionOfObjectValues("eventPropagationResults", retentionEvent.eventPropagationResults, serializeEventPropagationResult);
    writer.writeCollectionOfObjectValues("eventQueries", retentionEvent.eventQueries, serializeEventQuery);
    writer.writeObjectValue("eventStatus", retentionEvent.eventStatus, serializeRetentionEventStatus);
    writer.writeDateValue("eventTriggerDateTime", retentionEvent.eventTriggerDateTime);
    writer.writeObjectValue("lastModifiedBy", retentionEvent.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", retentionEvent.lastModifiedDateTime);
    writer.writeDateValue("lastStatusUpdateDateTime", retentionEvent.lastStatusUpdateDateTime);
    writer.writeObjectValue("retentionEventType", retentionEvent.retentionEventType, serializeRetentionEventType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionEventCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionEventCollectionResponse(writer, retentionEventCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!retentionEventCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, retentionEventCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", retentionEventCollectionResponse.value, serializeRetentionEvent);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionEventStatus The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionEventStatus(writer, retentionEventStatus = {}, isSerializingDerivedType = false) {
    if (!retentionEventStatus || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("error", retentionEventStatus.errorEscaped, serializePublicError);
    writer.writeStringValue("@odata.type", retentionEventStatus.odataType);
    writer.writeEnumValue("status", retentionEventStatus.status);
    writer.writeAdditionalData(retentionEventStatus.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionEventType The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionEventType(writer, retentionEventType = {}, isSerializingDerivedType = false) {
    if (!retentionEventType || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, retentionEventType, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", retentionEventType.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", retentionEventType.createdDateTime);
    writer.writeStringValue("description", retentionEventType.description);
    writer.writeStringValue("displayName", retentionEventType.displayName);
    writer.writeObjectValue("lastModifiedBy", retentionEventType.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", retentionEventType.lastModifiedDateTime);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionEventTypeCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionEventTypeCollectionResponse(writer, retentionEventTypeCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!retentionEventTypeCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, retentionEventTypeCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", retentionEventTypeCollectionResponse.value, serializeRetentionEventType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionLabel The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionLabel(writer, retentionLabel = {}, isSerializingDerivedType = false) {
    if (!retentionLabel || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, retentionLabel, isSerializingDerivedType);
    writer.writeEnumValue("actionAfterRetentionPeriod", retentionLabel.actionAfterRetentionPeriod);
    writer.writeEnumValue("behaviorDuringRetentionPeriod", retentionLabel.behaviorDuringRetentionPeriod);
    writer.writeObjectValue("createdBy", retentionLabel.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", retentionLabel.createdDateTime);
    writer.writeEnumValue("defaultRecordBehavior", retentionLabel.defaultRecordBehavior);
    writer.writeStringValue("descriptionForAdmins", retentionLabel.descriptionForAdmins);
    writer.writeStringValue("descriptionForUsers", retentionLabel.descriptionForUsers);
    writer.writeObjectValue("descriptors", retentionLabel.descriptors, serializeFilePlanDescriptor);
    writer.writeStringValue("displayName", retentionLabel.displayName);
    writer.writeCollectionOfObjectValues("dispositionReviewStages", retentionLabel.dispositionReviewStages, serializeDispositionReviewStage);
    writer.writeBooleanValue("isInUse", retentionLabel.isInUse);
    writer.writeStringValue("labelToBeApplied", retentionLabel.labelToBeApplied);
    writer.writeObjectValue("lastModifiedBy", retentionLabel.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", retentionLabel.lastModifiedDateTime);
    writer.writeObjectValue("retentionDuration", retentionLabel.retentionDuration, serializeRetentionDuration);
    writer.writeObjectValue("retentionEventType", retentionLabel.retentionEventType, serializeRetentionEventType);
    writer.writeEnumValue("retentionTrigger", retentionLabel.retentionTrigger);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionLabelCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionLabelCollectionResponse(writer, retentionLabelCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!retentionLabelCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, retentionLabelCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", retentionLabelCollectionResponse.value, serializeRetentionLabel);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RetentionPolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRetentionPolicyAuditRecord(writer, retentionPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!retentionPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, retentionPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RtiOperationsAgentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRtiOperationsAgentAuditRecord(writer, rtiOperationsAgentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!rtiOperationsAgentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, rtiOperationsAgentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RuleSchedule The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRuleSchedule(writer, ruleSchedule = {}, isSerializingDerivedType = false) {
    if (!ruleSchedule || isSerializingDerivedType) {
        return;
    }
    writer.writeDurationValue("frequency", ruleSchedule.frequency);
    writer.writeDateValue("nextRunDateTime", ruleSchedule.nextRunDateTime);
    writer.writeStringValue("@odata.type", ruleSchedule.odataType);
    writer.writeStringValue("period", ruleSchedule.period);
    writer.writeAdditionalData(ruleSchedule.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RulesRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRulesRoot(writer, rulesRoot = {}, isSerializingDerivedType = false) {
    if (!rulesRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, rulesRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("detectionRules", rulesRoot.detectionRules, serializeDetectionRule);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RunAntivirusScanIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRunAntivirusScanIncidentTaskResponseAction(writer, runAntivirusScanIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!runAntivirusScanIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, runAntivirusScanIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RunAntivirusScanResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRunAntivirusScanResponseAction(writer, runAntivirusScanResponseAction = {}, isSerializingDerivedType = false) {
    if (!runAntivirusScanResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, runAntivirusScanResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", runAntivirusScanResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RunDetails The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRunDetails(writer, runDetails = {}, isSerializingDerivedType = false) {
    if (!runDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("errorCode", runDetails.errorCode);
    writer.writeStringValue("failureReason", runDetails.failureReason);
    writer.writeDateValue("lastRunDateTime", runDetails.lastRunDateTime);
    writer.writeStringValue("@odata.type", runDetails.odataType);
    writer.writeEnumValue("status", runDetails.status);
    writer.writeAdditionalData(runDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SasTokenEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSasTokenEvidence(writer, sasTokenEvidence = {}, isSerializingDerivedType = false) {
    if (!sasTokenEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, sasTokenEvidence, isSerializingDerivedType);
    writer.writeStringValue("allowedIpAddresses", sasTokenEvidence.allowedIpAddresses);
    writer.writeCollectionOfPrimitiveValues("allowedResourceTypes", sasTokenEvidence.allowedResourceTypes);
    writer.writeCollectionOfPrimitiveValues("allowedServices", sasTokenEvidence.allowedServices);
    writer.writeDateValue("expiryDateTime", sasTokenEvidence.expiryDateTime);
    writer.writeCollectionOfPrimitiveValues("permissions", sasTokenEvidence.permissions);
    writer.writeStringValue("protocol", sasTokenEvidence.protocol);
    writer.writeStringValue("signatureHash", sasTokenEvidence.signatureHash);
    writer.writeStringValue("signedWith", sasTokenEvidence.signedWith);
    writer.writeDateValue("startDateTime", sasTokenEvidence.startDateTime);
    writer.writeObjectValue("storageResource", sasTokenEvidence.storageResource, serializeAzureResourceEvidence);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SbpConfigurationEventRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSbpConfigurationEventRecord(writer, sbpConfigurationEventRecord = {}, isSerializingDerivedType = false) {
    if (!sbpConfigurationEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sbpConfigurationEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SbpUsageEventRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSbpUsageEventRecord(writer, sbpUsageEventRecord = {}, isSerializingDerivedType = false) {
    if (!sbpUsageEventRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sbpUsageEventRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ScoreEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeScoreEvidence(writer, scoreEvidence = {}, isSerializingDerivedType = false) {
    if (!scoreEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, scoreEvidence, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ScorePlatformGenericAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeScorePlatformGenericAuditRecord(writer, scorePlatformGenericAuditRecord = {}, isSerializingDerivedType = false) {
    if (!scorePlatformGenericAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, scorePlatformGenericAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ScriptRunAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeScriptRunAuditRecord(writer, scriptRunAuditRecord = {}, isSerializingDerivedType = false) {
    if (!scriptRunAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, scriptRunAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Search The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSearch(writer, search = {}, isSerializingDerivedType = false) {
    if (!search || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, search, isSerializingDerivedType);
    writer.writeStringValue("contentQuery", search.contentQuery);
    writer.writeObjectValue("createdBy", search.createdBy, serializeIdentitySet);
    writer.writeDateValue("createdDateTime", search.createdDateTime);
    writer.writeStringValue("description", search.description);
    writer.writeStringValue("displayName", search.displayName);
    writer.writeObjectValue("lastModifiedBy", search.lastModifiedBy, serializeIdentitySet);
    writer.writeDateValue("lastModifiedDateTime", search.lastModifiedDateTime);
    switch (search.odataType) {
        case "#microsoft.graph.security.ediscoveryReviewSetQuery":
            serializeEdiscoveryReviewSetQuery(writer, search, true);
            break;
        case "#microsoft.graph.security.ediscoverySearch":
            serializeEdiscoverySearch(writer, search, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SearchAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSearchAuditRecord(writer, searchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!searchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, searchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Security The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurity(writer, security = {}, isSerializingDerivedType = false) {
    if (!security || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, security, isSerializingDerivedType);
    writer.writeObjectValue("informationProtection", security.informationProtection, serializeInformationProtection);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityComplianceAlertRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityComplianceAlertRecord(writer, securityComplianceAlertRecord = {}, isSerializingDerivedType = false) {
    if (!securityComplianceAlertRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityComplianceAlertRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityComplianceCenterEOPCmdletAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityComplianceCenterEOPCmdletAuditRecord(writer, securityComplianceCenterEOPCmdletAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityComplianceCenterEOPCmdletAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityComplianceCenterEOPCmdletAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityComplianceInsightsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityComplianceInsightsAuditRecord(writer, securityComplianceInsightsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityComplianceInsightsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityComplianceInsightsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityComplianceRBACAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityComplianceRBACAuditRecord(writer, securityComplianceRBACAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityComplianceRBACAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityComplianceRBACAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityComplianceUserChangeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityComplianceUserChangeAuditRecord(writer, securityComplianceUserChangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityComplianceUserChangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityComplianceUserChangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityCopilotIdentityManagementAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityCopilotIdentityManagementAuditRecord(writer, securityCopilotIdentityManagementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityCopilotIdentityManagementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityCopilotIdentityManagementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityDevelopmentLifecycleAILogAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityDevelopmentLifecycleAILogAuditRecord(writer, securityDevelopmentLifecycleAILogAuditRecord = {}, isSerializingDerivedType = false) {
    if (!securityDevelopmentLifecycleAILogAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, securityDevelopmentLifecycleAILogAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityGroupEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityGroupEntityMapping(writer, securityGroupEntityMapping = {}, isSerializingDerivedType = false) {
    if (!securityGroupEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, securityGroupEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("distinguishedNameColumn", securityGroupEntityMapping.distinguishedNameColumn);
    writer.writeStringValue("objectIdColumn", securityGroupEntityMapping.objectIdColumn);
    writer.writeStringValue("sidColumn", securityGroupEntityMapping.sidColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityGroupEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityGroupEvidence(writer, securityGroupEvidence = {}, isSerializingDerivedType = false) {
    if (!securityGroupEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, securityGroupEvidence, isSerializingDerivedType);
    writer.writeGuidValue("activeDirectoryObjectGuid", securityGroupEvidence.activeDirectoryObjectGuid);
    writer.writeStringValue("displayName", securityGroupEvidence.displayName);
    writer.writeStringValue("distinguishedName", securityGroupEvidence.distinguishedName);
    writer.writeStringValue("friendlyName", securityGroupEvidence.friendlyName);
    writer.writeStringValue("securityGroupId", securityGroupEvidence.securityGroupId);
    writer.writeStringValue("sid", securityGroupEvidence.sid);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitiveInfoRemediationAgentDataRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitiveInfoRemediationAgentDataRecord(writer, sensitiveInfoRemediationAgentDataRecord = {}, isSerializingDerivedType = false) {
    if (!sensitiveInfoRemediationAgentDataRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sensitiveInfoRemediationAgentDataRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitivityLabel The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitivityLabel(writer, sensitivityLabel = {}, isSerializingDerivedType = false) {
    if (!sensitivityLabel || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sensitivityLabel, isSerializingDerivedType);
    writer.writeStringValue("color", sensitivityLabel.color);
    writer.writeCollectionOfPrimitiveValues("contentFormats", sensitivityLabel.contentFormats);
    writer.writeStringValue("description", sensitivityLabel.description);
    writer.writeBooleanValue("hasProtection", sensitivityLabel.hasProtection);
    writer.writeBooleanValue("isActive", sensitivityLabel.isActive);
    writer.writeBooleanValue("isAppliable", sensitivityLabel.isAppliable);
    writer.writeStringValue("name", sensitivityLabel.name);
    writer.writeObjectValue("parent", sensitivityLabel.parent, serializeSensitivityLabel);
    writer.writeNumberValue("sensitivity", sensitivityLabel.sensitivity);
    writer.writeStringValue("tooltip", sensitivityLabel.tooltip);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitivityLabelActionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitivityLabelActionAuditRecord(writer, sensitivityLabelActionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sensitivityLabelActionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sensitivityLabelActionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitivityLabelCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitivityLabelCollectionResponse(writer, sensitivityLabelCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sensitivityLabelCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sensitivityLabelCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sensitivityLabelCollectionResponse.value, serializeSensitivityLabel);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitivityLabeledFileActionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitivityLabeledFileActionAuditRecord(writer, sensitivityLabeledFileActionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sensitivityLabeledFileActionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sensitivityLabeledFileActionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitivityLabelPolicyMatchAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitivityLabelPolicyMatchAuditRecord(writer, sensitivityLabelPolicyMatchAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sensitivityLabelPolicyMatchAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sensitivityLabelPolicyMatchAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Sensor The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensor(writer, sensor = {}, isSerializingDerivedType = false) {
    if (!sensor || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sensor, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", sensor.createdDateTime);
    writer.writeEnumValue("deploymentStatus", sensor.deploymentStatus);
    writer.writeStringValue("displayName", sensor.displayName);
    writer.writeStringValue("domainName", sensor.domainName);
    writer.writeCollectionOfObjectValues("healthIssues", sensor.healthIssues, serializeHealthIssue);
    writer.writeEnumValue("healthStatus", sensor.healthStatus);
    writer.writeEnumValue("migrationState", sensor.migrationState);
    writer.writeNumberValue("openHealthIssuesCount", sensor.openHealthIssuesCount);
    writer.writeEnumValue("sensorType", sensor.sensorType);
    writer.writeEnumValue("serviceStatus", sensor.serviceStatus);
    writer.writeObjectValue("settings", sensor.settings, serializeSensorSettings);
    writer.writeStringValue("version", sensor.version);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorCandidate The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorCandidate(writer, sensorCandidate = {}, isSerializingDerivedType = false) {
    if (!sensorCandidate || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sensorCandidate, isSerializingDerivedType);
    writer.writeStringValue("computerDnsName", sensorCandidate.computerDnsName);
    writer.writeStringValue("domainName", sensorCandidate.domainName);
    writer.writeDateValue("lastSeenDateTime", sensorCandidate.lastSeenDateTime);
    writer.writeStringValue("senseClientVersion", sensorCandidate.senseClientVersion);
    if (sensorCandidate.sensorTypes)
        writer.writeCollectionOfEnumValues("sensorTypes", sensorCandidate.sensorTypes);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorCandidateActivationConfiguration The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorCandidateActivationConfiguration(writer, sensorCandidateActivationConfiguration = {}, isSerializingDerivedType = false) {
    if (!sensorCandidateActivationConfiguration || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sensorCandidateActivationConfiguration, isSerializingDerivedType);
    writer.writeEnumValue("activationMode", sensorCandidateActivationConfiguration.activationMode);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorCandidateCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorCandidateCollectionResponse(writer, sensorCandidateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sensorCandidateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sensorCandidateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sensorCandidateCollectionResponse.value, serializeSensorCandidate);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorCollectionResponse(writer, sensorCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sensorCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sensorCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sensorCollectionResponse.value, serializeSensor);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorDeploymentPackage The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorDeploymentPackage(writer, sensorDeploymentPackage = {}, isSerializingDerivedType = false) {
    if (!sensorDeploymentPackage || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("downloadUrl", sensorDeploymentPackage.downloadUrl);
    writer.writeStringValue("@odata.type", sensorDeploymentPackage.odataType);
    writer.writeStringValue("version", sensorDeploymentPackage.version);
    writer.writeAdditionalData(sensorDeploymentPackage.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorMigration The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorMigration(writer, sensorMigration = {}, isSerializingDerivedType = false) {
    if (!sensorMigration || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sensorMigration, isSerializingDerivedType);
    writer.writeDateValue("createdDateTime", sensorMigration.createdDateTime);
    writer.writeStringValue("displayName", sensorMigration.displayName);
    writer.writeStringValue("domainName", sensorMigration.domainName);
    writer.writeEnumValue("healthStatus", sensorMigration.healthStatus);
    writer.writeEnumValue("migrationState", sensorMigration.migrationState);
    writer.writeEnumValue("sensorType", sensorMigration.sensorType);
    writer.writeEnumValue("serviceStatus", sensorMigration.serviceStatus);
    writer.writeStringValue("version", sensorMigration.version);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorMigrationCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorMigrationCollectionResponse(writer, sensorMigrationCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sensorMigrationCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sensorMigrationCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sensorMigrationCollectionResponse.value, serializeSensorMigration);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensorSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensorSettings(writer, sensorSettings = {}, isSerializingDerivedType = false) {
    if (!sensorSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("description", sensorSettings.description);
    writer.writeCollectionOfPrimitiveValues("domainControllerDnsNames", sensorSettings.domainControllerDnsNames);
    writer.writeBooleanValue("isDelayedDeploymentEnabled", sensorSettings.isDelayedDeploymentEnabled);
    writer.writeCollectionOfObjectValues("networkAdapters", sensorSettings.networkAdapters, serializeNetworkAdapter);
    writer.writeStringValue("@odata.type", sensorSettings.odataType);
    writer.writeAdditionalData(sensorSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelAIToolAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelAIToolAuditRecord(writer, sentinelAIToolAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelAIToolAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelAIToolAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelGraphAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelGraphAuditRecord(writer, sentinelGraphAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelGraphAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelGraphAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelJobAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelJobAuditRecord(writer, sentinelJobAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelJobAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelJobAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelKQLOnLakeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelKQLOnLakeAuditRecord(writer, sentinelKQLOnLakeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelKQLOnLakeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelKQLOnLakeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelLakeDataOnboardingAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelLakeDataOnboardingAuditRecord(writer, sentinelLakeDataOnboardingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelLakeDataOnboardingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelLakeDataOnboardingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelLakeEncryptionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelLakeEncryptionAuditRecord(writer, sentinelLakeEncryptionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelLakeEncryptionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelLakeEncryptionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelLakeOnboardingAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelLakeOnboardingAuditRecord(writer, sentinelLakeOnboardingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelLakeOnboardingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelLakeOnboardingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelNotebookOnLakeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelNotebookOnLakeAuditRecord(writer, sentinelNotebookOnLakeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelNotebookOnLakeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelNotebookOnLakeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SentinelPackageAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSentinelPackageAuditRecord(writer, sentinelPackageAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sentinelPackageAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sentinelPackageAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ServicePrincipalEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeServicePrincipalEvidence(writer, servicePrincipalEvidence = {}, isSerializingDerivedType = false) {
    if (!servicePrincipalEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, servicePrincipalEvidence, isSerializingDerivedType);
    writer.writeStringValue("appId", servicePrincipalEvidence.appId);
    writer.writeStringValue("appOwnerTenantId", servicePrincipalEvidence.appOwnerTenantId);
    writer.writeStringValue("servicePrincipalName", servicePrincipalEvidence.servicePrincipalName);
    writer.writeStringValue("servicePrincipalObjectId", servicePrincipalEvidence.servicePrincipalObjectId);
    writer.writeEnumValue("servicePrincipalType", servicePrincipalEvidence.servicePrincipalType);
    writer.writeStringValue("tenantId", servicePrincipalEvidence.tenantId);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SettingsContainer The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSettingsContainer(writer, settingsContainer = {}, isSerializingDerivedType = false) {
    if (!settingsContainer || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, settingsContainer, isSerializingDerivedType);
    writer.writeObjectValue("autoAuditingConfiguration", settingsContainer.autoAuditingConfiguration, serializeAutoAuditingConfiguration);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointAppPermissionOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointAppPermissionOperationAuditRecord(writer, sharePointAppPermissionOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointAppPermissionOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointAppPermissionOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointAuditRecord(writer, sharePointAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointCommentOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointCommentOperationAuditRecord(writer, sharePointCommentOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointCommentOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointCommentOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointContentSecurityPolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointContentSecurityPolicyAuditRecord(writer, sharePointContentSecurityPolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointContentSecurityPolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointContentSecurityPolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointContentTypeOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointContentTypeOperationAuditRecord(writer, sharePointContentTypeOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointContentTypeOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointContentTypeOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointESignatureAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointESignatureAuditRecord(writer, sharePointESignatureAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointESignatureAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointESignatureAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointFieldOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointFieldOperationAuditRecord(writer, sharePointFieldOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointFieldOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointFieldOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointFileOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointFileOperationAuditRecord(writer, sharePointFileOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointFileOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointFileOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointListItemOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointListItemOperationAuditRecord(writer, sharePointListItemOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointListItemOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointListItemOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointListOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointListOperationAuditRecord(writer, sharePointListOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointListOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointListOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointSharingOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointSharingOperationAuditRecord(writer, sharePointSharingOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sharePointSharingOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sharePointSharingOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SinglePropertySchema The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSinglePropertySchema(writer, singlePropertySchema = {}, isSerializingDerivedType = false) {
    if (!singlePropertySchema || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", singlePropertySchema.name);
    writer.writeStringValue("@odata.type", singlePropertySchema.odataType);
    writer.writeStringValue("type", singlePropertySchema.type);
    writer.writeAdditionalData(singlePropertySchema.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SiteSource The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSiteSource(writer, siteSource = {}, isSerializingDerivedType = false) {
    if (!siteSource || isSerializingDerivedType) {
        return;
    }
    serializeDataSource(writer, siteSource, isSerializingDerivedType);
    writer.writeObjectValue("site", siteSource.site, serializeSite);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SiteSourceCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSiteSourceCollectionResponse(writer, siteSourceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!siteSourceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, siteSourceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", siteSourceCollectionResponse.value, serializeSiteSource);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SkypeForBusinessCmdletsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSkypeForBusinessCmdletsAuditRecord(writer, skypeForBusinessCmdletsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!skypeForBusinessCmdletsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, skypeForBusinessCmdletsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SkypeForBusinessPSTNUsageAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSkypeForBusinessPSTNUsageAuditRecord(writer, skypeForBusinessPSTNUsageAuditRecord = {}, isSerializingDerivedType = false) {
    if (!skypeForBusinessPSTNUsageAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, skypeForBusinessPSTNUsageAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SkypeForBusinessUsersBlockedAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSkypeForBusinessUsersBlockedAuditRecord(writer, skypeForBusinessUsersBlockedAuditRecord = {}, isSerializingDerivedType = false) {
    if (!skypeForBusinessUsersBlockedAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, skypeForBusinessUsersBlockedAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SoftDeleteIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSoftDeleteIncidentTaskResponseAction(writer, softDeleteIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!softDeleteIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, softDeleteIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SoftDeleteResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSoftDeleteResponseAction(writer, softDeleteResponseAction = {}, isSerializingDerivedType = false) {
    if (!softDeleteResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, softDeleteResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", softDeleteResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SonarDetonationContentMetadata The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSonarDetonationContentMetadata(writer, sonarDetonationContentMetadata = {}, isSerializingDerivedType = false) {
    if (!sonarDetonationContentMetadata || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sonarDetonationContentMetadata, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SonarDetonationEntityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSonarDetonationEntityAuditRecord(writer, sonarDetonationEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sonarDetonationEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sonarDetonationEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SonarFileDetonationEntityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSonarFileDetonationEntityAuditRecord(writer, sonarFileDetonationEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sonarFileDetonationEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sonarFileDetonationEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SonarSubmissionEntityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSonarSubmissionEntityAuditRecord(writer, sonarSubmissionEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sonarSubmissionEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sonarSubmissionEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SonarUrlDetonationEntityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSonarUrlDetonationEntityAuditRecord(writer, sonarUrlDetonationEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!sonarUrlDetonationEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sonarUrlDetonationEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SparkCoreCustomLivePoolRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSparkCoreCustomLivePoolRecord(writer, sparkCoreCustomLivePoolRecord = {}, isSerializingDerivedType = false) {
    if (!sparkCoreCustomLivePoolRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, sparkCoreCustomLivePoolRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SslCertificate The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSslCertificate(writer, sslCertificate = {}, isSerializingDerivedType = false) {
    if (!sslCertificate || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, sslCertificate, isSerializingDerivedType);
    writer.writeDateValue("expirationDateTime", sslCertificate.expirationDateTime);
    writer.writeStringValue("fingerprint", sslCertificate.fingerprint);
    writer.writeDateValue("firstSeenDateTime", sslCertificate.firstSeenDateTime);
    writer.writeDateValue("issueDateTime", sslCertificate.issueDateTime);
    writer.writeObjectValue("issuer", sslCertificate.issuer, serializeSslCertificateEntity);
    writer.writeDateValue("lastSeenDateTime", sslCertificate.lastSeenDateTime);
    writer.writeCollectionOfObjectValues("relatedHosts", sslCertificate.relatedHosts, serializeHost);
    writer.writeStringValue("serialNumber", sslCertificate.serialNumber);
    writer.writeStringValue("sha1", sslCertificate.sha1);
    writer.writeObjectValue("subject", sslCertificate.subject, serializeSslCertificateEntity);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SslCertificateCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSslCertificateCollectionResponse(writer, sslCertificateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sslCertificateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sslCertificateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sslCertificateCollectionResponse.value, serializeSslCertificate);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SslCertificateEntity The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSslCertificateEntity(writer, sslCertificateEntity = {}, isSerializingDerivedType = false) {
    if (!sslCertificateEntity || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("address", sslCertificateEntity.address, serializePhysicalAddress);
    writer.writeCollectionOfPrimitiveValues("alternateNames", sslCertificateEntity.alternateNames);
    writer.writeStringValue("commonName", sslCertificateEntity.commonName);
    writer.writeStringValue("email", sslCertificateEntity.email);
    writer.writeStringValue("givenName", sslCertificateEntity.givenName);
    writer.writeStringValue("@odata.type", sslCertificateEntity.odataType);
    writer.writeStringValue("organizationName", sslCertificateEntity.organizationName);
    writer.writeStringValue("organizationUnitName", sslCertificateEntity.organizationUnitName);
    writer.writeStringValue("serialNumber", sslCertificateEntity.serialNumber);
    writer.writeStringValue("surname", sslCertificateEntity.surname);
    writer.writeAdditionalData(sslCertificateEntity.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StopAndQuarantineFileAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStopAndQuarantineFileAction(writer, stopAndQuarantineFileAction = {}, isSerializingDerivedType = false) {
    if (!stopAndQuarantineFileAction || isSerializingDerivedType) {
        return;
    }
    serializeAutomatedAction(writer, stopAndQuarantineFileAction, isSerializingDerivedType);
    writer.writeStringValue("deviceIdColumn", stopAndQuarantineFileAction.deviceIdColumn);
    writer.writeStringValue("sha1Column", stopAndQuarantineFileAction.sha1Column);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StopAndQuarantineFileIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStopAndQuarantineFileIncidentTaskResponseAction(writer, stopAndQuarantineFileIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!stopAndQuarantineFileIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, stopAndQuarantineFileIncidentTaskResponseAction, isSerializingDerivedType);
    writer.writeStringValue("deviceId", stopAndQuarantineFileIncidentTaskResponseAction.deviceId);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StopAndQuarantineFileResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStopAndQuarantineFileResponseAction(writer, stopAndQuarantineFileResponseAction = {}, isSerializingDerivedType = false) {
    if (!stopAndQuarantineFileResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeResponseAction(writer, stopAndQuarantineFileResponseAction, isSerializingDerivedType);
    writer.writeEnumValue("identifier", stopAndQuarantineFileResponseAction.identifier);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Stream The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStream(writer, stream = {}, isSerializingDerivedType = false) {
    if (!stream || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("name", stream.name);
    writer.writeStringValue("@odata.type", stream.odataType);
    writer.writeAdditionalData(stream.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param StringValueDictionary The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeStringValueDictionary(writer, stringValueDictionary = {}, isSerializingDerivedType = false) {
    if (!stringValueDictionary || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", stringValueDictionary.odataType);
    writer.writeAdditionalData(stringValueDictionary.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubcategoryTemplate The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubcategoryTemplate(writer, subcategoryTemplate = {}, isSerializingDerivedType = false) {
    if (!subcategoryTemplate || isSerializingDerivedType) {
        return;
    }
    serializeFilePlanDescriptorTemplate(writer, subcategoryTemplate, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubcategoryTemplateCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubcategoryTemplateCollectionResponse(writer, subcategoryTemplateCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!subcategoryTemplateCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, subcategoryTemplateCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", subcategoryTemplateCollectionResponse.value, serializeSubcategoryTemplate);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Subdomain The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubdomain(writer, subdomain = {}, isSerializingDerivedType = false) {
    if (!subdomain || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, subdomain, isSerializingDerivedType);
    writer.writeDateValue("firstSeenDateTime", subdomain.firstSeenDateTime);
    writer.writeObjectValue("host", subdomain.host, serializeHost);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubdomainCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubdomainCollectionResponse(writer, subdomainCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!subdomainCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, subdomainCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", subdomainCollectionResponse.value, serializeSubdomain);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionAdminReview The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionAdminReview(writer, submissionAdminReview = {}, isSerializingDerivedType = false) {
    if (!submissionAdminReview || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", submissionAdminReview.odataType);
    writer.writeStringValue("reviewBy", submissionAdminReview.reviewBy);
    writer.writeDateValue("reviewDateTime", submissionAdminReview.reviewDateTime);
    writer.writeEnumValue("reviewResult", submissionAdminReview.reviewResult);
    writer.writeAdditionalData(submissionAdminReview.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionDetectedFile The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionDetectedFile(writer, submissionDetectedFile = {}, isSerializingDerivedType = false) {
    if (!submissionDetectedFile || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("fileHash", submissionDetectedFile.fileHash);
    writer.writeStringValue("fileName", submissionDetectedFile.fileName);
    writer.writeStringValue("@odata.type", submissionDetectedFile.odataType);
    writer.writeAdditionalData(submissionDetectedFile.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionEntityAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionEntityAuditRecord(writer, submissionEntityAuditRecord = {}, isSerializingDerivedType = false) {
    if (!submissionEntityAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, submissionEntityAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionMailEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionMailEvidence(writer, submissionMailEvidence = {}, isSerializingDerivedType = false) {
    if (!submissionMailEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, submissionMailEvidence, isSerializingDerivedType);
    writer.writeStringValue("networkMessageId", submissionMailEvidence.networkMessageId);
    writer.writeStringValue("recipient", submissionMailEvidence.recipient);
    writer.writeStringValue("reportType", submissionMailEvidence.reportType);
    writer.writeStringValue("sender", submissionMailEvidence.sender);
    writer.writeStringValue("senderIp", submissionMailEvidence.senderIp);
    writer.writeStringValue("subject", submissionMailEvidence.subject);
    writer.writeDateValue("submissionDateTime", submissionMailEvidence.submissionDateTime);
    writer.writeStringValue("submissionId", submissionMailEvidence.submissionId);
    writer.writeStringValue("submitter", submissionMailEvidence.submitter);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionResult The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionResult(writer, submissionResult = {}, isSerializingDerivedType = false) {
    if (!submissionResult || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("category", submissionResult.category);
    writer.writeEnumValue("detail", submissionResult.detail);
    writer.writeCollectionOfObjectValues("detectedFiles", submissionResult.detectedFiles, serializeSubmissionDetectedFile);
    writer.writeCollectionOfPrimitiveValues("detectedUrls", submissionResult.detectedUrls);
    writer.writeStringValue("@odata.type", submissionResult.odataType);
    writer.writeEnumValue("userMailboxSetting", submissionResult.userMailboxSetting);
    writer.writeAdditionalData(submissionResult.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubmissionUserIdentity The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubmissionUserIdentity(writer, submissionUserIdentity = {}, isSerializingDerivedType = false) {
    if (!submissionUserIdentity || isSerializingDerivedType) {
        return;
    }
    serializeIdentity(writer, submissionUserIdentity, isSerializingDerivedType);
    writer.writeStringValue("email", submissionUserIdentity.email);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SupervisoryReviewDayXInsightsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSupervisoryReviewDayXInsightsAuditRecord(writer, supervisoryReviewDayXInsightsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!supervisoryReviewDayXInsightsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, supervisoryReviewDayXInsightsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SyntheticProbeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSyntheticProbeAuditRecord(writer, syntheticProbeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!syntheticProbeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, syntheticProbeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Tag The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTag(writer, tag = {}, isSerializingDerivedType = false) {
    if (!tag || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, tag, isSerializingDerivedType);
    writer.writeObjectValue("createdBy", tag.createdBy, serializeIdentitySet);
    writer.writeStringValue("description", tag.description);
    writer.writeStringValue("displayName", tag.displayName);
    writer.writeDateValue("lastModifiedDateTime", tag.lastModifiedDateTime);
    switch (tag.odataType) {
        case "#microsoft.graph.security.ediscoveryReviewTag":
            serializeEdiscoveryReviewTag(writer, tag, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamCopilotInteractionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamCopilotInteractionAuditRecord(writer, teamCopilotInteractionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamCopilotInteractionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamCopilotInteractionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsEasyApprovalsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsEasyApprovalsAuditRecord(writer, teamsEasyApprovalsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsEasyApprovalsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsEasyApprovalsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsEvalDataHubAdminOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsEvalDataHubAdminOperationAuditRecord(writer, teamsEvalDataHubAdminOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsEvalDataHubAdminOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsEvalDataHubAdminOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsEvalDataHubDataAccessAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsEvalDataHubDataAccessAuditRecord(writer, teamsEvalDataHubDataAccessAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsEvalDataHubDataAccessAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsEvalDataHubDataAccessAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsEvalDataHubPermissionChangeAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsEvalDataHubPermissionChangeAuditRecord(writer, teamsEvalDataHubPermissionChangeAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsEvalDataHubPermissionChangeAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsEvalDataHubPermissionChangeAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsHealthcareAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsHealthcareAuditRecord(writer, teamsHealthcareAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsHealthcareAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsHealthcareAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsMessageEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsMessageEvidence(writer, teamsMessageEvidence = {}, isSerializingDerivedType = false) {
    if (!teamsMessageEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, teamsMessageEvidence, isSerializingDerivedType);
    writer.writeStringValue("campaignId", teamsMessageEvidence.campaignId);
    writer.writeStringValue("channelId", teamsMessageEvidence.channelId);
    writer.writeEnumValue("deliveryAction", teamsMessageEvidence.deliveryAction);
    writer.writeEnumValue("deliveryLocation", teamsMessageEvidence.deliveryLocation);
    writer.writeCollectionOfObjectValues("files", teamsMessageEvidence.files, serializeFileEvidence);
    writer.writeStringValue("groupId", teamsMessageEvidence.groupId);
    writer.writeBooleanValue("isExternal", teamsMessageEvidence.isExternal);
    writer.writeBooleanValue("isOwned", teamsMessageEvidence.isOwned);
    writer.writeDateValue("lastModifiedDateTime", teamsMessageEvidence.lastModifiedDateTime);
    writer.writeEnumValue("messageDirection", teamsMessageEvidence.messageDirection);
    writer.writeStringValue("messageId", teamsMessageEvidence.messageId);
    writer.writeGuidValue("owningTenantId", teamsMessageEvidence.owningTenantId);
    writer.writeStringValue("parentMessageId", teamsMessageEvidence.parentMessageId);
    writer.writeDateValue("receivedDateTime", teamsMessageEvidence.receivedDateTime);
    writer.writeCollectionOfPrimitiveValues("recipients", teamsMessageEvidence.recipients);
    writer.writeStringValue("senderFromAddress", teamsMessageEvidence.senderFromAddress);
    writer.writeStringValue("senderIP", teamsMessageEvidence.senderIP);
    writer.writeStringValue("sourceAppName", teamsMessageEvidence.sourceAppName);
    writer.writeStringValue("sourceId", teamsMessageEvidence.sourceId);
    writer.writeStringValue("subject", teamsMessageEvidence.subject);
    writer.writeCollectionOfPrimitiveValues("suspiciousRecipients", teamsMessageEvidence.suspiciousRecipients);
    writer.writeStringValue("threadId", teamsMessageEvidence.threadId);
    writer.writeStringValue("threadType", teamsMessageEvidence.threadType);
    writer.writeCollectionOfObjectValues("urls", teamsMessageEvidence.urls, serializeUrlEvidence);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsUpdatesAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTeamsUpdatesAuditRecord(writer, teamsUpdatesAuditRecord = {}, isSerializingDerivedType = false) {
    if (!teamsUpdatesAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, teamsUpdatesAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TenantAllowBlockListAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTenantAllowBlockListAuditRecord(writer, tenantAllowBlockListAuditRecord = {}, isSerializingDerivedType = false) {
    if (!tenantAllowBlockListAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, tenantAllowBlockListAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TenantAllowBlockListEntryResult The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTenantAllowBlockListEntryResult(writer, tenantAllowBlockListEntryResult = {}, isSerializingDerivedType = false) {
    if (!tenantAllowBlockListEntryResult || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("entryType", tenantAllowBlockListEntryResult.entryType);
    writer.writeDateValue("expirationDateTime", tenantAllowBlockListEntryResult.expirationDateTime);
    writer.writeStringValue("identity", tenantAllowBlockListEntryResult.identity);
    writer.writeStringValue("@odata.type", tenantAllowBlockListEntryResult.odataType);
    writer.writeEnumValue("status", tenantAllowBlockListEntryResult.status);
    writer.writeStringValue("value", tenantAllowBlockListEntryResult.value);
    writer.writeAdditionalData(tenantAllowBlockListEntryResult.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TenantAllowOrBlockListAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTenantAllowOrBlockListAction(writer, tenantAllowOrBlockListAction = {}, isSerializingDerivedType = false) {
    if (!tenantAllowOrBlockListAction || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("action", tenantAllowOrBlockListAction.action);
    writer.writeDateValue("expirationDateTime", tenantAllowOrBlockListAction.expirationDateTime);
    writer.writeStringValue("note", tenantAllowOrBlockListAction.note);
    writer.writeStringValue("@odata.type", tenantAllowOrBlockListAction.odataType);
    writer.writeCollectionOfObjectValues("results", tenantAllowOrBlockListAction.results, serializeTenantAllowBlockListEntryResult);
    writer.writeAdditionalData(tenantAllowOrBlockListAction.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatDetectionDetail The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatDetectionDetail(writer, threatDetectionDetail = {}, isSerializingDerivedType = false) {
    if (!threatDetectionDetail || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("confidenceLevel", threatDetectionDetail.confidenceLevel);
    writer.writeStringValue("@odata.type", threatDetectionDetail.odataType);
    writer.writeStringValue("priorityAccountProtection", threatDetectionDetail.priorityAccountProtection);
    writer.writeStringValue("threats", threatDetectionDetail.threats);
    writer.writeAdditionalData(threatDetectionDetail.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatFinderAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatFinderAuditRecord(writer, threatFinderAuditRecord = {}, isSerializingDerivedType = false) {
    if (!threatFinderAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatFinderAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligence(writer, threatIntelligence = {}, isSerializingDerivedType = false) {
    if (!threatIntelligence || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, threatIntelligence, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("articleIndicators", threatIntelligence.articleIndicators, serializeArticleIndicator);
    writer.writeCollectionOfObjectValues("articles", threatIntelligence.articles, serializeArticle);
    writer.writeCollectionOfObjectValues("hostComponents", threatIntelligence.hostComponents, serializeHostComponent);
    writer.writeCollectionOfObjectValues("hostCookies", threatIntelligence.hostCookies, serializeHostCookie);
    writer.writeCollectionOfObjectValues("hostPairs", threatIntelligence.hostPairs, serializeHostPair);
    writer.writeCollectionOfObjectValues("hostPorts", threatIntelligence.hostPorts, serializeHostPort);
    writer.writeCollectionOfObjectValues("hosts", threatIntelligence.hosts, serializeHost);
    writer.writeCollectionOfObjectValues("hostSslCertificates", threatIntelligence.hostSslCertificates, serializeHostSslCertificate);
    writer.writeCollectionOfObjectValues("hostTrackers", threatIntelligence.hostTrackers, serializeHostTracker);
    writer.writeCollectionOfObjectValues("intelligenceProfileIndicators", threatIntelligence.intelligenceProfileIndicators, serializeIntelligenceProfileIndicator);
    writer.writeCollectionOfObjectValues("intelProfiles", threatIntelligence.intelProfiles, serializeIntelligenceProfile);
    writer.writeCollectionOfObjectValues("passiveDnsRecords", threatIntelligence.passiveDnsRecords, serializePassiveDnsRecord);
    writer.writeCollectionOfObjectValues("sslCertificates", threatIntelligence.sslCertificates, serializeSslCertificate);
    writer.writeCollectionOfObjectValues("subdomains", threatIntelligence.subdomains, serializeSubdomain);
    writer.writeCollectionOfObjectValues("vulnerabilities", threatIntelligence.vulnerabilities, serializeVulnerability);
    writer.writeCollectionOfObjectValues("whoisHistoryRecords", threatIntelligence.whoisHistoryRecords, serializeWhoisHistoryRecord);
    writer.writeCollectionOfObjectValues("whoisRecords", threatIntelligence.whoisRecords, serializeWhoisRecord);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligenceAtpContentData The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligenceAtpContentData(writer, threatIntelligenceAtpContentData = {}, isSerializingDerivedType = false) {
    if (!threatIntelligenceAtpContentData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatIntelligenceAtpContentData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligenceExportAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligenceExportAuditRecord(writer, threatIntelligenceExportAuditRecord = {}, isSerializingDerivedType = false) {
    if (!threatIntelligenceExportAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatIntelligenceExportAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligenceMailData The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligenceMailData(writer, threatIntelligenceMailData = {}, isSerializingDerivedType = false) {
    if (!threatIntelligenceMailData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatIntelligenceMailData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligenceObjectAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligenceObjectAuditRecord(writer, threatIntelligenceObjectAuditRecord = {}, isSerializingDerivedType = false) {
    if (!threatIntelligenceObjectAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatIntelligenceObjectAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatIntelligenceUrlClickData The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatIntelligenceUrlClickData(writer, threatIntelligenceUrlClickData = {}, isSerializingDerivedType = false) {
    if (!threatIntelligenceUrlClickData || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, threatIntelligenceUrlClickData, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatSubmission The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatSubmission(writer, threatSubmission = {}, isSerializingDerivedType = false) {
    if (!threatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, threatSubmission, isSerializingDerivedType);
    writer.writeObjectValue("adminReview", threatSubmission.adminReview, serializeSubmissionAdminReview);
    writer.writeEnumValue("category", threatSubmission.category);
    writer.writeEnumValue("clientSource", threatSubmission.clientSource);
    writer.writeEnumValue("contentType", threatSubmission.contentType);
    writer.writeObjectValue("createdBy", threatSubmission.createdBy, serializeSubmissionUserIdentity);
    writer.writeDateValue("createdDateTime", threatSubmission.createdDateTime);
    writer.writeObjectValue("result", threatSubmission.result, serializeSubmissionResult);
    writer.writeEnumValue("source", threatSubmission.source);
    writer.writeEnumValue("status", threatSubmission.status);
    writer.writeStringValue("tenantId", threatSubmission.tenantId);
    switch (threatSubmission.odataType) {
        case "#microsoft.graph.security.emailContentThreatSubmission":
            serializeEmailContentThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.emailThreatSubmission":
            serializeEmailThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.emailUrlThreatSubmission":
            serializeEmailUrlThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.fileContentThreatSubmission":
            serializeFileContentThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.fileThreatSubmission":
            serializeFileThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.fileUrlThreatSubmission":
            serializeFileUrlThreatSubmission(writer, threatSubmission, true);
            break;
        case "#microsoft.graph.security.urlThreatSubmission":
            serializeUrlThreatSubmission(writer, threatSubmission, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ThreatSubmissionRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeThreatSubmissionRoot(writer, threatSubmissionRoot = {}, isSerializingDerivedType = false) {
    if (!threatSubmissionRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, threatSubmissionRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("emailThreats", threatSubmissionRoot.emailThreats, serializeEmailThreatSubmission);
    writer.writeCollectionOfObjectValues("emailThreatSubmissionPolicies", threatSubmissionRoot.emailThreatSubmissionPolicies, serializeEmailThreatSubmissionPolicy);
    writer.writeCollectionOfObjectValues("fileThreats", threatSubmissionRoot.fileThreats, serializeFileThreatSubmission);
    writer.writeCollectionOfObjectValues("urlThreats", threatSubmissionRoot.urlThreats, serializeUrlThreatSubmission);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TimelineEvent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTimelineEvent(writer, timelineEvent = {}, isSerializingDerivedType = false) {
    if (!timelineEvent || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("eventDateTime", timelineEvent.eventDateTime);
    writer.writeStringValue("eventDetails", timelineEvent.eventDetails);
    writer.writeStringValue("eventResult", timelineEvent.eventResult);
    writer.writeEnumValue("eventSource", timelineEvent.eventSource);
    writer.writeCollectionOfPrimitiveValues("eventThreats", timelineEvent.eventThreats);
    writer.writeEnumValue("eventType", timelineEvent.eventType);
    writer.writeStringValue("@odata.type", timelineEvent.odataType);
    writer.writeAdditionalData(timelineEvent.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TodoAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTodoAuditRecord(writer, todoAuditRecord = {}, isSerializingDerivedType = false) {
    if (!todoAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, todoAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TopicModelingSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTopicModelingSettings(writer, topicModelingSettings = {}, isSerializingDerivedType = false) {
    if (!topicModelingSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("dynamicallyAdjustTopicCount", topicModelingSettings.dynamicallyAdjustTopicCount);
    writer.writeBooleanValue("ignoreNumbers", topicModelingSettings.ignoreNumbers);
    writer.writeBooleanValue("isEnabled", topicModelingSettings.isEnabled);
    writer.writeStringValue("@odata.type", topicModelingSettings.odataType);
    writer.writeNumberValue("topicCount", topicModelingSettings.topicCount);
    writer.writeAdditionalData(topicModelingSettings.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TrainableClassifierAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTrainableClassifierAuditRecord(writer, trainableClassifierAuditRecord = {}, isSerializingDerivedType = false) {
    if (!trainableClassifierAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, trainableClassifierAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TriggersRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTriggersRoot(writer, triggersRoot = {}, isSerializingDerivedType = false) {
    if (!triggersRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, triggersRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("retentionEvents", triggersRoot.retentionEvents, serializeRetentionEvent);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TriggerTypesRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeTriggerTypesRoot(writer, triggerTypesRoot = {}, isSerializingDerivedType = false) {
    if (!triggerTypesRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, triggerTypesRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("retentionEventTypes", triggerTypesRoot.retentionEventTypes, serializeRetentionEventType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UamOperationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUamOperationAuditRecord(writer, uamOperationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!uamOperationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, uamOperationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnclassifiedArtifact The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnclassifiedArtifact(writer, unclassifiedArtifact = {}, isSerializingDerivedType = false) {
    if (!unclassifiedArtifact || isSerializingDerivedType) {
        return;
    }
    serializeArtifact(writer, unclassifiedArtifact, isSerializingDerivedType);
    writer.writeStringValue("kind", unclassifiedArtifact.kind);
    writer.writeStringValue("value", unclassifiedArtifact.value);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnifiedGroupAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnifiedGroupAuditRecord(writer, unifiedGroupAuditRecord = {}, isSerializingDerivedType = false) {
    if (!unifiedGroupAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, unifiedGroupAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnifiedGroupSource The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnifiedGroupSource(writer, unifiedGroupSource = {}, isSerializingDerivedType = false) {
    if (!unifiedGroupSource || isSerializingDerivedType) {
        return;
    }
    serializeDataSource(writer, unifiedGroupSource, isSerializingDerivedType);
    writer.writeObjectValue("group", unifiedGroupSource.group, serializeGroup);
    writer.writeEnumValue("includedSources", unifiedGroupSource.includedSources);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnifiedGroupSourceCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnifiedGroupSourceCollectionResponse(writer, unifiedGroupSourceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!unifiedGroupSourceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, unifiedGroupSourceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", unifiedGroupSourceCollectionResponse.value, serializeUnifiedGroupSource);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnifiedSimulationMatchedItemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnifiedSimulationMatchedItemAuditRecord(writer, unifiedSimulationMatchedItemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!unifiedSimulationMatchedItemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, unifiedSimulationMatchedItemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnifiedSimulationSummaryAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnifiedSimulationSummaryAuditRecord(writer, unifiedSimulationSummaryAuditRecord = {}, isSerializingDerivedType = false) {
    if (!unifiedSimulationSummaryAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, unifiedSimulationSummaryAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnIsolateDeviceIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnIsolateDeviceIncidentTaskResponseAction(writer, unIsolateDeviceIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!unIsolateDeviceIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, unIsolateDeviceIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UniversalPrintManagementAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUniversalPrintManagementAuditRecord(writer, universalPrintManagementAuditRecord = {}, isSerializingDerivedType = false) {
    if (!universalPrintManagementAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, universalPrintManagementAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UniversalPrintPrintJobAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUniversalPrintPrintJobAuditRecord(writer, universalPrintPrintJobAuditRecord = {}, isSerializingDerivedType = false) {
    if (!universalPrintPrintJobAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, universalPrintPrintJobAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UnRestrictAppExecutionIncidentTaskResponseAction The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUnRestrictAppExecutionIncidentTaskResponseAction(writer, unRestrictAppExecutionIncidentTaskResponseAction = {}, isSerializingDerivedType = false) {
    if (!unRestrictAppExecutionIncidentTaskResponseAction || isSerializingDerivedType) {
        return;
    }
    serializeIncidentTaskResponseAction(writer, unRestrictAppExecutionIncidentTaskResponseAction, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrbacAssignmentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrbacAssignmentAuditRecord(writer, urbacAssignmentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!urbacAssignmentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, urbacAssignmentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrbacEnableStateAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrbacEnableStateAuditRecord(writer, urbacEnableStateAuditRecord = {}, isSerializingDerivedType = false) {
    if (!urbacEnableStateAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, urbacEnableStateAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrbacRoleAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrbacRoleAuditRecord(writer, urbacRoleAuditRecord = {}, isSerializingDerivedType = false) {
    if (!urbacRoleAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, urbacRoleAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrlEntityMapping The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrlEntityMapping(writer, urlEntityMapping = {}, isSerializingDerivedType = false) {
    if (!urlEntityMapping || isSerializingDerivedType) {
        return;
    }
    serializeEntityMapping(writer, urlEntityMapping, isSerializingDerivedType);
    writer.writeStringValue("addressColumn", urlEntityMapping.addressColumn);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrlEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrlEvidence(writer, urlEvidence = {}, isSerializingDerivedType = false) {
    if (!urlEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, urlEvidence, isSerializingDerivedType);
    writer.writeStringValue("url", urlEvidence.url);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrlThreatSubmission The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrlThreatSubmission(writer, urlThreatSubmission = {}, isSerializingDerivedType = false) {
    if (!urlThreatSubmission || isSerializingDerivedType) {
        return;
    }
    serializeThreatSubmission(writer, urlThreatSubmission, isSerializingDerivedType);
    writer.writeStringValue("webUrl", urlThreatSubmission.webUrl);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UrlThreatSubmissionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUrlThreatSubmissionCollectionResponse(writer, urlThreatSubmissionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!urlThreatSubmissionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, urlThreatSubmissionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", urlThreatSubmissionCollectionResponse.value, serializeUrlThreatSubmission);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param User The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUser(writer, user = {}, isSerializingDerivedType = false) {
    if (!user || isSerializingDerivedType) {
        return;
    }
    serializeIdentityAccounts(writer, user, isSerializingDerivedType);
    writer.writeStringValue("emailAddress", user.emailAddress);
    writer.writeStringValue("userPrincipalName", user.userPrincipalName);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserAccount The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserAccount(writer, userAccount = {}, isSerializingDerivedType = false) {
    if (!userAccount || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("accountName", userAccount.accountName);
    writer.writeGuidValue("activeDirectoryObjectGuid", userAccount.activeDirectoryObjectGuid);
    writer.writeStringValue("azureAdUserId", userAccount.azureAdUserId);
    writer.writeStringValue("displayName", userAccount.displayName);
    writer.writeStringValue("domainName", userAccount.domainName);
    writer.writeStringValue("@odata.type", userAccount.odataType);
    writer.writeCollectionOfObjectValues("resourceAccessEvents", userAccount.resourceAccessEvents, serializeResourceAccessEvent);
    writer.writeStringValue("tenantId", userAccount.tenantId);
    writer.writeStringValue("userPrincipalName", userAccount.userPrincipalName);
    writer.writeStringValue("userSid", userAccount.userSid);
    writer.writeAdditionalData(userAccount.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserEvidence The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserEvidence(writer, userEvidence = {}, isSerializingDerivedType = false) {
    if (!userEvidence || isSerializingDerivedType) {
        return;
    }
    serializeAlertEvidence(writer, userEvidence, isSerializingDerivedType);
    writer.writeObjectValue("stream", userEvidence.stream, serializeStream);
    writer.writeObjectValue("userAccount", userEvidence.userAccount, serializeUserAccount);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserSource The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserSource(writer, userSource = {}, isSerializingDerivedType = false) {
    if (!userSource || isSerializingDerivedType) {
        return;
    }
    serializeDataSource(writer, userSource, isSerializingDerivedType);
    writer.writeStringValue("email", userSource.email);
    writer.writeEnumValue("includedSources", userSource.includedSources);
    writer.writeStringValue("siteWebUrl", userSource.siteWebUrl);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserSourceCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserSourceCollectionResponse(writer, userSourceCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!userSourceCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, userSourceCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", userSourceCollectionResponse.value, serializeUserSource);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserTrainingAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserTrainingAuditRecord(writer, userTrainingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!userTrainingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, userTrainingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UsxWorkspaceOnboardingAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUsxWorkspaceOnboardingAuditRecord(writer, usxWorkspaceOnboardingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!usxWorkspaceOnboardingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, usxWorkspaceOnboardingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VfamCreatePolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVfamCreatePolicyAuditRecord(writer, vfamCreatePolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vfamCreatePolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vfamCreatePolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VfamDeletePolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVfamDeletePolicyAuditRecord(writer, vfamDeletePolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vfamDeletePolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vfamDeletePolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VfamUpdatePolicyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVfamUpdatePolicyAuditRecord(writer, vfamUpdatePolicyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vfamUpdatePolicyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vfamUpdatePolicyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaAmplifyAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaAmplifyAuditRecord(writer, vivaAmplifyAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaAmplifyAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaAmplifyAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaEngageEventsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaEngageEventsAuditRecord(writer, vivaEngageEventsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaEngageEventsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaEngageEventsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaEngageNetworkAssociationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaEngageNetworkAssociationAuditRecord(writer, vivaEngageNetworkAssociationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaEngageNetworkAssociationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaEngageNetworkAssociationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaEngageSegmentAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaEngageSegmentAuditRecord(writer, vivaEngageSegmentAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaEngageSegmentAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaEngageSegmentAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintAdvancedConfigurationAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintAdvancedConfigurationAuditRecord(writer, vivaGlintAdvancedConfigurationAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintAdvancedConfigurationAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintAdvancedConfigurationAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintAgenticCampaignAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintAgenticCampaignAuditRecord(writer, vivaGlintAgenticCampaignAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintAgenticCampaignAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintAgenticCampaignAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintFeedbackProgramAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintFeedbackProgramAuditRecord(writer, vivaGlintFeedbackProgramAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintFeedbackProgramAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintFeedbackProgramAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintOrganizationalDataAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintOrganizationalDataAuditRecord(writer, vivaGlintOrganizationalDataAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintOrganizationalDataAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintOrganizationalDataAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintPulseProgramAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintPulseProgramAuditRecord(writer, vivaGlintPulseProgramAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintPulseProgramAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintPulseProgramAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintPulseProgramRespondentRateAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintPulseProgramRespondentRateAuditRecord(writer, vivaGlintPulseProgramRespondentRateAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintPulseProgramRespondentRateAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintPulseProgramRespondentRateAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintQuestionAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintQuestionAuditRecord(writer, vivaGlintQuestionAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintQuestionAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintQuestionAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintRoleAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintRoleAuditRecord(writer, vivaGlintRoleAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintRoleAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintRoleAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintRubiconAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintRubiconAuditRecord(writer, vivaGlintRubiconAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintRubiconAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintRubiconAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintSupportAccessAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintSupportAccessAuditRecord(writer, vivaGlintSupportAccessAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintSupportAccessAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintSupportAccessAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintSystemAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintSystemAuditRecord(writer, vivaGlintSystemAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintSystemAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintSystemAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintUserAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintUserAuditRecord(writer, vivaGlintUserAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintUserAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintUserAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGlintUserGroupAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGlintUserGroupAuditRecord(writer, vivaGlintUserGroupAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGlintUserGroupAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGlintUserGroupAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaGoalsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaGoalsAuditRecord(writer, vivaGoalsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaGoalsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaGoalsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaLearningAdminAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaLearningAdminAuditRecord(writer, vivaLearningAdminAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaLearningAdminAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaLearningAdminAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaLearningAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaLearningAuditRecord(writer, vivaLearningAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaLearningAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaLearningAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaPulseAdminAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaPulseAdminAuditRecord(writer, vivaPulseAdminAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaPulseAdminAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaPulseAdminAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaPulseOrganizerAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaPulseOrganizerAuditRecord(writer, vivaPulseOrganizerAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaPulseOrganizerAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaPulseOrganizerAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaPulseReportAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaPulseReportAuditRecord(writer, vivaPulseReportAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaPulseReportAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaPulseReportAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VivaPulseResponseAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVivaPulseResponseAuditRecord(writer, vivaPulseResponseAuditRecord = {}, isSerializingDerivedType = false) {
    if (!vivaPulseResponseAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, vivaPulseResponseAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VmMetadata The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVmMetadata(writer, vmMetadata = {}, isSerializingDerivedType = false) {
    if (!vmMetadata || isSerializingDerivedType) {
        return;
    }
    writer.writeEnumValue("cloudProvider", vmMetadata.cloudProvider);
    writer.writeStringValue("@odata.type", vmMetadata.odataType);
    writer.writeStringValue("resourceId", vmMetadata.resourceId);
    writer.writeStringValue("subscriptionId", vmMetadata.subscriptionId);
    writer.writeStringValue("vmId", vmMetadata.vmId);
    writer.writeAdditionalData(vmMetadata.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Vulnerability The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVulnerability(writer, vulnerability = {}, isSerializingDerivedType = false) {
    if (!vulnerability || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, vulnerability, isSerializingDerivedType);
    writer.writeBooleanValue("activeExploitsObserved", vulnerability.activeExploitsObserved);
    writer.writeCollectionOfObjectValues("articles", vulnerability.articles, serializeArticle);
    writer.writeCollectionOfPrimitiveValues("commonWeaknessEnumerationIds", vulnerability.commonWeaknessEnumerationIds);
    writer.writeCollectionOfObjectValues("components", vulnerability.components, serializeVulnerabilityComponent);
    writer.writeDateValue("createdDateTime", vulnerability.createdDateTime);
    writer.writeObjectValue("cvss2Summary", vulnerability.cvss2Summary, serializeCvssSummary);
    writer.writeObjectValue("cvss3Summary", vulnerability.cvss3Summary, serializeCvssSummary);
    writer.writeObjectValue("description", vulnerability.description, serializeFormattedContent);
    writer.writeCollectionOfObjectValues("exploits", vulnerability.exploits, serializeHyperlink);
    writer.writeBooleanValue("exploitsAvailable", vulnerability.exploitsAvailable);
    writer.writeBooleanValue("hasChatter", vulnerability.hasChatter);
    writer.writeDateValue("lastModifiedDateTime", vulnerability.lastModifiedDateTime);
    writer.writeNumberValue("priorityScore", vulnerability.priorityScore);
    writer.writeDateValue("publishedDateTime", vulnerability.publishedDateTime);
    writer.writeCollectionOfObjectValues("references", vulnerability.references, serializeHyperlink);
    writer.writeObjectValue("remediation", vulnerability.remediation, serializeFormattedContent);
    writer.writeEnumValue("severity", vulnerability.severity);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VulnerabilityCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVulnerabilityCollectionResponse(writer, vulnerabilityCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!vulnerabilityCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, vulnerabilityCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", vulnerabilityCollectionResponse.value, serializeVulnerability);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VulnerabilityComponent The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVulnerabilityComponent(writer, vulnerabilityComponent = {}, isSerializingDerivedType = false) {
    if (!vulnerabilityComponent || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, vulnerabilityComponent, isSerializingDerivedType);
    writer.writeStringValue("name", vulnerabilityComponent.name);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param VulnerabilityComponentCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeVulnerabilityComponentCollectionResponse(writer, vulnerabilityComponentCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!vulnerabilityComponentCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, vulnerabilityComponentCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", vulnerabilityComponentCollectionResponse.value, serializeVulnerabilityComponent);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WdatpAlertsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWdatpAlertsAuditRecord(writer, wdatpAlertsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!wdatpAlertsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, wdatpAlertsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WebContentFilteringAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWebContentFilteringAuditRecord(writer, webContentFilteringAuditRecord = {}, isSerializingDerivedType = false) {
    if (!webContentFilteringAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, webContentFilteringAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisBaseRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisBaseRecord(writer, whoisBaseRecord = {}, isSerializingDerivedType = false) {
    if (!whoisBaseRecord || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, whoisBaseRecord, isSerializingDerivedType);
    writer.writeObjectValue("abuse", whoisBaseRecord.abuse, serializeWhoisContact);
    writer.writeObjectValue("admin", whoisBaseRecord.admin, serializeWhoisContact);
    writer.writeObjectValue("billing", whoisBaseRecord.billing, serializeWhoisContact);
    writer.writeStringValue("domainStatus", whoisBaseRecord.domainStatus);
    writer.writeDateValue("expirationDateTime", whoisBaseRecord.expirationDateTime);
    writer.writeDateValue("firstSeenDateTime", whoisBaseRecord.firstSeenDateTime);
    writer.writeObjectValue("host", whoisBaseRecord.host, serializeHost);
    writer.writeDateValue("lastSeenDateTime", whoisBaseRecord.lastSeenDateTime);
    writer.writeDateValue("lastUpdateDateTime", whoisBaseRecord.lastUpdateDateTime);
    writer.writeCollectionOfObjectValues("nameservers", whoisBaseRecord.nameservers, serializeWhoisNameserver);
    writer.writeObjectValue("noc", whoisBaseRecord.noc, serializeWhoisContact);
    writer.writeStringValue("rawWhoisText", whoisBaseRecord.rawWhoisText);
    writer.writeObjectValue("registrant", whoisBaseRecord.registrant, serializeWhoisContact);
    writer.writeObjectValue("registrar", whoisBaseRecord.registrar, serializeWhoisContact);
    writer.writeDateValue("registrationDateTime", whoisBaseRecord.registrationDateTime);
    writer.writeObjectValue("technical", whoisBaseRecord.technical, serializeWhoisContact);
    writer.writeStringValue("whoisServer", whoisBaseRecord.whoisServer);
    writer.writeObjectValue("zone", whoisBaseRecord.zone, serializeWhoisContact);
    switch (whoisBaseRecord.odataType) {
        case "#microsoft.graph.security.whoisHistoryRecord":
            serializeWhoisHistoryRecord(writer, whoisBaseRecord, true);
            break;
        case "#microsoft.graph.security.whoisRecord":
            serializeWhoisRecord(writer, whoisBaseRecord, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisContact The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisContact(writer, whoisContact = {}, isSerializingDerivedType = false) {
    if (!whoisContact || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("address", whoisContact.address, serializePhysicalAddress);
    writer.writeStringValue("email", whoisContact.email);
    writer.writeStringValue("fax", whoisContact.fax);
    writer.writeStringValue("name", whoisContact.name);
    writer.writeStringValue("@odata.type", whoisContact.odataType);
    writer.writeStringValue("organization", whoisContact.organization);
    writer.writeStringValue("telephone", whoisContact.telephone);
    writer.writeAdditionalData(whoisContact.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisHistoryRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisHistoryRecord(writer, whoisHistoryRecord = {}, isSerializingDerivedType = false) {
    if (!whoisHistoryRecord || isSerializingDerivedType) {
        return;
    }
    serializeWhoisBaseRecord(writer, whoisHistoryRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisHistoryRecordCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisHistoryRecordCollectionResponse(writer, whoisHistoryRecordCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!whoisHistoryRecordCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, whoisHistoryRecordCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", whoisHistoryRecordCollectionResponse.value, serializeWhoisHistoryRecord);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisNameserver The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisNameserver(writer, whoisNameserver = {}, isSerializingDerivedType = false) {
    if (!whoisNameserver || isSerializingDerivedType) {
        return;
    }
    writer.writeDateValue("firstSeenDateTime", whoisNameserver.firstSeenDateTime);
    writer.writeObjectValue("host", whoisNameserver.host, serializeHost);
    writer.writeDateValue("lastSeenDateTime", whoisNameserver.lastSeenDateTime);
    writer.writeStringValue("@odata.type", whoisNameserver.odataType);
    writer.writeAdditionalData(whoisNameserver.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisRecord(writer, whoisRecord = {}, isSerializingDerivedType = false) {
    if (!whoisRecord || isSerializingDerivedType) {
        return;
    }
    serializeWhoisBaseRecord(writer, whoisRecord, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("history", whoisRecord.history, serializeWhoisHistoryRecord);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WhoisRecordCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWhoisRecordCollectionResponse(writer, whoisRecordCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!whoisRecordCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, whoisRecordCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", whoisRecordCollectionResponse.value, serializeWhoisRecord);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param Windows365CustomerLockboxAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWindows365CustomerLockboxAuditRecord(writer, windows365CustomerLockboxAuditRecord = {}, isSerializingDerivedType = false) {
    if (!windows365CustomerLockboxAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, windows365CustomerLockboxAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param WorkplaceAnalyticsAuditRecord The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeWorkplaceAnalyticsAuditRecord(writer, workplaceAnalyticsAuditRecord = {}, isSerializingDerivedType = false) {
    if (!workplaceAnalyticsAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, workplaceAnalyticsAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 * @param YammerAuditRecord The instance to serialize from.
 */
// @ts-ignore
export function serializeYammerAuditRecord(writer, yammerAuditRecord = {}, isSerializingDerivedType = false) {
    if (!yammerAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, yammerAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 * @param YammerUserHidingAuditRecord The instance to serialize from.
 */
// @ts-ignore
export function serializeYammerUserHidingAuditRecord(writer, yammerUserHidingAuditRecord = {}, isSerializingDerivedType = false) {
    if (!yammerUserHidingAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeAuditData(writer, yammerUserHidingAuditRecord, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 * @param Zone The instance to serialize from.
 */
// @ts-ignore
export function serializeZone(writer, zone = {}, isSerializingDerivedType = false) {
    if (!zone || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, zone, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("aggregations", zone.aggregations, serializeAggregatedEnvironment);
    writer.writeObjectValue("created", zone.created, serializeAuditInfo);
    writer.writeStringValue("description", zone.description);
    writer.writeStringValue("displayName", zone.displayName);
    writer.writeCollectionOfObjectValues("environments", zone.environments, serializeEnvironment);
    writer.writeObjectValue("modified", zone.modified, serializeAuditInfo);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 * @param ZoneCollectionResponse The instance to serialize from.
 */
// @ts-ignore
export function serializeZoneCollectionResponse(writer, zoneCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!zoneCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, zoneCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", zoneCollectionResponse.value, serializeZone);
}
export const ActionAfterRetentionPeriodObject = {
    None: "none",
    Delete: "delete",
    StartDispositionReview: "startDispositionReview",
    Relabel: "relabel",
    UnknownFutureValue: "unknownFutureValue",
};
export const ActionObject = {
    Disable: "disable",
    Enable: "enable",
    ForcePasswordReset: "forcePasswordReset",
    RevokeAllSessions: "revokeAllSessions",
    RequireUserToSignInAgain: "requireUserToSignInAgain",
    MarkUserAsCompromised: "markUserAsCompromised",
    UnknownFutureValue: "unknownFutureValue",
};
export const ActionSourceObject = {
    Manual: "manual",
    Automatic: "automatic",
    Recommended: "recommended",
    DefaultEscaped: "default",
};
export const AdditionalDataOptionsObject = {
    AllVersions: "allVersions",
    LinkedFiles: "linkedFiles",
    UnknownFutureValue: "unknownFutureValue",
    AdvancedIndexing: "advancedIndexing",
    ListAttachments: "listAttachments",
    HtmlTranscripts: "htmlTranscripts",
    MessageConversationExpansion: "messageConversationExpansion",
    LocationsWithoutHits: "locationsWithoutHits",
    AllItemsInFolder: "allItemsInFolder",
    CloudNativeHtmlConversion: "cloudNativeHtmlConversion",
};
export const AdditionalOptionsObject = {
    None: "none",
    TeamsAndYammerConversations: "teamsAndYammerConversations",
    CloudAttachments: "cloudAttachments",
    AllDocumentVersions: "allDocumentVersions",
    SubfolderContents: "subfolderContents",
    ListAttachments: "listAttachments",
    UnknownFutureValue: "unknownFutureValue",
    HtmlTranscripts: "htmlTranscripts",
    AdvancedIndexing: "advancedIndexing",
    AllItemsInFolder: "allItemsInFolder",
    IncludeFolderAndPath: "includeFolderAndPath",
    CondensePaths: "condensePaths",
    FriendlyName: "friendlyName",
    SplitSource: "splitSource",
    IncludeReport: "includeReport",
};
export const AiAgentPlatformObject = {
    Unknown: "unknown",
    AzureAIFoundry: "azureAIFoundry",
    CopilotStudio: "copilotStudio",
    Copilot: "copilot",
    UnknownFutureValue: "unknownFutureValue",
};
export const AlertClassificationObject = {
    Unknown: "unknown",
    FalsePositive: "falsePositive",
    TruePositive: "truePositive",
    InformationalExpectedActivity: "informationalExpectedActivity",
    UnknownFutureValue: "unknownFutureValue",
};
export const AlertDeterminationObject = {
    Unknown: "unknown",
    Apt: "apt",
    Malware: "malware",
    SecurityPersonnel: "securityPersonnel",
    SecurityTesting: "securityTesting",
    UnwantedSoftware: "unwantedSoftware",
    Other: "other",
    MultiStagedAttack: "multiStagedAttack",
    CompromisedAccount: "compromisedAccount",
    Phishing: "phishing",
    MaliciousUserActivity: "maliciousUserActivity",
    NotMalicious: "notMalicious",
    NotEnoughDataToValidate: "notEnoughDataToValidate",
    ConfirmedActivity: "confirmedActivity",
    LineOfBusinessApplication: "lineOfBusinessApplication",
    UnknownFutureValue: "unknownFutureValue",
};
export const AlertSeverityObject = {
    Unknown: "unknown",
    Informational: "informational",
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const AlertStatusObject = {
    Unknown: "unknown",
    NewEscaped: "new",
    InProgress: "inProgress",
    Resolved: "resolved",
    UnknownFutureValue: "unknownFutureValue",
};
export const AntispamDirectionalityObject = {
    Unknown: "unknown",
    Inbound: "inbound",
    Outbound: "outbound",
    IntraOrg: "intraOrg",
    UnknownFutureValue: "unknownFutureValue",
};
export const AntispamTeamsDirectionObject = {
    Unknown: "unknown",
    Inbound: "inbound",
    Outbound: "outbound",
    Intraorg: "intraorg",
    UnknownFutureValue: "unknownFutureValue",
};
export const AppCategoryObject = {
    Security: "security",
    Collaboration: "collaboration",
    HostingServices: "hostingServices",
    OnlineMeetings: "onlineMeetings",
    NewsAndEntertainment: "newsAndEntertainment",
    ECommerce: "eCommerce",
    Education: "education",
    CloudStorage: "cloudStorage",
    Marketing: "marketing",
    OperationsManagement: "operationsManagement",
    Health: "health",
    Advertising: "advertising",
    Productivity: "productivity",
    AccountingAndFinance: "accountingAndFinance",
    ContentManagement: "contentManagement",
    ContentSharing: "contentSharing",
    BusinessManagement: "businessManagement",
    Communications: "communications",
    DataAnalytics: "dataAnalytics",
    BusinessIntelligence: "businessIntelligence",
    Webemail: "webemail",
    CodeHosting: "codeHosting",
    WebAnalytics: "webAnalytics",
    SocialNetwork: "socialNetwork",
    Crm: "crm",
    Forums: "forums",
    HumanResourceManagement: "humanResourceManagement",
    TransportationAndTravel: "transportationAndTravel",
    ProductDesign: "productDesign",
    Sales: "sales",
    CloudComputingPlatform: "cloudComputingPlatform",
    ProjectManagement: "projectManagement",
    PersonalInstantMessaging: "personalInstantMessaging",
    DevelopmentTools: "developmentTools",
    ItServices: "itServices",
    SupplyChainAndLogistics: "supplyChainAndLogistics",
    PropertyManagement: "propertyManagement",
    CustomerSupport: "customerSupport",
    InternetOfThings: "internetOfThings",
    VendorManagementSystems: "vendorManagementSystems",
    WebsiteMonitoring: "websiteMonitoring",
    GenerativeAi: "generativeAi",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
    AiModelProvider: "aiModelProvider",
    McpServer: "mcpServer",
    ClientAiApp: "clientAiApp",
};
export const AppInfoCsaStarLevelObject = {
    SelfAssessment: "selfAssessment",
    Certification: "certification",
    Attestation: "attestation",
    CStarAssessment: "cStarAssessment",
    ContinuousMonitoring: "continuousMonitoring",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const AppInfoDataAtRestEncryptionMethodObject = {
    Aes: "aes",
    BitLocker: "bitLocker",
    Blowfish: "blowfish",
    Des3: "des3",
    Des: "des",
    Rc4: "rc4",
    RsA: "rsA",
    NotSupported: "notSupported",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const AppInfoDataRetentionPolicyObject = {
    DataRetained: "dataRetained",
    DeletedImmediately: "deletedImmediately",
    DeletedWithinTwoWeeks: "deletedWithinTwoWeeks",
    DeletedWithinOneMonth: "deletedWithinOneMonth",
    DeletedWithinThreeMonths: "deletedWithinThreeMonths",
    DeletedWithinMoreThanThreeMonths: "deletedWithinMoreThanThreeMonths",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const AppInfoEncryptionProtocolObject = {
    Tls1_0: "tls1_0",
    Tls1_1: "tls1_1",
    Tls1_2: "tls1_2",
    Tls1_3: "tls1_3",
    NotApplicable: "notApplicable",
    NotSupported: "notSupported",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
    Ssl3: "ssl3",
};
export const AppInfoFedRampLevelObject = {
    High: "high",
    Moderate: "moderate",
    Low: "low",
    LiSaaS: "liSaaS",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
    NotSupported: "notSupported",
};
export const AppInfoHoldingObject = {
    Private: "private",
    Public: "public",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const AppInfoPciDssVersionObject = {
    V1: "v1",
    V2: "v2",
    V3: "v3",
    V3_1: "v3_1",
    V3_2: "v3_2",
    V3_2_1: "v3_2_1",
    NotSupported: "notSupported",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
    V4: "v4",
};
export const AppInfoUploadedDataTypesObject = {
    Documents: "documents",
    MediaFiles: "mediaFiles",
    CodingFiles: "codingFiles",
    CreditCards: "creditCards",
    DatabaseFiles: "databaseFiles",
    None: "none",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const AssignmentMethodObject = {
    Standard: "standard",
    Privileged: "privileged",
    Auto: "auto",
};
/**
 * Status of an audit log query.
 */
export const AuditLogQueryStatusObject = {
    NotStarted: "notStarted",
    Running: "running",
    Succeeded: "succeeded",
    Failed: "failed",
    Cancelled: "cancelled",
    UnknownFutureValue: "unknownFutureValue",
};
/**
 * Specifies the type of audit log record.
 */
export const AuditLogRecordTypeObject = {
    ExchangeAdmin: "ExchangeAdmin",
    ExchangeItem: "ExchangeItem",
    ExchangeItemGroup: "ExchangeItemGroup",
    SharePoint: "SharePoint",
    SyntheticProbe: "SyntheticProbe",
    SharePointFileOperation: "SharePointFileOperation",
    OneDrive: "OneDrive",
    AzureActiveDirectory: "AzureActiveDirectory",
    AzureActiveDirectoryAccountLogon: "AzureActiveDirectoryAccountLogon",
    DataCenterSecurityCmdlet: "DataCenterSecurityCmdlet",
    ComplianceDLPSharePoint: "ComplianceDLPSharePoint",
    Sway: "Sway",
    ComplianceDLPExchange: "ComplianceDLPExchange",
    SharePointSharingOperation: "SharePointSharingOperation",
    AzureActiveDirectoryStsLogon: "AzureActiveDirectoryStsLogon",
    SkypeForBusinessPSTNUsage: "SkypeForBusinessPSTNUsage",
    SkypeForBusinessUsersBlocked: "SkypeForBusinessUsersBlocked",
    SecurityComplianceCenterEOPCmdlet: "SecurityComplianceCenterEOPCmdlet",
    ExchangeAggregatedOperation: "ExchangeAggregatedOperation",
    PowerBIAudit: "PowerBIAudit",
    CRM: "CRM",
    Yammer: "Yammer",
    SkypeForBusinessCmdlets: "SkypeForBusinessCmdlets",
    Discovery: "Discovery",
    MicrosoftTeams: "MicrosoftTeams",
    ThreatIntelligence: "ThreatIntelligence",
    MailSubmission: "MailSubmission",
    MicrosoftFlow: "MicrosoftFlow",
    AeD: "AeD",
    MicrosoftStream: "MicrosoftStream",
    ComplianceDLPSharePointClassification: "ComplianceDLPSharePointClassification",
    ThreatFinder: "ThreatFinder",
    Project: "Project",
    SharePointListOperation: "SharePointListOperation",
    SharePointCommentOperation: "SharePointCommentOperation",
    DataGovernance: "DataGovernance",
    Kaizala: "Kaizala",
    SecurityComplianceAlerts: "SecurityComplianceAlerts",
    ThreatIntelligenceUrl: "ThreatIntelligenceUrl",
    SecurityComplianceInsights: "SecurityComplianceInsights",
    MIPLabel: "MIPLabel",
    WorkplaceAnalytics: "WorkplaceAnalytics",
    PowerAppsApp: "PowerAppsApp",
    PowerAppsPlan: "PowerAppsPlan",
    ThreatIntelligenceAtpContent: "ThreatIntelligenceAtpContent",
    LabelContentExplorer: "LabelContentExplorer",
    TeamsHealthcare: "TeamsHealthcare",
    ExchangeItemAggregated: "ExchangeItemAggregated",
    HygieneEvent: "HygieneEvent",
    DataInsightsRestApiAudit: "DataInsightsRestApiAudit",
    InformationBarrierPolicyApplication: "InformationBarrierPolicyApplication",
    SharePointListItemOperation: "SharePointListItemOperation",
    SharePointContentTypeOperation: "SharePointContentTypeOperation",
    SharePointFieldOperation: "SharePointFieldOperation",
    MicrosoftTeamsAdmin: "MicrosoftTeamsAdmin",
    HRSignal: "HRSignal",
    MicrosoftTeamsDevice: "MicrosoftTeamsDevice",
    MicrosoftTeamsAnalytics: "MicrosoftTeamsAnalytics",
    InformationWorkerProtection: "InformationWorkerProtection",
    Campaign: "Campaign",
    DLPEndpoint: "DLPEndpoint",
    AirInvestigation: "AirInvestigation",
    Quarantine: "Quarantine",
    MicrosoftForms: "MicrosoftForms",
    ApplicationAudit: "ApplicationAudit",
    ComplianceSupervisionExchange: "ComplianceSupervisionExchange",
    CustomerKeyServiceEncryption: "CustomerKeyServiceEncryption",
    OfficeNative: "OfficeNative",
    MipAutoLabelSharePointItem: "MipAutoLabelSharePointItem",
    MipAutoLabelSharePointPolicyLocation: "MipAutoLabelSharePointPolicyLocation",
    MicrosoftTeamsShifts: "MicrosoftTeamsShifts",
    SecureScore: "SecureScore",
    MipAutoLabelExchangeItem: "MipAutoLabelExchangeItem",
    CortanaBriefing: "CortanaBriefing",
    Search: "Search",
    WDATPAlerts: "WDATPAlerts",
    PowerPlatformAdminDlp: "PowerPlatformAdminDlp",
    PowerPlatformAdminEnvironment: "PowerPlatformAdminEnvironment",
    MDATPAudit: "MDATPAudit",
    SensitivityLabelPolicyMatch: "SensitivityLabelPolicyMatch",
    SensitivityLabelAction: "SensitivityLabelAction",
    SensitivityLabeledFileAction: "SensitivityLabeledFileAction",
    AttackSim: "AttackSim",
    AirManualInvestigation: "AirManualInvestigation",
    SecurityComplianceRBAC: "SecurityComplianceRBAC",
    UserTraining: "UserTraining",
    AirAdminActionInvestigation: "AirAdminActionInvestigation",
    MSTIC: "MSTIC",
    PhysicalBadgingSignal: "PhysicalBadgingSignal",
    TeamsEasyApprovals: "TeamsEasyApprovals",
    AipDiscover: "AipDiscover",
    AipSensitivityLabelAction: "AipSensitivityLabelAction",
    AipProtectionAction: "AipProtectionAction",
    AipFileDeleted: "AipFileDeleted",
    AipHeartBeat: "AipHeartBeat",
    MCASAlerts: "MCASAlerts",
    OnPremisesFileShareScannerDlp: "OnPremisesFileShareScannerDlp",
    OnPremisesSharePointScannerDlp: "OnPremisesSharePointScannerDlp",
    ExchangeSearch: "ExchangeSearch",
    SharePointSearch: "SharePointSearch",
    PrivacyDataMinimization: "PrivacyDataMinimization",
    LabelAnalyticsAggregate: "LabelAnalyticsAggregate",
    MyAnalyticsSettings: "MyAnalyticsSettings",
    SecurityComplianceUserChange: "SecurityComplianceUserChange",
    ComplianceDLPExchangeClassification: "ComplianceDLPExchangeClassification",
    ComplianceDLPEndpoint: "ComplianceDLPEndpoint",
    MipExactDataMatch: "MipExactDataMatch",
    MSDEResponseActions: "MSDEResponseActions",
    MSDEGeneralSettings: "MSDEGeneralSettings",
    MSDEIndicatorsSettings: "MSDEIndicatorsSettings",
    MS365DCustomDetection: "MS365DCustomDetection",
    MSDERolesSettings: "MSDERolesSettings",
    MAPGAlerts: "MAPGAlerts",
    MAPGPolicy: "MAPGPolicy",
    MAPGRemediation: "MAPGRemediation",
    PrivacyRemediationAction: "PrivacyRemediationAction",
    PrivacyDigestEmail: "PrivacyDigestEmail",
    MipAutoLabelSimulationProgress: "MipAutoLabelSimulationProgress",
    MipAutoLabelSimulationCompletion: "MipAutoLabelSimulationCompletion",
    MipAutoLabelProgressFeedback: "MipAutoLabelProgressFeedback",
    DlpSensitiveInformationType: "DlpSensitiveInformationType",
    MipAutoLabelSimulationStatistics: "MipAutoLabelSimulationStatistics",
    LargeContentMetadata: "LargeContentMetadata",
    Microsoft365Group: "Microsoft365Group",
    CDPMlInferencingResult: "CDPMlInferencingResult",
    FilteringMailMetadata: "FilteringMailMetadata",
    CDPClassificationMailItem: "CDPClassificationMailItem",
    CDPClassificationDocument: "CDPClassificationDocument",
    OfficeScriptsRunAction: "OfficeScriptsRunAction",
    FilteringPostMailDeliveryAction: "FilteringPostMailDeliveryAction",
    CDPUnifiedFeedback: "CDPUnifiedFeedback",
    TenantAllowBlockList: "TenantAllowBlockList",
    ConsumptionResource: "ConsumptionResource",
    HealthcareSignal: "HealthcareSignal",
    DlpImportResult: "DlpImportResult",
    CDPCompliancePolicyExecution: "CDPCompliancePolicyExecution",
    MultiStageDisposition: "MultiStageDisposition",
    PrivacyDataMatch: "PrivacyDataMatch",
    FilteringDocMetadata: "FilteringDocMetadata",
    FilteringEmailFeatures: "FilteringEmailFeatures",
    PowerBIDlp: "PowerBIDlp",
    FilteringUrlInfo: "FilteringUrlInfo",
    FilteringAttachmentInfo: "FilteringAttachmentInfo",
    CoreReportingSettings: "CoreReportingSettings",
    ComplianceConnector: "ComplianceConnector",
    PowerPlatformLockboxResourceAccessRequest: "PowerPlatformLockboxResourceAccessRequest",
    PowerPlatformLockboxResourceCommand: "PowerPlatformLockboxResourceCommand",
    CDPPredictiveCodingLabel: "CDPPredictiveCodingLabel",
    CDPCompliancePolicyUserFeedback: "CDPCompliancePolicyUserFeedback",
    WebpageActivityEndpoint: "WebpageActivityEndpoint",
    OMEPortal: "OMEPortal",
    CMImprovementActionChange: "CMImprovementActionChange",
    FilteringUrlClick: "FilteringUrlClick",
    MipLabelAnalyticsAuditRecord: "MipLabelAnalyticsAuditRecord",
    FilteringEntityEvent: "FilteringEntityEvent",
    FilteringRuleHits: "FilteringRuleHits",
    FilteringMailSubmission: "FilteringMailSubmission",
    LabelExplorer: "LabelExplorer",
    MicrosoftManagedServicePlatform: "MicrosoftManagedServicePlatform",
    PowerPlatformServiceActivity: "PowerPlatformServiceActivity",
    ScorePlatformGenericAuditRecord: "ScorePlatformGenericAuditRecord",
    FilteringTimeTravelDocMetadata: "FilteringTimeTravelDocMetadata",
    Alert: "Alert",
    AlertStatus: "AlertStatus",
    AlertIncident: "AlertIncident",
    IncidentStatus: "IncidentStatus",
    CaseEscaped: "Case",
    CaseInvestigation: "CaseInvestigation",
    RecordsManagement: "RecordsManagement",
    PrivacyRemediation: "PrivacyRemediation",
    DataShareOperation: "DataShareOperation",
    CdpDlpSensitive: "CdpDlpSensitive",
    EHRConnector: "EHRConnector",
    FilteringMailGradingResult: "FilteringMailGradingResult",
    PublicFolder: "PublicFolder",
    PrivacyTenantAuditHistoryRecord: "PrivacyTenantAuditHistoryRecord",
    AipScannerDiscoverEvent: "AipScannerDiscoverEvent",
    EduDataLakeDownloadOperation: "EduDataLakeDownloadOperation",
    M365ComplianceConnector: "M365ComplianceConnector",
    MicrosoftGraphDataConnectOperation: "MicrosoftGraphDataConnectOperation",
    MicrosoftPurview: "MicrosoftPurview",
    FilteringEmailContentFeatures: "FilteringEmailContentFeatures",
    PowerPagesSite: "PowerPagesSite",
    PowerAppsResource: "PowerAppsResource",
    PlannerPlan: "PlannerPlan",
    PlannerCopyPlan: "PlannerCopyPlan",
    PlannerTask: "PlannerTask",
    PlannerRoster: "PlannerRoster",
    PlannerPlanList: "PlannerPlanList",
    PlannerTaskList: "PlannerTaskList",
    PlannerTenantSettings: "PlannerTenantSettings",
    ProjectForTheWebProject: "ProjectForTheWebProject",
    ProjectForTheWebTask: "ProjectForTheWebTask",
    ProjectForTheWebRoadmap: "ProjectForTheWebRoadmap",
    ProjectForTheWebRoadmapItem: "ProjectForTheWebRoadmapItem",
    ProjectForTheWebProjectSettings: "ProjectForTheWebProjectSettings",
    ProjectForTheWebRoadmapSettings: "ProjectForTheWebRoadmapSettings",
    QuarantineMetadata: "QuarantineMetadata",
    MicrosoftTodoAudit: "MicrosoftTodoAudit",
    TimeTravelFilteringDocMetadata: "TimeTravelFilteringDocMetadata",
    TeamsQuarantineMetadata: "TeamsQuarantineMetadata",
    SharePointAppPermissionOperation: "SharePointAppPermissionOperation",
    MicrosoftTeamsSensitivityLabelAction: "MicrosoftTeamsSensitivityLabelAction",
    FilteringTeamsMetadata: "FilteringTeamsMetadata",
    FilteringTeamsUrlInfo: "FilteringTeamsUrlInfo",
    FilteringTeamsPostDeliveryAction: "FilteringTeamsPostDeliveryAction",
    MDCAssessments: "MDCAssessments",
    MDCRegulatoryComplianceStandards: "MDCRegulatoryComplianceStandards",
    MDCRegulatoryComplianceControls: "MDCRegulatoryComplianceControls",
    MDCRegulatoryComplianceAssessments: "MDCRegulatoryComplianceAssessments",
    MDCSecurityConnectors: "MDCSecurityConnectors",
    MDADataSecuritySignal: "MDADataSecuritySignal",
    VivaGoals: "VivaGoals",
    FilteringRuntimeInfo: "FilteringRuntimeInfo",
    AttackSimAdmin: "AttackSimAdmin",
    MicrosoftGraphDataConnectConsent: "MicrosoftGraphDataConnectConsent",
    FilteringAtpDetonationInfo: "FilteringAtpDetonationInfo",
    PrivacyPortal: "PrivacyPortal",
    ManagedTenants: "ManagedTenants",
    UnifiedSimulationMatchedItem: "UnifiedSimulationMatchedItem",
    UnifiedSimulationSummary: "UnifiedSimulationSummary",
    UpdateQuarantineMetadata: "UpdateQuarantineMetadata",
    MS365DSuppressionRule: "MS365DSuppressionRule",
    PurviewDataMapOperation: "PurviewDataMapOperation",
    FilteringUrlPostClickAction: "FilteringUrlPostClickAction",
    IrmUserDefinedDetectionSignal: "IrmUserDefinedDetectionSignal",
    TeamsUpdates: "TeamsUpdates",
    PlannerRosterSensitivityLabel: "PlannerRosterSensitivityLabel",
    MS365DIncident: "MS365DIncident",
    FilteringDelistingMetadata: "FilteringDelistingMetadata",
    ComplianceDLPSharePointClassificationExtended: "ComplianceDLPSharePointClassificationExtended",
    MicrosoftDefenderForIdentityAudit: "MicrosoftDefenderForIdentityAudit",
    SupervisoryReviewDayXInsight: "SupervisoryReviewDayXInsight",
    DefenderExpertsforXDRAdmin: "DefenderExpertsforXDRAdmin",
    CDPEdgeBlockedMessage: "CDPEdgeBlockedMessage",
    HostedRpa: "HostedRpa",
    CdpContentExplorerAggregateRecord: "CdpContentExplorerAggregateRecord",
    CDPHygieneAttachmentInfo: "CDPHygieneAttachmentInfo",
    CDPHygieneSummary: "CDPHygieneSummary",
    CDPPostMailDeliveryAction: "CDPPostMailDeliveryAction",
    CDPEmailFeatures: "CDPEmailFeatures",
    CDPHygieneUrlInfo: "CDPHygieneUrlInfo",
    CDPUrlClick: "CDPUrlClick",
    CDPPackageManagerHygieneEvent: "CDPPackageManagerHygieneEvent",
    FilteringDocScan: "FilteringDocScan",
    TimeTravelFilteringDocScan: "TimeTravelFilteringDocScan",
    MAPGOnboard: "MAPGOnboard",
    VfamCreatePolicy: "VfamCreatePolicy",
    VfamUpdatePolicy: "VfamUpdatePolicy",
    VfamDeletePolicy: "VfamDeletePolicy",
    M365DAAD: "M365DAAD",
    CdpColdCrawlStatus: "CdpColdCrawlStatus",
    PowerPlatformAdministratorActivity: "PowerPlatformAdministratorActivity",
    Windows365CustomerLockbox: "Windows365CustomerLockbox",
    CdpResourceScopeChangeEvent: "CdpResourceScopeChangeEvent",
    ComplianceCCExchangeExecutionResult: "ComplianceCCExchangeExecutionResult",
    CdpOcrCostEstimatorRecord: "CdpOcrCostEstimatorRecord",
    CopilotInteraction: "CopilotInteraction",
    CdpOcrBillingRecord: "CdpOcrBillingRecord",
    ComplianceDLPApplications: "ComplianceDLPApplications",
    UAMOperation: "UAMOperation",
    VivaLearning: "VivaLearning",
    VivaLearningAdmin: "VivaLearningAdmin",
    PurviewPolicyOperation: "PurviewPolicyOperation",
    PurviewMetadataPolicyOperation: "PurviewMetadataPolicyOperation",
    PeopleAdminSettings: "PeopleAdminSettings",
    CdpComplianceDLPExchangeClassification: "CdpComplianceDLPExchangeClassification",
    CdpComplianceDLPSharePointClassification: "CdpComplianceDLPSharePointClassification",
    FilteringBulkSenderInsightData: "FilteringBulkSenderInsightData",
    FilteringBulkThresholdInsightData: "FilteringBulkThresholdInsightData",
    PrivacyOpenAccess: "PrivacyOpenAccess",
    OWAAuth: "OWAAuth",
    ComplianceDLPApplicationsClassification: "ComplianceDLPApplicationsClassification",
    SharePointESignature: "SharePointESignature",
    Dynamics365BusinessCentral: "Dynamics365BusinessCentral",
    MeshWorlds: "MeshWorlds",
    VivaPulseResponse: "VivaPulseResponse",
    VivaPulseOrganizer: "VivaPulseOrganizer",
    VivaPulseAdmin: "VivaPulseAdmin",
    VivaPulseReport: "VivaPulseReport",
    AIAppInteraction: "AIAppInteraction",
    ComplianceDLMExchange: "ComplianceDLMExchange",
    ComplianceDLMSharePoint: "ComplianceDLMSharePoint",
    ProjectForTheWebAssignedToMeSettings: "ProjectForTheWebAssignedToMeSettings",
    CPSOperation: "CPSOperation",
    ComplianceDLPExchangeDiscovery: "ComplianceDLPExchangeDiscovery",
    PurviewMCRecommendation: "PurviewMCRecommendation",
    ComplianceDLPEndpointDiscovery: "ComplianceDLPEndpointDiscovery",
    InsiderRiskScopedUserInsights: "InsiderRiskScopedUserInsights",
    MicrosoftTeamsRetentionLabelAction: "MicrosoftTeamsRetentionLabelAction",
    AadRiskDetection: "AadRiskDetection",
    AuditSearch: "AuditSearch",
    AuditRetentionPolicy: "AuditRetentionPolicy",
    AuditConfig: "AuditConfig",
    Microsoft365BackupBackupPolicy: "Microsoft365BackupBackupPolicy",
    Microsoft365BackupRestoreTask: "Microsoft365BackupRestoreTask",
    Microsoft365BackupRestoreItem: "Microsoft365BackupRestoreItem",
    Microsoft365BackupBackupItem: "Microsoft365BackupBackupItem",
    URBACAssignment: "URBACAssignment",
    URBACRole: "URBACRole",
    URBACEnableState: "URBACEnableState",
    IRMSecurityAlert: "IRMSecurityAlert",
    PurviewInsiderRiskCases: "PurviewInsiderRiskCases",
    PurviewInsiderRiskAlerts: "PurviewInsiderRiskAlerts",
    InsiderRiskScopedUsers: "InsiderRiskScopedUsers",
    CdpConsumptionResource: "CdpConsumptionResource",
    CreateCopilotPlugin: "CreateCopilotPlugin",
    UpdateCopilotPlugin: "UpdateCopilotPlugin",
    DeleteCopilotPlugin: "DeleteCopilotPlugin",
    EnableCopilotPlugin: "EnableCopilotPlugin",
    DisableCopilotPlugin: "DisableCopilotPlugin",
    CreateCopilotWorkspace: "CreateCopilotWorkspace",
    UpdateCopilotWorkspace: "UpdateCopilotWorkspace",
    DeleteCopilotWorkspace: "DeleteCopilotWorkspace",
    EnableCopilotWorkspace: "EnableCopilotWorkspace",
    DisableCopilotWorkspace: "DisableCopilotWorkspace",
    CreateCopilotPromptBook: "CreateCopilotPromptBook",
    UpdateCopilotPromptBook: "UpdateCopilotPromptBook",
    DeleteCopilotPromptBook: "DeleteCopilotPromptBook",
    EnableCopilotPromptBook: "EnableCopilotPromptBook",
    DisableCopilotPromptBook: "DisableCopilotPromptBook",
    UpdateCopilotSettings: "UpdateCopilotSettings",
    P4AIAssessmentRecord: "P4AIAssessmentRecord",
    P4AIAssessmentLocationResultRecord: "P4AIAssessmentLocationResultRecord",
    ConnectedAIAppInteraction: "ConnectedAIAppInteraction",
    PrivaPrivacyConsentOperation: "PrivaPrivacyConsentOperation",
    PrivaPrivacyAssessmentOperation: "PrivaPrivacyAssessmentOperation",
    DataCatalogAccessRequests: "DataCatalogAccessRequests",
    ComplianceSettingsChange: "ComplianceSettingsChange",
    DataSecurityInvestigation: "DataSecurityInvestigation",
    TeamCopilotInteraction: "TeamCopilotInteraction",
    IRMActivityAuditTrail: "IRMActivityAuditTrail",
    SharePointContentSecurityPolicy: "SharePointContentSecurityPolicy",
    CloudUpdateProfileConfig: "CloudUpdateProfileConfig",
    CloudUpdateTenantConfig: "CloudUpdateTenantConfig",
    CloudUpdateDeviceConfig: "CloudUpdateDeviceConfig",
    DefenderPreviewFeatures: "DefenderPreviewFeatures",
    DeviceDiscoverySettingsExclusion: "DeviceDiscoverySettingsExclusion",
    DeviceDiscoverySettingsAuthenticatedScans: "DeviceDiscoverySettingsAuthenticatedScans",
    CriticalAssetManagementClassification: "CriticalAssetManagementClassification",
    DeviceDiscoverySettings: "DeviceDiscoverySettings",
    USXWorkspaceOnboarding: "USXWorkspaceOnboarding",
    VivaGlintAdvancedConfiguration: "VivaGlintAdvancedConfiguration",
    VivaGlintPulseProgram: "VivaGlintPulseProgram",
    VivaGlintPulseProgramRespondentRate: "VivaGlintPulseProgramRespondentRate",
    VivaGlintQuestion: "VivaGlintQuestion",
    VivaGlintRole: "VivaGlintRole",
    VivaGlintRubicon: "VivaGlintRubicon",
    VivaGlintSupportAccess: "VivaGlintSupportAccess",
    VivaGlintSystem: "VivaGlintSystem",
    VivaGlintUser: "VivaGlintUser",
    VivaGlintUserGroup: "VivaGlintUserGroup",
    VivaGlintFeedbackProgram: "VivaGlintFeedbackProgram",
    FabricAudit: "FabricAudit",
    TrainableClassifier: "TrainableClassifier",
    WebContentFiltering: "WebContentFiltering",
    NoisyAlertPolicy: "NoisyAlertPolicy",
    OnDemandSharePointClassification: "OnDemandSharePointClassification",
    AIInteractionsExport: "AIInteractionsExport",
    Microsoft365CopilotScheduledPrompt: "Microsoft365CopilotScheduledPrompt",
    PlacesDirectory: "PlacesDirectory",
    MDAAudit: "MDAAudit",
    OpticalCharacterRecognition: "OpticalCharacterRecognition",
    M365SearchSections: "M365SearchSections",
    OfficeClientRestrictedModeAction: "OfficeClientRestrictedModeAction",
    CrossTenantAccessPolicy: "CrossTenantAccessPolicy",
    OutlookCopilotAutomation: "OutlookCopilotAutomation",
    VivaEngageNetworkAssociation: "VivaEngageNetworkAssociation",
    AppAdminActivity: "AppAdminActivity",
    AppSettingsAdminActivity: "AppSettingsAdminActivity",
    UniversalPrintPrintJob: "UniversalPrintPrintJob",
    SentinelNotebookOnLake: "SentinelNotebookOnLake",
    SentinelJob: "SentinelJob",
    SentinelGraph: "SentinelGraph",
    SentinelKQLOnLake: "SentinelKQLOnLake",
    SentinelPackage: "SentinelPackage",
    VivaAmplifyOutlookSensitivityLabel: "VivaAmplifyOutlookSensitivityLabel",
    CopilotActions: "CopilotActions",
    AIInteractionsSubscription: "AIInteractionsSubscription",
    AIInteractionsChangeNotification: "AIInteractionsChangeNotification",
    FilteringMailMetadataExtended: "FilteringMailMetadataExtended",
    SentinelLakeOnboarding: "SentinelLakeOnboarding",
    SentinelLakeDataOnboarding: "SentinelLakeDataOnboarding",
    OfficeRestrictedModeAction: "OfficeRestrictedModeAction",
    CopilotForSecurityTrigger: "CopilotForSecurityTrigger",
    CopilotAgentManagement: "CopilotAgentManagement",
    P4AIAssessmentFabricScannerRecord: "P4AIAssessmentFabricScannerRecord",
    PlannerGoal: "PlannerGoal",
    PlannerGoalList: "PlannerGoalList",
    ThreatIntelligenceObject: "ThreatIntelligenceObject",
    ThreatIntelligenceExport: "ThreatIntelligenceExport",
    SubmissionAgenticGradingResult: "SubmissionAgenticGradingResult",
    AgentAdminActivity: "AgentAdminActivity",
    DeployFeatureActivity: "DeployFeatureActivity",
    AgentSettingsAdminActivity: "AgentSettingsAdminActivity",
    OrganizationalDataInM365: "OrganizationalDataInM365",
    PlannerChatMessage: "PlannerChatMessage",
    PlannerChatMessageList: "PlannerChatMessageList",
    SentinelAITool: "SentinelAITool",
    M365ODSPAssetMetadata: "M365ODSPAssetMetadata",
    AIExecuteTool: "AIExecuteTool",
    AIInvokeAgent: "AIInvokeAgent",
    AIInferenceCall: "AIInferenceCall",
    CdpClassifierHealthRecord: "CdpClassifierHealthRecord",
    SensitiveInfoRemediationAgentData: "SensitiveInfoRemediationAgentData",
    ComplianceDLPEnforcement: "ComplianceDLPEnforcement",
    A365AIExecuteTool: "A365AIExecuteTool",
    A365AIInvokeAgent: "A365AIInvokeAgent",
    A365AIInferenceCall: "A365AIInferenceCall",
    VivaEngageSegment: "VivaEngageSegment",
    RTIOperationsAgent: "RTIOperationsAgent",
    ContentStoreMetadata: "ContentStoreMetadata",
    CCRAIPolicyViolation: "CCRAIPolicyViolation",
    PlannerPlanSensitivityLabel: "PlannerPlanSensitivityLabel",
    MosAgentInfoRecord: "MosAgentInfoRecord",
    A365AIRunSummary: "A365AIRunSummary",
    UnifiedCatalogConceptAction: "UnifiedCatalogConceptAction",
    DefenderCaseManagement: "DefenderCaseManagement",
    CopilotForSecurityLogging: "CopilotForSecurityLogging",
    VivaEngageEvents: "VivaEngageEvents",
    CallActivityEvent: "CallActivityEvent",
    SonarDetonationContentMetadata: "SonarDetonationContentMetadata",
    UniversalPrintManagement: "UniversalPrintManagement",
    YammerUserHiding: "YammerUserHiding",
    Microsoft365BackupGranularBrowseTask: "Microsoft365BackupGranularBrowseTask",
    PurviewPostureAgent: "PurviewPostureAgent",
    MSDECustomCollection: "MSDECustomCollection",
    SCPUsageEvent: "SCPUsageEvent",
    SCPConfigurationEvent: "SCPConfigurationEvent",
    MDCConfigurationEvent: "MDCConfigurationEvent",
    MDCUsageEvent: "MDCUsageEvent",
    A365SpanOutputs: "A365SpanOutputs",
    PowerPlatformTenantIsolation: "PowerPlatformTenantIsolation",
    CDPDLMAIInteractionInsights: "CDPDLMAIInteractionInsights",
    P4AIAssessmentCategoryRecord: "P4AIAssessmentCategoryRecord",
    SentinelLakeEncryption: "SentinelLakeEncryption",
    AZFWNetworkRule: "AZFWNetworkRule",
    AZFWDnsQuery: "AZFWDnsQuery",
    AZFWApplicationRuleAggregation: "AZFWApplicationRuleAggregation",
    TeamsEvalDataHubDataAccess: "TeamsEvalDataHubDataAccess",
    TeamsEvalDataHubPermissionChange: "TeamsEvalDataHubPermissionChange",
    TeamsEvalDataHubAdminOperation: "TeamsEvalDataHubAdminOperation",
    VivaGlintOrganizationalData: "VivaGlintOrganizationalData",
    AlertSubmission: "AlertSubmission",
    AlertSubmissionResultDetail: "AlertSubmissionResultDetail",
    ComplianceSitGradingSharePoint: "ComplianceSitGradingSharePoint",
    CompliancePolicyGradingSharePoint: "CompliancePolicyGradingSharePoint",
    AzureAISearchAudit: "AzureAISearchAudit",
    P4AIRiskScoreRecord: "P4AIRiskScoreRecord",
    DragonCopilotAdmin: "DragonCopilotAdmin",
    AISpanOutputs: "AISpanOutputs",
    EopSubmissionFeedEntity: "EopSubmissionFeedEntity",
    SonarFileDetonationEntity: "SonarFileDetonationEntity",
    SonarSubmissionEntity: "SonarSubmissionEntity",
    SonarUrlDetonationEntity: "SonarUrlDetonationEntity",
    SubmissionEntity: "SubmissionEntity",
    SonarDetonationEntity: "SonarDetonationEntity",
    MicrosoftTeamsUserConcern: "MicrosoftTeamsUserConcern",
    VivaGlintAgenticCampaign: "VivaGlintAgenticCampaign",
    MSPVectorSearchContentMetadata: "MSPVectorSearchContentMetadata",
    FabricPolicy: "FabricPolicy",
    SecurityCopilotAgentIdentityManagement: "SecurityCopilotAgentIdentityManagement",
    CopilotSessionSharing: "CopilotSessionSharing",
    DragonCopilotAccess: "DragonCopilotAccess",
    DragonCopilotClinicalData: "DragonCopilotClinicalData",
    DragonCopilotSession: "DragonCopilotSession",
    MosAgentInfoRecordV2: "MosAgentInfoRecordV2",
    SecurityDevelopmentLifecycleAILog: "SecurityDevelopmentLifecycleAILog",
    MDASH: "MDASH",
    DefenderSecurityForAIConfiguration: "DefenderSecurityForAIConfiguration",
    SparkCoreCustomLivePool: "SparkCoreCustomLivePool",
    UnknownFutureValue: "unknownFutureValue",
};
/**
 * Type of user associated with an audit log record.
 */
export const AuditLogUserTypeObject = {
    Regular: "Regular",
    Reserved: "Reserved",
    Admin: "Admin",
    DcAdmin: "DcAdmin",
    System: "System",
    Application: "Application",
    ServicePrincipal: "ServicePrincipal",
    CustomPolicy: "CustomPolicy",
    SystemPolicy: "SystemPolicy",
    PartnerTechnician: "PartnerTechnician",
    Guest: "Guest",
    UnknownFutureValue: "unknownFutureValue",
};
export const BehaviorDuringRetentionPeriodObject = {
    DoNotRetain: "doNotRetain",
    Retain: "retain",
    RetainAsRecord: "retainAsRecord",
    RetainAsRegulatoryRecord: "retainAsRegulatoryRecord",
    UnknownFutureValue: "unknownFutureValue",
};
export const CaseActionObject = {
    ContentExport: "contentExport",
    ApplyTags: "applyTags",
    ConvertToPdf: "convertToPdf",
    Index: "index",
    EstimateStatistics: "estimateStatistics",
    AddToReviewSet: "addToReviewSet",
    HoldUpdate: "holdUpdate",
    UnknownFutureValue: "unknownFutureValue",
    PurgeData: "purgeData",
    ExportReport: "exportReport",
    ExportResult: "exportResult",
    HoldPolicySync: "holdPolicySync",
};
export const CaseOperationStatusObject = {
    NotStarted: "notStarted",
    SubmissionFailed: "submissionFailed",
    Running: "running",
    Succeeded: "succeeded",
    PartiallySucceeded: "partiallySucceeded",
    Failed: "failed",
    UnknownFutureValue: "unknownFutureValue",
};
export const CaseStatusObject = {
    Unknown: "unknown",
    Active: "active",
    PendingDelete: "pendingDelete",
    Closing: "closing",
    Closed: "closed",
    ClosedWithError: "closedWithError",
    UnknownFutureValue: "unknownFutureValue",
};
export const CaseTypeObject = {
    Standard: "standard",
    Premium: "premium",
    UnknownFutureValue: "unknownFutureValue",
};
export const ChildSelectabilityObject = {
    One: "One",
    Many: "Many",
    UnknownFutureValue: "unknownFutureValue",
};
export const CloudAppInfoStateObject = {
    TrueEscaped: "true",
    FalseEscaped: "false",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const CloudAttachmentVersionObject = {
    Latest: "latest",
    Recent10: "recent10",
    Recent100: "recent100",
    All: "all",
    UnknownFutureValue: "unknownFutureValue",
};
export const ContainerPortProtocolObject = {
    Udp: "udp",
    Tcp: "tcp",
    Sctp: "sctp",
    UnknownFutureValue: "unknownFutureValue",
};
export const ContentAlignmentObject = {
    Left: "left",
    Right: "right",
    Center: "center",
};
export const ContentFormatObject = {
    Text: "text",
    Html: "html",
    Markdown: "markdown",
    UnknownFutureValue: "unknownFutureValue",
};
export const ContentStateObject = {
    Rest: "rest",
    Motion: "motion",
    Use: "use",
};
export const CorrelationReasonObject = {
    RepeatedAlertOccurrence: "repeatedAlertOccurrence",
    SameGeography: "sameGeography",
    SimilarArtifacts: "similarArtifacts",
    SameTargetedAsset: "sameTargetedAsset",
    SameNetworkSegment: "sameNetworkSegment",
    EventSequence: "eventSequence",
    TimeFrame: "timeFrame",
    SameThreatSource: "sameThreatSource",
    SimilarTTPsOrBehavior: "similarTTPsOrBehavior",
    SameActor: "sameActor",
    SameCampaign: "sameCampaign",
    SharedIndicators: "sharedIndicators",
    SameAsset: "sameAsset",
    NetworkProximity: "networkProximity",
    EventCasualSequence: "eventCasualSequence",
    TemporalProximity: "temporalProximity",
    LateralMovementPath: "lateralMovementPath",
    UnknownFutureValue: "unknownFutureValue",
};
export const DataSourceContainerStatusObject = {
    Active: "active",
    Released: "released",
    UnknownFutureValue: "unknownFutureValue",
};
export const DataSourceHoldStatusObject = {
    NotApplied: "notApplied",
    Applied: "applied",
    Applying: "applying",
    Removing: "removing",
    Partial: "partial",
    UnknownFutureValue: "unknownFutureValue",
};
export const DataSourceScopesObject = {
    None: "none",
    AllTenantMailboxes: "allTenantMailboxes",
    AllTenantSites: "allTenantSites",
    AllCaseCustodians: "allCaseCustodians",
    AllCaseNoncustodialDataSources: "allCaseNoncustodialDataSources",
    UnknownFutureValue: "unknownFutureValue",
};
export const DefaultRecordBehaviorObject = {
    StartLocked: "startLocked",
    StartUnlocked: "startUnlocked",
    UnknownFutureValue: "unknownFutureValue",
};
export const DefenderAvStatusObject = {
    NotReporting: "notReporting",
    Disabled: "disabled",
    NotUpdated: "notUpdated",
    Updated: "updated",
    Unknown: "unknown",
    NotSupported: "notSupported",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeliveryActionObject = {
    Unknown: "unknown",
    DeliveredToJunk: "deliveredToJunk",
    Delivered: "delivered",
    Blocked: "blocked",
    Replaced: "replaced",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeliveryLocationObject = {
    Unknown: "unknown",
    Inbox_folder: "inbox_folder",
    JunkFolder: "junkFolder",
    DeletedFolder: "deletedFolder",
    Quarantine: "quarantine",
    Onprem_external: "onprem_external",
    Failed: "failed",
    Dropped: "dropped",
    Others: "others",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeploymentStatusObject = {
    UpToDate: "upToDate",
    Outdated: "outdated",
    Updating: "updating",
    UpdateFailed: "updateFailed",
    NotConfigured: "notConfigured",
    Unreachable: "unreachable",
    Disconnected: "disconnected",
    StartFailure: "startFailure",
    Syncing: "syncing",
    UnknownFutureValue: "unknownFutureValue",
};
export const DetectionRuleStatusObject = {
    Enabled: "enabled",
    Disabled: "disabled",
    AutoDisabled: "autoDisabled",
    UnknownFutureValue: "unknownFutureValue",
};
export const DetectionSourceObject = {
    Unknown: "unknown",
    MicrosoftDefenderForEndpoint: "microsoftDefenderForEndpoint",
    Antivirus: "antivirus",
    SmartScreen: "smartScreen",
    CustomTi: "customTi",
    MicrosoftDefenderForOffice365: "microsoftDefenderForOffice365",
    AutomatedInvestigation: "automatedInvestigation",
    MicrosoftThreatExperts: "microsoftThreatExperts",
    CustomDetection: "customDetection",
    MicrosoftDefenderForIdentity: "microsoftDefenderForIdentity",
    CloudAppSecurity: "cloudAppSecurity",
    Microsoft365Defender: "microsoft365Defender",
    AzureAdIdentityProtection: "azureAdIdentityProtection",
    Manual: "manual",
    MicrosoftDataLossPrevention: "microsoftDataLossPrevention",
    AppGovernancePolicy: "appGovernancePolicy",
    AppGovernanceDetection: "appGovernanceDetection",
    UnknownFutureValue: "unknownFutureValue",
    MicrosoftDefenderForCloud: "microsoftDefenderForCloud",
    MicrosoftDefenderForIoT: "microsoftDefenderForIoT",
    MicrosoftDefenderForServers: "microsoftDefenderForServers",
    MicrosoftDefenderForStorage: "microsoftDefenderForStorage",
    MicrosoftDefenderForDNS: "microsoftDefenderForDNS",
    MicrosoftDefenderForDatabases: "microsoftDefenderForDatabases",
    MicrosoftDefenderForContainers: "microsoftDefenderForContainers",
    MicrosoftDefenderForNetwork: "microsoftDefenderForNetwork",
    MicrosoftDefenderForAppService: "microsoftDefenderForAppService",
    MicrosoftDefenderForKeyVault: "microsoftDefenderForKeyVault",
    MicrosoftDefenderForResourceManager: "microsoftDefenderForResourceManager",
    MicrosoftDefenderForApiManagement: "microsoftDefenderForApiManagement",
    NrtAlerts: "nrtAlerts",
    ScheduledAlerts: "scheduledAlerts",
    MicrosoftDefenderThreatIntelligenceAnalytics: "microsoftDefenderThreatIntelligenceAnalytics",
    BuiltInMl: "builtInMl",
    MicrosoftInsiderRiskManagement: "microsoftInsiderRiskManagement",
    MicrosoftThreatIntelligence: "microsoftThreatIntelligence",
    MicrosoftDefenderForAIServices: "microsoftDefenderForAIServices",
    SecurityCopilot: "securityCopilot",
    MicrosoftSentinel: "microsoftSentinel",
};
export const DetectionStatusObject = {
    Detected: "detected",
    Blocked: "blocked",
    Prevented: "prevented",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeviceAssetIdentifierObject = {
    DeviceId: "deviceId",
    DeviceName: "deviceName",
    RemoteDeviceName: "remoteDeviceName",
    TargetDeviceName: "targetDeviceName",
    DestinationDeviceName: "destinationDeviceName",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeviceHealthStatusObject = {
    Active: "active",
    Inactive: "inactive",
    ImpairedCommunication: "impairedCommunication",
    NoSensorData: "noSensorData",
    NoSensorDataImpairedCommunication: "noSensorDataImpairedCommunication",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeviceIdEntityIdentifierObject = {
    DeviceId: "deviceId",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeviceRiskScoreObject = {
    None: "none",
    Informational: "informational",
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const DeviceTypeObject = {
    DomainController: "domainController",
    Adfs: "adfs",
    Adcs: "adcs",
    EntraConnect: "entraConnect",
    UnknownFutureValue: "unknownFutureValue",
};
export const DisableUserEntityIdentifierObject = {
    AccountSid: "accountSid",
    InitiatingProcessAccountSid: "initiatingProcessAccountSid",
    RequestAccountSid: "requestAccountSid",
    OnPremSid: "onPremSid",
    UnknownFutureValue: "unknownFutureValue",
};
export const DocumentVersionObject = {
    Latest: "latest",
    Recent10: "recent10",
    Recent100: "recent100",
    All: "all",
    UnknownFutureValue: "unknownFutureValue",
};
export const EmailEntityIdentifierObject = {
    NetworkMessageId: "networkMessageId",
    RecipientEmailAddress: "recipientEmailAddress",
    UnknownFutureValue: "unknownFutureValue",
};
export const EntityDefinitionInputRoleObject = {
    Impacted: "impacted",
    Related: "related",
    UnknownFutureValue: "unknownFutureValue",
};
export const EntityTypeObject = {
    UserName: "userName",
    IpAddress: "ipAddress",
    MachineName: "machineName",
    Other: "other",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const EnvironmentKindObject = {
    AzureSubscription: "azureSubscription",
    AwsOrganization: "awsOrganization",
    AwsAccount: "awsAccount",
    GcpOrganization: "gcpOrganization",
    GcpProject: "gcpProject",
    DockersHubOrganization: "dockersHubOrganization",
    DevOpsConnection: "devOpsConnection",
    AzureDevOpsOrganization: "azureDevOpsOrganization",
    GitHubOrganization: "gitHubOrganization",
    GitLabGroup: "gitLabGroup",
    JFrogArtifactory: "jFrogArtifactory",
    UnknownFutureValue: "unknownFutureValue",
};
export const EventPropagationStatusObject = {
    None: "none",
    InProcessing: "inProcessing",
    Failed: "failed",
    Success: "success",
    UnknownFutureValue: "unknownFutureValue",
};
export const EventSourceObject = {
    System: "system",
    Admin: "admin",
    User: "user",
    UnknownFutureValue: "unknownFutureValue",
};
export const EventStatusTypeObject = {
    Pending: "pending",
    ErrorEscaped: "error",
    Success: "success",
    NotAvaliable: "notAvaliable",
    UnknownFutureValue: "unknownFutureValue",
};
export const EvidenceRemediationStatusObject = {
    None: "none",
    Remediated: "remediated",
    Prevented: "prevented",
    Blocked: "blocked",
    NotFound: "notFound",
    UnknownFutureValue: "unknownFutureValue",
    Active: "active",
    PendingApproval: "pendingApproval",
    Declined: "declined",
    Unremediated: "unremediated",
    Running: "running",
    PartiallyRemediated: "partiallyRemediated",
};
export const EvidenceRoleObject = {
    Unknown: "unknown",
    Contextual: "contextual",
    Scanned: "scanned",
    Source: "source",
    Destination: "destination",
    Created: "created",
    Added: "added",
    Compromised: "compromised",
    Edited: "edited",
    Attacked: "attacked",
    Attacker: "attacker",
    CommandAndControl: "commandAndControl",
    Loaded: "loaded",
    Suspicious: "suspicious",
    PolicyViolator: "policyViolator",
    UnknownFutureValue: "unknownFutureValue",
};
export const EvidenceVerdictObject = {
    Unknown: "unknown",
    Suspicious: "suspicious",
    Malicious: "malicious",
    NoThreatsFound: "noThreatsFound",
    UnknownFutureValue: "unknownFutureValue",
};
export const ExportCriteriaObject = {
    SearchHits: "searchHits",
    PartiallyIndexed: "partiallyIndexed",
    UnknownFutureValue: "unknownFutureValue",
};
export const ExportFileStructureObject = {
    None: "none",
    Directory: "directory",
    Pst: "pst",
    UnknownFutureValue: "unknownFutureValue",
    Msg: "msg",
};
export const ExportFormatObject = {
    Pst: "pst",
    Msg: "msg",
    Eml: "eml",
    UnknownFutureValue: "unknownFutureValue",
};
export const ExportLocationObject = {
    ResponsiveLocations: "responsiveLocations",
    NonresponsiveLocations: "nonresponsiveLocations",
    UnknownFutureValue: "unknownFutureValue",
};
export const ExportOptionsObject = {
    OriginalFiles: "originalFiles",
    Text: "text",
    PdfReplacement: "pdfReplacement",
    FileInfo: "fileInfo",
    Tags: "tags",
    UnknownFutureValue: "unknownFutureValue",
    SplitSource: "splitSource",
    IncludeFolderAndPath: "includeFolderAndPath",
    FriendlyName: "friendlyName",
    CondensePaths: "condensePaths",
};
export const FileEntityIdentifierObject = {
    Sha1: "sha1",
    InitiatingProcessSHA1: "initiatingProcessSHA1",
    Sha256: "sha256",
    InitiatingProcessSHA256: "initiatingProcessSHA256",
    UnknownFutureValue: "unknownFutureValue",
};
export const FileHashAlgorithmObject = {
    Unknown: "unknown",
    Md5: "md5",
    Sha1: "sha1",
    Sha256: "sha256",
    Sha256ac: "sha256ac",
    UnknownFutureValue: "unknownFutureValue",
};
export const FileProcessingStatusObject = {
    Success: "success",
    InternalError: "internalError",
    UnknownError: "unknownError",
    ProcessingTimeout: "processingTimeout",
    InvalidFileId: "invalidFileId",
    FileSizeIsZero: "fileSizeIsZero",
    FileSizeIsTooLarge: "fileSizeIsTooLarge",
    FileDepthLimitExceeded: "fileDepthLimitExceeded",
    FileBodyIsTooLong: "fileBodyIsTooLong",
    FileTypeIsUnknown: "fileTypeIsUnknown",
    FileTypeIsNotSupported: "fileTypeIsNotSupported",
    MalformedFile: "malformedFile",
    ProtectedFile: "protectedFile",
    PoisonFile: "poisonFile",
    NoReviewSetSummaryGenerated: "noReviewSetSummaryGenerated",
    ExtractionException: "extractionException",
    OcrProcessingTimeout: "ocrProcessingTimeout",
    OcrFileSizeExceedsLimit: "ocrFileSizeExceedsLimit",
    UnknownFutureValue: "unknownFutureValue",
};
export const ForceUserPasswordResetEntityIdentifierObject = {
    AccountSid: "accountSid",
    InitiatingProcessAccountSid: "initiatingProcessAccountSid",
    RequestAccountSid: "requestAccountSid",
    OnPremSid: "onPremSid",
    UnknownFutureValue: "unknownFutureValue",
};
export const GoogleCloudLocationTypeObject = {
    Unknown: "unknown",
    Regional: "regional",
    Zonal: "zonal",
    Global: "global",
    UnknownFutureValue: "unknownFutureValue",
};
export const HealthIssueSeverityObject = {
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const HealthIssueStatusObject = {
    Open: "open",
    Closed: "closed",
    Suppressed: "suppressed",
    UnknownFutureValue: "unknownFutureValue",
};
export const HealthIssueTypeObject = {
    Sensor: "sensor",
    Global: "global",
    UnknownFutureValue: "unknownFutureValue",
};
export const HostPortProtocolObject = {
    Tcp: "tcp",
    Udp: "udp",
    UnknownFutureValue: "unknownFutureValue",
};
export const HostPortStatusObject = {
    Open: "open",
    Filtered: "filtered",
    Closed: "closed",
    UnknownFutureValue: "unknownFutureValue",
};
export const HostReputationClassificationObject = {
    Unknown: "unknown",
    Neutral: "neutral",
    Suspicious: "suspicious",
    Malicious: "malicious",
    UnknownFutureValue: "unknownFutureValue",
};
export const HostReputationRuleSeverityObject = {
    Unknown: "unknown",
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const HuntingRuleErrorCodeObject = {
    QueryExecutionFailed: "queryExecutionFailed",
    QueryExecutionThrottling: "queryExecutionThrottling",
    QueryExceededResultSize: "queryExceededResultSize",
    QueryLimitsExceeded: "queryLimitsExceeded",
    QueryTimeout: "queryTimeout",
    AlertCreationFailed: "alertCreationFailed",
    AlertReportNotFound: "alertReportNotFound",
    PartialRowsFailed: "partialRowsFailed",
    UnknownFutureValue: "unknownFutureValue",
    NoImpactedEntity: "noImpactedEntity",
};
export const HuntingRuleRunStatusObject = {
    Running: "running",
    Completed: "completed",
    Failed: "failed",
    PartiallyFailed: "partiallyFailed",
    UnknownFutureValue: "unknownFutureValue",
};
export const IdentityProviderObject = {
    EntraID: "entraID",
    ActiveDirectory: "activeDirectory",
    Okta: "okta",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentStatusObject = {
    Active: "active",
    Resolved: "resolved",
    InProgress: "inProgress",
    Redirected: "redirected",
    UnknownFutureValue: "unknownFutureValue",
    AwaitingAction: "awaitingAction",
};
export const IncidentTaskActionStatusObject = {
    NotStarted: "notStarted",
    InProgress: "inProgress",
    PartiallyCompleted: "partiallyCompleted",
    Completed: "completed",
    Failed: "failed",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentTaskActionTypeObject = {
    Text: "text",
    IsolateDevice: "isolateDevice",
    StopAndQuarantineFile: "stopAndQuarantineFile",
    RunAntiVirusScan: "runAntiVirusScan",
    CollectInvestigationPackage: "collectInvestigationPackage",
    RestrictAppExecution: "restrictAppExecution",
    SubmitIocRule: "submitIocRule",
    ForceUserPasswordReset: "forceUserPasswordReset",
    DisableUser: "disableUser",
    MarkUserAsCompromised: "markUserAsCompromised",
    RequireSignIn: "requireSignIn",
    HardDeleteEmail: "hardDeleteEmail",
    SoftDeleteEmail: "softDeleteEmail",
    UnIsolateDevice: "unIsolateDevice",
    UnRestrictAppExecution: "unRestrictAppExecution",
    EnableUser: "enableUser",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentTaskSourceObject = {
    DefenderExpertsGuidedResponse: "defenderExpertsGuidedResponse",
    DefenderExpertsManagedResponse: "defenderExpertsManagedResponse",
    UnknownFutureValue: "unknownFutureValue",
};
export const IncidentTaskStatusObject = {
    Open: "open",
    InProgress: "inProgress",
    Completed: "completed",
    Failed: "failed",
    NotRelevant: "notRelevant",
    UnknownFutureValue: "unknownFutureValue",
};
export const IndicatorSourceObject = {
    Microsoft: "microsoft",
    Osint: "osint",
    Public: "public",
    UnknownFutureValue: "unknownFutureValue",
};
export const IntelligenceProfileKindObject = {
    Actor: "actor",
    Tool: "tool",
    UnknownFutureValue: "unknownFutureValue",
};
export const InvestigationStateObject = {
    Unknown: "unknown",
    Terminated: "terminated",
    SuccessfullyRemediated: "successfullyRemediated",
    Benign: "benign",
    Failed: "failed",
    PartiallyRemediated: "partiallyRemediated",
    Running: "running",
    PendingApproval: "pendingApproval",
    PendingResource: "pendingResource",
    Queued: "queued",
    InnerFailure: "innerFailure",
    PreexistingAlert: "preexistingAlert",
    UnsupportedOs: "unsupportedOs",
    UnsupportedAlertType: "unsupportedAlertType",
    SuppressedAlert: "suppressedAlert",
    PartiallyInvestigated: "partiallyInvestigated",
    TerminatedByUser: "terminatedByUser",
    TerminatedBySystem: "terminatedBySystem",
    UnknownFutureValue: "unknownFutureValue",
};
export const IoTDeviceImportanceTypeObject = {
    Unknown: "unknown",
    Low: "low",
    Normal: "normal",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const IsolationTypeObject = {
    Full: "full",
    Selective: "selective",
    UnknownFutureValue: "unknownFutureValue",
};
export const ItemsToIncludeObject = {
    SearchHits: "searchHits",
    PartiallyIndexed: "partiallyIndexed",
    UnknownFutureValue: "unknownFutureValue",
};
export const KubernetesPlatformObject = {
    Unknown: "unknown",
    Aks: "aks",
    Eks: "eks",
    Gke: "gke",
    Arc: "arc",
    UnknownFutureValue: "unknownFutureValue",
};
export const KubernetesServiceTypeObject = {
    Unknown: "unknown",
    ClusterIP: "clusterIP",
    ExternalName: "externalName",
    NodePort: "nodePort",
    LoadBalancer: "loadBalancer",
    UnknownFutureValue: "unknownFutureValue",
};
export const LogDataProviderObject = {
    Barracuda: "barracuda",
    Bluecoat: "bluecoat",
    Checkpoint: "checkpoint",
    CiscoAsa: "ciscoAsa",
    CiscoIronportProxy: "ciscoIronportProxy",
    Fortigate: "fortigate",
    PaloAlto: "paloAlto",
    Squid: "squid",
    Zscaler: "zscaler",
    McafeeSwg: "mcafeeSwg",
    CiscoScanSafe: "ciscoScanSafe",
    JuniperSrx: "juniperSrx",
    SophosSg: "sophosSg",
    WebsenseV75: "websenseV75",
    WebsenseSiemCef: "websenseSiemCef",
    MachineZoneMeraki: "machineZoneMeraki",
    SquidNative: "squidNative",
    CiscoFwsm: "ciscoFwsm",
    MicrosoftIsaW3C: "microsoftIsaW3C",
    Sonicwall: "sonicwall",
    SophosCyberoam: "sophosCyberoam",
    Clavister: "clavister",
    CustomParser: "customParser",
    JuniperSsg: "juniperSsg",
    ZscalerQradar: "zscalerQradar",
    JuniperSrxSd: "juniperSrxSd",
    JuniperSrxWelf: "juniperSrxWelf",
    MicrosoftConditionalAppAccess: "microsoftConditionalAppAccess",
    CiscoAsaFirepower: "ciscoAsaFirepower",
    GenericCef: "genericCef",
    GenericLeef: "genericLeef",
    GenericW3C: "genericW3C",
    IFilter: "iFilter",
    CheckpointXml: "checkpointXml",
    CheckpointSmartViewTracker: "checkpointSmartViewTracker",
    BarracudaNextGenFw: "barracudaNextGenFw",
    BarracudaNextGenFwWeblog: "barracudaNextGenFwWeblog",
    MicrosoftDefenderForEndpoint: "microsoftDefenderForEndpoint",
    ZscalerCef: "zscalerCef",
    SophosXg: "sophosXg",
    Iboss: "iboss",
    Forcepoint: "forcepoint",
    Fortios: "fortios",
    CiscoIronportWsaIi: "ciscoIronportWsaIi",
    PaloAltoLeef: "paloAltoLeef",
    ForcepointLeef: "forcepointLeef",
    Stormshield: "stormshield",
    Contentkeeper: "contentkeeper",
    CiscoIronportWsaIii: "ciscoIronportWsaIii",
    CheckpointCef: "checkpointCef",
    Corrata: "corrata",
    CiscoFirepowerV6: "ciscoFirepowerV6",
    MenloSecurityCef: "menloSecurityCef",
    WatchguardXtm: "watchguardXtm",
    OpenSystemsSecureWebGateway: "openSystemsSecureWebGateway",
    Wandera: "wandera",
    UnknownFutureValue: "unknownFutureValue",
};
export const LongRunningOperationStatusObject = {
    NotStarted: "notStarted",
    Running: "running",
    Succeeded: "succeeded",
    Failed: "failed",
    Skipped: "skipped",
    UnknownFutureValue: "unknownFutureValue",
};
export const MailboxAssetIdentifierObject = {
    AccountUpn: "accountUpn",
    FileOwnerUpn: "fileOwnerUpn",
    InitiatingProcessAccountUpn: "initiatingProcessAccountUpn",
    LastModifyingAccountUpn: "lastModifyingAccountUpn",
    TargetAccountUpn: "targetAccountUpn",
    SenderFromAddress: "senderFromAddress",
    SenderDisplayName: "senderDisplayName",
    RecipientEmailAddress: "recipientEmailAddress",
    SenderMailFromAddress: "senderMailFromAddress",
    UnknownFutureValue: "unknownFutureValue",
};
export const MailboxConfigurationTypeObject = {
    MailForwardingRule: "mailForwardingRule",
    OwaSettings: "owaSettings",
    EwsSettings: "ewsSettings",
    MailDelegation: "mailDelegation",
    UserInboxRule: "userInboxRule",
    UnknownFutureValue: "unknownFutureValue",
};
export const ManualAlertEntityTypeObject = {
    User: "user",
    Device: "device",
    File: "file",
    Ip: "ip",
    Url: "url",
    CloudApplication: "cloudApplication",
    Mailbox: "mailbox",
    SecurityGroup: "securityGroup",
    AzureResource: "azureResource",
    AmazonResource: "amazonResource",
    GoogleCloudResource: "googleCloudResource",
    OAuthApplication: "oAuthApplication",
    EmailMessage: "emailMessage",
    EmailCluster: "emailCluster",
    Process: "process",
    RegistryKey: "registryKey",
    RegistryValue: "registryValue",
    UnknownFutureValue: "unknownFutureValue",
};
export const MarkUserAsCompromisedEntityIdentifierObject = {
    AccountObjectId: "accountObjectId",
    InitiatingProcessAccountObjectId: "initiatingProcessAccountObjectId",
    ServicePrincipalId: "servicePrincipalId",
    RecipientObjectId: "recipientObjectId",
    UnknownFutureValue: "unknownFutureValue",
};
export const MigrationStateObject = {
    ReadyForMigration: "readyForMigration",
    NotReadyForMigration: "notReadyForMigration",
    UpToDate: "upToDate",
    MigrationFailed: "migrationFailed",
    Migrating: "migrating",
    UnknownFutureValue: "unknownFutureValue",
};
export const OnboardingStatusObject = {
    InsufficientInfo: "insufficientInfo",
    Onboarded: "onboarded",
    CanBeOnboarded: "canBeOnboarded",
    Unsupported: "unsupported",
    UnknownFutureValue: "unknownFutureValue",
};
export const PolicyStatusObject = {
    Pending: "pending",
    ErrorEscaped: "error",
    Success: "success",
    UnknownFutureValue: "unknownFutureValue",
};
export const ProtocolTypeObject = {
    Tcp: "tcp",
    Udp: "udp",
    UnknownFutureValue: "unknownFutureValue",
};
export const PurgeAreasObject = {
    Mailboxes: "mailboxes",
    TeamsMessages: "teamsMessages",
    UnknownFutureValue: "unknownFutureValue",
};
export const PurgeTypeObject = {
    Recoverable: "recoverable",
    UnknownFutureValue: "unknownFutureValue",
    PermanentlyDelete: "permanentlyDelete",
};
export const QueryTypeObject = {
    Files: "files",
    Messages: "messages",
    UnknownFutureValue: "unknownFutureValue",
};
export const ReceiverProtocolObject = {
    Ftp: "ftp",
    Ftps: "ftps",
    SyslogUdp: "syslogUdp",
    SyslogTcp: "syslogTcp",
    SyslogTls: "syslogTls",
    UnknownFutureValue: "unknownFutureValue",
};
export const RecipientTypeObject = {
    User: "user",
    RoleGroup: "roleGroup",
    UnknownFutureValue: "unknownFutureValue",
};
export const RemediationActionObject = {
    MoveToJunk: "moveToJunk",
    MoveToInbox: "moveToInbox",
    HardDelete: "hardDelete",
    SoftDelete: "softDelete",
    MoveToDeletedItems: "moveToDeletedItems",
    UnknownFutureValue: "unknownFutureValue",
    MoveToQuarantine: "moveToQuarantine",
};
export const RemediationSeverityObject = {
    Low: "low",
    Medium: "medium",
    High: "high",
    UnknownFutureValue: "unknownFutureValue",
};
export const RetentionTriggerObject = {
    DateLabeled: "dateLabeled",
    DateCreated: "dateCreated",
    DateModified: "dateModified",
    DateOfEvent: "dateOfEvent",
    UnknownFutureValue: "unknownFutureValue",
};
export const ReviewSetSettingsObject = {
    None: "none",
    DisableGrouping: "disableGrouping",
    UnknownFutureValue: "unknownFutureValue",
};
export const ScopeTypeObject = {
    DeviceGroup: "deviceGroup",
    UnknownFutureValue: "unknownFutureValue",
};
export const SensorCandidateActivationModeObject = {
    Manual: "manual",
    Automated: "automated",
    UnknownFutureValue: "unknownFutureValue",
};
export const SensorHealthStatusObject = {
    Healthy: "healthy",
    NotHealthyLow: "notHealthyLow",
    NotHealthyMedium: "notHealthyMedium",
    NotHealthyHigh: "notHealthyHigh",
    UnknownFutureValue: "unknownFutureValue",
};
export const SensorTypeObject = {
    AdConnectIntegrated: "adConnectIntegrated",
    AdcsIntegrated: "adcsIntegrated",
    AdfsIntegrated: "adfsIntegrated",
    DomainControllerIntegrated: "domainControllerIntegrated",
    DomainControllerStandalone: "domainControllerStandalone",
    UnknownFutureValue: "unknownFutureValue",
};
export const ServicePrincipalTypeObject = {
    Unknown: "unknown",
    Application: "application",
    ManagedIdentity: "managedIdentity",
    Legacy: "legacy",
    UnknownFutureValue: "unknownFutureValue",
};
export const ServiceSourceObject = {
    Unknown: "unknown",
    MicrosoftDefenderForEndpoint: "microsoftDefenderForEndpoint",
    MicrosoftDefenderForIdentity: "microsoftDefenderForIdentity",
    MicrosoftDefenderForCloudApps: "microsoftDefenderForCloudApps",
    MicrosoftDefenderForOffice365: "microsoftDefenderForOffice365",
    Microsoft365Defender: "microsoft365Defender",
    AzureAdIdentityProtection: "azureAdIdentityProtection",
    MicrosoftAppGovernance: "microsoftAppGovernance",
    DataLossPrevention: "dataLossPrevention",
    UnknownFutureValue: "unknownFutureValue",
    MicrosoftDefenderForCloud: "microsoftDefenderForCloud",
    MicrosoftSentinel: "microsoftSentinel",
    MicrosoftInsiderRiskManagement: "microsoftInsiderRiskManagement",
    MicrosoftThreatIntelligence: "microsoftThreatIntelligence",
    MicrosoftSecurityForAI: "microsoftSecurityForAI",
};
export const ServiceStatusObject = {
    Stopped: "stopped",
    Starting: "starting",
    Running: "running",
    Disabled: "disabled",
    Onboarding: "onboarding",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const SourceTypeObject = {
    Mailbox: "mailbox",
    Site: "site",
    UnknownFutureValue: "unknownFutureValue",
};
export const StatisticsOptionsObject = {
    IncludeRefiners: "includeRefiners",
    IncludeQueryStats: "includeQueryStats",
    IncludeUnindexedStats: "includeUnindexedStats",
    AdvancedIndexing: "advancedIndexing",
    LocationsWithoutHits: "locationsWithoutHits",
    UnknownFutureValue: "unknownFutureValue",
};
export const StopAndQuarantineFileEntityIdentifierObject = {
    DeviceId: "deviceId",
    Sha1: "sha1",
    InitiatingProcessSHA1: "initiatingProcessSHA1",
    UnknownFutureValue: "unknownFutureValue",
};
export const SubmissionCategoryObject = {
    NotJunk: "notJunk",
    Spam: "spam",
    Phishing: "phishing",
    Malware: "malware",
    UnknownFutureValue: "unknownFutureValue",
};
export const SubmissionClientSourceObject = {
    Microsoft: "microsoft",
    Other: "other",
    UnknownFutureValue: "unknownFutureValue",
};
export const SubmissionContentTypeObject = {
    Email: "email",
    Url: "url",
    File: "file",
    App: "app",
    UnknownFutureValue: "unknownFutureValue",
};
export const SubmissionResultCategoryObject = {
    NotJunk: "notJunk",
    Spam: "spam",
    Phishing: "phishing",
    Malware: "malware",
    AllowedByPolicy: "allowedByPolicy",
    BlockedByPolicy: "blockedByPolicy",
    Spoof: "spoof",
    Unknown: "unknown",
    NoResultAvailable: "noResultAvailable",
    UnknownFutureValue: "unknownFutureValue",
    BeingAnalyzed: "beingAnalyzed",
    NotSubmittedToMicrosoft: "notSubmittedToMicrosoft",
    PhishingSimulation: "phishingSimulation",
    AllowedDueToOrganizationOverride: "allowedDueToOrganizationOverride",
    BlockedDueToOrganizationOverride: "blockedDueToOrganizationOverride",
    AllowedDueToUserOverride: "allowedDueToUserOverride",
    BlockedDueToUserOverride: "blockedDueToUserOverride",
    ItemNotfound: "itemNotfound",
    ThreatsFound: "threatsFound",
    NoThreatsFound: "noThreatsFound",
    DomainImpersonation: "domainImpersonation",
    UserImpersonation: "userImpersonation",
    BrandImpersonation: "brandImpersonation",
    AuthenticationFailure: "authenticationFailure",
    SpoofedBlocked: "spoofedBlocked",
    SpoofedAllowed: "spoofedAllowed",
    ReasonLostInTransit: "reasonLostInTransit",
    Bulk: "bulk",
};
export const SubmissionResultDetailObject = {
    None: "none",
    UnderInvestigation: "underInvestigation",
    SimulatedThreat: "simulatedThreat",
    AllowedBySecOps: "allowedBySecOps",
    AllowedByThirdPartyFilters: "allowedByThirdPartyFilters",
    MessageNotFound: "messageNotFound",
    UrlFileShouldNotBeBlocked: "urlFileShouldNotBeBlocked",
    UrlFileShouldBeBlocked: "urlFileShouldBeBlocked",
    UrlFileCannotMakeDecision: "urlFileCannotMakeDecision",
    DomainImpersonation: "domainImpersonation",
    UserImpersonation: "userImpersonation",
    BrandImpersonation: "brandImpersonation",
    OutboundShouldNotBeBlocked: "outboundShouldNotBeBlocked",
    OutboundShouldBeBlocked: "outboundShouldBeBlocked",
    OutboundBulk: "outboundBulk",
    OutboundCannotMakeDecision: "outboundCannotMakeDecision",
    OutboundNotRescanned: "outboundNotRescanned",
    ZeroHourAutoPurgeAllowed: "zeroHourAutoPurgeAllowed",
    ZeroHourAutoPurgeBlocked: "zeroHourAutoPurgeBlocked",
    ZeroHourAutoPurgeQuarantineReleased: "zeroHourAutoPurgeQuarantineReleased",
    OnPremisesSkip: "onPremisesSkip",
    AllowedByTenantAllowBlockList: "allowedByTenantAllowBlockList",
    BlockedByTenantAllowBlockList: "blockedByTenantAllowBlockList",
    AllowedUrlByTenantAllowBlockList: "allowedUrlByTenantAllowBlockList",
    AllowedFileByTenantAllowBlockList: "allowedFileByTenantAllowBlockList",
    AllowedSenderByTenantAllowBlockList: "allowedSenderByTenantAllowBlockList",
    AllowedRecipientByTenantAllowBlockList: "allowedRecipientByTenantAllowBlockList",
    BlockedUrlByTenantAllowBlockList: "blockedUrlByTenantAllowBlockList",
    BlockedFileByTenantAllowBlockList: "blockedFileByTenantAllowBlockList",
    BlockedSenderByTenantAllowBlockList: "blockedSenderByTenantAllowBlockList",
    BlockedRecipientByTenantAllowBlockList: "blockedRecipientByTenantAllowBlockList",
    AllowedByConnection: "allowedByConnection",
    BlockedByConnection: "blockedByConnection",
    AllowedByExchangeTransportRule: "allowedByExchangeTransportRule",
    BlockedByExchangeTransportRule: "blockedByExchangeTransportRule",
    QuarantineReleased: "quarantineReleased",
    QuarantineReleasedThenBlocked: "quarantineReleasedThenBlocked",
    JunkMailRuleDisabled: "junkMailRuleDisabled",
    AllowedByUserSetting: "allowedByUserSetting",
    BlockedByUserSetting: "blockedByUserSetting",
    AllowedByTenant: "allowedByTenant",
    BlockedByTenant: "blockedByTenant",
    InvalidFalsePositive: "invalidFalsePositive",
    InvalidFalseNegative: "invalidFalseNegative",
    SpoofBlocked: "spoofBlocked",
    GoodReclassifiedAsBad: "goodReclassifiedAsBad",
    GoodReclassifiedAsBulk: "goodReclassifiedAsBulk",
    GoodReclassifiedAsGood: "goodReclassifiedAsGood",
    GoodReclassifiedAsCannotMakeDecision: "goodReclassifiedAsCannotMakeDecision",
    BadReclassifiedAsGood: "badReclassifiedAsGood",
    BadReclassifiedAsBulk: "badReclassifiedAsBulk",
    BadReclassifiedAsBad: "badReclassifiedAsBad",
    BadReclassifiedAsCannotMakeDecision: "badReclassifiedAsCannotMakeDecision",
    UnknownFutureValue: "unknownFutureValue",
    WillNotifyOnceDone: "willNotifyOnceDone",
    CheckUserReportedSettings: "checkUserReportedSettings",
    PartOfEducationCampaign: "partOfEducationCampaign",
    AllowedByAdvancedDelivery: "allowedByAdvancedDelivery",
    AllowedByEnhancedFiltering: "allowedByEnhancedFiltering",
    ItemDeleted: "itemDeleted",
    ItemFoundClean: "itemFoundClean",
    ItemFoundMalicious: "itemFoundMalicious",
    UnableToMakeDecision: "unableToMakeDecision",
    DomainResembledYourOrganization: "domainResembledYourOrganization",
    EndUserBeingImpersonated: "endUserBeingImpersonated",
    AssociatedWithBrand: "associatedWithBrand",
    SenderFailedAuthentication: "senderFailedAuthentication",
    EndUserBeingSpoofed: "endUserBeingSpoofed",
    ItemFoundBulk: "itemFoundBulk",
    ItemNotReceivedByService: "itemNotReceivedByService",
    ItemFoundSpam: "itemFoundSpam",
};
export const SubmissionSourceObject = {
    User: "user",
    Administrator: "administrator",
    UnknownFutureValue: "unknownFutureValue",
};
export const TeamsDeliveryLocationObject = {
    Unknown: "unknown",
    Teams: "teams",
    Quarantine: "quarantine",
    Failed: "failed",
    UnknownFutureValue: "unknownFutureValue",
};
export const TeamsMessageDeliveryActionObject = {
    Unknown: "unknown",
    DeliveredAsSpam: "deliveredAsSpam",
    Delivered: "delivered",
    Blocked: "blocked",
    Replaced: "replaced",
    UnknownFutureValue: "unknownFutureValue",
};
export const TenantAllowBlockListActionObject = {
    Allow: "allow",
    Block: "block",
    UnknownFutureValue: "unknownFutureValue",
};
export const TenantAllowBlockListEntryTypeObject = {
    Url: "url",
    FileHash: "fileHash",
    Sender: "sender",
    Recipient: "recipient",
    UnknownFutureValue: "unknownFutureValue",
};
export const ThreatTypeObject = {
    Unknown: "unknown",
    Spam: "spam",
    Malware: "malware",
    Phish: "phish",
    None: "none",
    UnknownFutureValue: "unknownFutureValue",
};
export const TimelineEventTypeObject = {
    OriginalDelivery: "originalDelivery",
    SystemTimeTravel: "systemTimeTravel",
    DynamicDelivery: "dynamicDelivery",
    UserUrlClick: "userUrlClick",
    Reprocessed: "reprocessed",
    Zap: "zap",
    QuarantineRelease: "quarantineRelease",
    Air: "air",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const TrafficTypeObject = {
    DownloadedBytes: "downloadedBytes",
    UploadedBytes: "uploadedBytes",
    Unknown: "unknown",
    UnknownFutureValue: "unknownFutureValue",
};
export const UserAssetIdentifierObject = {
    AccountObjectId: "accountObjectId",
    AccountSid: "accountSid",
    AccountUpn: "accountUpn",
    AccountName: "accountName",
    AccountDomain: "accountDomain",
    AccountId: "accountId",
    RequestAccountSid: "requestAccountSid",
    RequestAccountName: "requestAccountName",
    RequestAccountDomain: "requestAccountDomain",
    RecipientObjectId: "recipientObjectId",
    ProcessAccountObjectId: "processAccountObjectId",
    InitiatingAccountSid: "initiatingAccountSid",
    InitiatingProcessAccountUpn: "initiatingProcessAccountUpn",
    InitiatingAccountName: "initiatingAccountName",
    InitiatingAccountDomain: "initiatingAccountDomain",
    ServicePrincipalId: "servicePrincipalId",
    ServicePrincipalName: "servicePrincipalName",
    TargetAccountUpn: "targetAccountUpn",
    UnknownFutureValue: "unknownFutureValue",
};
export const UserMailboxSettingObject = {
    None: "none",
    JunkMailDeletion: "junkMailDeletion",
    IsFromAddressInAddressBook: "isFromAddressInAddressBook",
    IsFromAddressInAddressSafeList: "isFromAddressInAddressSafeList",
    IsFromAddressInAddressBlockList: "isFromAddressInAddressBlockList",
    IsFromAddressInAddressImplicitSafeList: "isFromAddressInAddressImplicitSafeList",
    IsFromAddressInAddressImplicitJunkList: "isFromAddressInAddressImplicitJunkList",
    IsFromDomainInDomainSafeList: "isFromDomainInDomainSafeList",
    IsFromDomainInDomainBlockList: "isFromDomainInDomainBlockList",
    IsRecipientInRecipientSafeList: "isRecipientInRecipientSafeList",
    CustomRule: "customRule",
    JunkMailRule: "junkMailRule",
    SenderPraPresent: "senderPraPresent",
    FromFirstTimeSender: "fromFirstTimeSender",
    Exclusive: "exclusive",
    PriorSeenPass: "priorSeenPass",
    SenderAuthenticationSucceeded: "senderAuthenticationSucceeded",
    IsJunkMailRuleEnabled: "isJunkMailRuleEnabled",
    UnknownFutureValue: "unknownFutureValue",
};
export const VerdictCategoryObject = {
    None: "none",
    Malware: "malware",
    Phish: "phish",
    SiteUnavailable: "siteUnavailable",
    Spam: "spam",
    DecryptionFailed: "decryptionFailed",
    UnsupportedUriScheme: "unsupportedUriScheme",
    UnsupportedFileType: "unsupportedFileType",
    Undefined: "undefined",
    UnknownFutureValue: "unknownFutureValue",
};
export const VmCloudProviderObject = {
    Unknown: "unknown",
    Azure: "azure",
    UnknownFutureValue: "unknownFutureValue",
};
export const VulnerabilitySeverityObject = {
    None: "none",
    Low: "low",
    Medium: "medium",
    High: "high",
    Critical: "critical",
    UnknownFutureValue: "unknownFutureValue",
};
export const WatermarkLayoutObject = {
    Horizontal: "horizontal",
    Diagonal: "diagonal",
};
/* tslint:enable */
/* eslint-enable */
//# sourceMappingURL=index.js.map