UNPKG

@microsoft/msgraph-beta-sdk

Version:
997 lines 63.4 kB
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
// @ts-ignore
import { deserializeIntoEntity, serializeEntity } from '../../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 {AppAccessContext}
 */
// @ts-ignore
export function createAppAccessContextFromDiscriminatorValue(parseNode) {
    return deserializeIntoAppAccessContext;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttachmentInfo}
 */
// @ts-ignore
export function createAttachmentInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttachmentInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttachmentSensitiveInformationDetails}
 */
// @ts-ignore
export function createAttachmentSensitiveInformationDetailsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAttachmentSensitiveInformationDetails;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BaseAuditRecord}
 */
// @ts-ignore
export function createBaseAuditRecordFromDiscriminatorValue(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.dlp.complianceBaseAuditRecord":
                    return deserializeIntoComplianceBaseAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDLPBaseAuditRecord":
                    return deserializeIntoComplianceDLPBaseAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpEndpointAuditRecord":
                    return deserializeIntoComplianceDlpEndpointAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
                    return deserializeIntoComplianceDlpExchangeAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
                    return deserializeIntoComplianceDlpSharePointAuditRecord;
            }
        }
    }
    return deserializeIntoBaseAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceBaseAuditRecord}
 */
// @ts-ignore
export function createComplianceBaseAuditRecordFromDiscriminatorValue(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.dlp.complianceDLPBaseAuditRecord":
                    return deserializeIntoComplianceDLPBaseAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpEndpointAuditRecord":
                    return deserializeIntoComplianceDlpEndpointAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
                    return deserializeIntoComplianceDlpExchangeAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
                    return deserializeIntoComplianceDlpSharePointAuditRecord;
            }
        }
    }
    return deserializeIntoComplianceBaseAuditRecord;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ComplianceDLPBaseAuditRecord}
 */
// @ts-ignore
export function createComplianceDLPBaseAuditRecordFromDiscriminatorValue(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.dlp.complianceDlpEndpointAuditRecord":
                    return deserializeIntoComplianceDlpEndpointAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
                    return deserializeIntoComplianceDlpExchangeAuditRecord;
                case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
                    return deserializeIntoComplianceDlpSharePointAuditRecord;
            }
        }
    }
    return deserializeIntoComplianceDLPBaseAuditRecord;
}
/**
 * Creates a new instance of 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 {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 {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 {EndpointMetaDataInfo}
 */
// @ts-ignore
export function createEndpointMetaDataInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoEndpointMetaDataInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExceptionInfo}
 */
// @ts-ignore
export function createExceptionInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoExceptionInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ExchangeMetaDataInfo}
 */
// @ts-ignore
export function createExchangeMetaDataInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoExchangeMetaDataInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RemediationInfo}
 */
// @ts-ignore
export function createRemediationInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoRemediationInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SensitiveInformationDetailedConfidenceLevelResult}
 */
// @ts-ignore
export function createSensitiveInformationDetailedConfidenceLevelResultFromDiscriminatorValue(parseNode) {
    return deserializeIntoSensitiveInformationDetailedConfidenceLevelResult;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SessionMetadataInfo}
 */
// @ts-ignore
export function createSessionMetadataInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoSessionMetadataInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SharePointMetaDataInfo}
 */
// @ts-ignore
export function createSharePointMetaDataInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoSharePointMetaDataInfo;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SubscriptionInfo}
 */
// @ts-ignore
export function createSubscriptionInfoFromDiscriminatorValue(parseNode) {
    return deserializeIntoSubscriptionInfo;
}
/**
 * The deserialization information for the current model
 * @param AppAccessContext The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAppAccessContext(appAccessContext = {}) {
    return {
        "aadSessionId": n => { appAccessContext.aadSessionId = n.getStringValue(); },
        "apiId": n => { appAccessContext.apiId = n.getStringValue(); },
        "backingStoreEnabled": n => { appAccessContext.backingStoreEnabled = true; },
        "clientAppId": n => { appAccessContext.clientAppId = n.getStringValue(); },
        "clientAppName": n => { appAccessContext.clientAppName = n.getStringValue(); },
        "correlationId": n => { appAccessContext.correlationId = n.getStringValue(); },
        "issuedAtDate": n => { appAccessContext.issuedAtDate = n.getDateOnlyValue(); },
        "@odata.type": n => { appAccessContext.odataType = n.getStringValue(); },
        "uniqueTokenId": n => { appAccessContext.uniqueTokenId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AttachmentInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttachmentInfo(attachmentInfo = {}) {
    return {
        "backingStoreEnabled": n => { attachmentInfo.backingStoreEnabled = true; },
        "checksum": n => { attachmentInfo.checksum = n.getNumberValue(); },
        "labelNames": n => { attachmentInfo.labelNames = n.getCollectionOfPrimitiveValues("string"); },
        "labels": n => { attachmentInfo.labels = n.getCollectionOfPrimitiveValues("string"); },
        "name": n => { attachmentInfo.name = n.getStringValue(); },
        "@odata.type": n => { attachmentInfo.odataType = n.getStringValue(); },
        "sensitiveInformationDetails": n => { attachmentInfo.sensitiveInformationDetails = n.getCollectionOfObjectValues(createAttachmentSensitiveInformationDetailsFromDiscriminatorValue); },
        "size": n => { attachmentInfo.size = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AttachmentSensitiveInformationDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAttachmentSensitiveInformationDetails(attachmentSensitiveInformationDetails = {}) {
    return {
        "backingStoreEnabled": n => { attachmentSensitiveInformationDetails.backingStoreEnabled = true; },
        "@odata.type": n => { attachmentSensitiveInformationDetails.odataType = n.getStringValue(); },
        "sensitiveInformationDetailedClassificationAttributes": n => { attachmentSensitiveInformationDetails.sensitiveInformationDetailedClassificationAttributes = n.getCollectionOfObjectValues(createSensitiveInformationDetailedConfidenceLevelResultFromDiscriminatorValue); },
        "sensitiveInformationDetectionIndices": n => { attachmentSensitiveInformationDetails.sensitiveInformationDetectionIndices = n.getCollectionOfPrimitiveValues("number"); },
        "sensitiveType": n => { attachmentSensitiveInformationDetails.sensitiveType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param BaseAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBaseAuditRecord(baseAuditRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(baseAuditRecord)), { "agentBlueprintId": n => { baseAuditRecord.agentBlueprintId = n.getStringValue(); }, "agentBlueprintName": n => { baseAuditRecord.agentBlueprintName = n.getStringValue(); }, "agentId": n => { baseAuditRecord.agentId = n.getStringValue(); }, "agentName": n => { baseAuditRecord.agentName = n.getStringValue(); }, "agentPlatform": n => { baseAuditRecord.agentPlatform = n.getStringValue(); }, "agentVersion": n => { baseAuditRecord.agentVersion = n.getStringValue(); }, "appAccessContext": n => { baseAuditRecord.appAccessContext = n.getObjectValue(createAppAccessContextFromDiscriminatorValue); }, "appIdentity": n => { baseAuditRecord.appIdentity = n.getStringValue(); }, "applicationName": n => { baseAuditRecord.applicationName = n.getStringValue(); }, "associatedAdminUnitIds": n => { baseAuditRecord.associatedAdminUnitIds = n.getCollectionOfPrimitiveValues("string"); }, "correlationIdentity": n => { baseAuditRecord.correlationIdentity = n.getStringValue(); }, "createdDateTime": n => { baseAuditRecord.createdDateTime = n.getDateOnlyValue(); }, "isRequiresCustomerKeyEncryption": n => { baseAuditRecord.isRequiresCustomerKeyEncryption = n.getBooleanValue(); }, "operation": n => { baseAuditRecord.operation = n.getStringValue(); }, "opId": n => { baseAuditRecord.opId = n.getStringValue(); }, "organizationId": n => { baseAuditRecord.organizationId = n.getStringValue(); }, "parentId": n => { baseAuditRecord.parentId = n.getStringValue(); }, "purpose": n => { baseAuditRecord.purpose = n.getEnumValue(PurposeTypeObject); }, "recordType": n => { baseAuditRecord.recordType = n.getEnumValue(AuditRecordTypeObject); }, "resultStatus": n => { baseAuditRecord.resultStatus = n.getStringValue(); }, "scopingEntityIds": n => { baseAuditRecord.scopingEntityIds = n.getCollectionOfPrimitiveValues("string"); }, "scopingEntityType": n => { baseAuditRecord.scopingEntityType = n.getNumberValue(); }, "sessionIdentity": n => { baseAuditRecord.sessionIdentity = n.getStringValue(); }, "subjectType": n => { baseAuditRecord.subjectType = n.getStringValue(); }, "subscription": n => { baseAuditRecord.subscription = n.getObjectValue(createSubscriptionInfoFromDiscriminatorValue); }, "userKey": n => { baseAuditRecord.userKey = n.getStringValue(); }, "userType": n => { baseAuditRecord.userType = n.getEnumValue(UserTypeObject); }, "version": n => { baseAuditRecord.version = n.getNumberValue(); }, "workload": n => { baseAuditRecord.workload = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ComplianceBaseAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceBaseAuditRecord(complianceBaseAuditRecord = {}) {
    return Object.assign({}, deserializeIntoBaseAuditRecord(complianceBaseAuditRecord));
}
/**
 * The deserialization information for the current model
 * @param ComplianceDLPBaseAuditRecord The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoComplianceDLPBaseAuditRecord(complianceDLPBaseAuditRecord = {}) {
    return Object.assign(Object.assign({}, deserializeIntoComplianceBaseAuditRecord(complianceDLPBaseAuditRecord)), { "enforcementType": n => { complianceDLPBaseAuditRecord.enforcementType = n.getEnumValue(EnforcementTypeObject); }, "evaluationSource": n => { complianceDLPBaseAuditRecord.evaluationSource = n.getStringValue(); }, "exceptionInfo": n => { complianceDLPBaseAuditRecord.exceptionInfo = n.getObjectValue(createExceptionInfoFromDiscriminatorValue); }, "incidentId": n => { complianceDLPBaseAuditRecord.incidentId = n.getGuidValue(); }, "isSensitiveInfoDetectionIsIncluded": n => { complianceDLPBaseAuditRecord.isSensitiveInfoDetectionIsIncluded = n.getBooleanValue(); }, "location": n => { complianceDLPBaseAuditRecord.location = n.getStringValue(); }, "policyDetails": n => { complianceDLPBaseAuditRecord.policyDetails = n.getCollectionOfPrimitiveValues("string"); }, "remediationDetails": n => { complianceDLPBaseAuditRecord.remediationDetails = n.getObjectValue(createRemediationInfoFromDiscriminatorValue); }, "sessionMetadata": n => { complianceDLPBaseAuditRecord.sessionMetadata = n.getObjectValue(createSessionMetadataInfoFromDiscriminatorValue); } });
}
/**
 * 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(Object.assign({}, deserializeIntoComplianceDLPBaseAuditRecord(complianceDlpEndpointAuditRecord)), { "authorizedGroup": n => { complianceDlpEndpointAuditRecord.authorizedGroup = n.getStringValue(); }, "endpointMetaData": n => { complianceDlpEndpointAuditRecord.endpointMetaData = n.getObjectValue(createEndpointMetaDataInfoFromDiscriminatorValue); }, "evidenceFile": n => { complianceDlpEndpointAuditRecord.evidenceFile = n.getStringValue(); }, "networkLocationContextInAction": n => { complianceDlpEndpointAuditRecord.networkLocationContextInAction = n.getStringValue(); } });
}
/**
 * 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(Object.assign({}, deserializeIntoComplianceDLPBaseAuditRecord(complianceDlpExchangeAuditRecord)), { "exchangeMetaData": n => { complianceDlpExchangeAuditRecord.exchangeMetaData = n.getObjectValue(createExchangeMetaDataInfoFromDiscriminatorValue); } });
}
/**
 * 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(Object.assign({}, deserializeIntoComplianceDLPBaseAuditRecord(complianceDlpSharePointAuditRecord)), { "sharePointMetaData": n => { complianceDlpSharePointAuditRecord.sharePointMetaData = n.getObjectValue(createSharePointMetaDataInfoFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param EndpointMetaDataInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEndpointMetaDataInfo(endpointMetaDataInfo = {}) {
    return {
        "application": n => { endpointMetaDataInfo.application = n.getStringValue(); },
        "applicationSourceExecutableName": n => { endpointMetaDataInfo.applicationSourceExecutableName = n.getStringValue(); },
        "backingStoreEnabled": n => { endpointMetaDataInfo.backingStoreEnabled = true; },
        "destinationLocationType": n => { endpointMetaDataInfo.destinationLocationType = n.getStringValue(); },
        "deviceName": n => { endpointMetaDataInfo.deviceName = n.getStringValue(); },
        "dlpAuditEventMetadata": n => { endpointMetaDataInfo.dlpAuditEventMetadata = n.getStringValue(); },
        "endpointOperation": n => { endpointMetaDataInfo.endpointOperation = n.getStringValue(); },
        "enforcementMode": n => { endpointMetaDataInfo.enforcementMode = n.getStringValue(); },
        "fileExtension": n => { endpointMetaDataInfo.fileExtension = n.getStringValue(); },
        "fileSize": n => { endpointMetaDataInfo.fileSize = n.getNumberValue(); },
        "fileType": n => { endpointMetaDataInfo.fileType = n.getStringValue(); },
        "groupId": n => { endpointMetaDataInfo.groupId = n.getStringValue(); },
        "groupName": n => { endpointMetaDataInfo.groupName = n.getStringValue(); },
        "isEaV2Enriched": n => { endpointMetaDataInfo.isEaV2Enriched = n.getBooleanValue(); },
        "isHidden": n => { endpointMetaDataInfo.isHidden = n.getBooleanValue(); },
        "isJitTriggered": n => { endpointMetaDataInfo.isJitTriggered = n.getBooleanValue(); },
        "isRmseEncrypted": n => { endpointMetaDataInfo.isRmseEncrypted = n.getBooleanValue(); },
        "isViewableByExternalUsers": n => { endpointMetaDataInfo.isViewableByExternalUsers = n.getBooleanValue(); },
        "justification": n => { endpointMetaDataInfo.justification = n.getStringValue(); },
        "markOfTheWebData": n => { endpointMetaDataInfo.markOfTheWebData = n.getStringValue(); },
        "mdatpDeviceId": n => { endpointMetaDataInfo.mdatpDeviceId = n.getStringValue(); },
        "@odata.type": n => { endpointMetaDataInfo.odataType = n.getStringValue(); },
        "originatingDomain": n => { endpointMetaDataInfo.originatingDomain = n.getStringValue(); },
        "parentArchiveHash": n => { endpointMetaDataInfo.parentArchiveHash = n.getStringValue(); },
        "platform": n => { endpointMetaDataInfo.platform = n.getStringValue(); },
        "policyMatchDetails": n => { endpointMetaDataInfo.policyMatchDetails = n.getCollectionOfPrimitiveValues("string"); },
        "policyMatchInfo": n => { endpointMetaDataInfo.policyMatchInfo = n.getStringValue(); },
        "previousFileName": n => { endpointMetaDataInfo.previousFileName = n.getStringValue(); },
        "removableMediaDeviceAttributes": n => { endpointMetaDataInfo.removableMediaDeviceAttributes = n.getStringValue(); },
        "sensitiveInfoTypeData": n => { endpointMetaDataInfo.sensitiveInfoTypeData = n.getCollectionOfPrimitiveValues("string"); },
        "sensitivityLabelEventData": n => { endpointMetaDataInfo.sensitivityLabelEventData = n.getStringValue(); },
        "sensitivityLabelIds": n => { endpointMetaDataInfo.sensitivityLabelIds = n.getCollectionOfPrimitiveValues("string"); },
        "sensitivityLabelNames": n => { endpointMetaDataInfo.sensitivityLabelNames = n.getCollectionOfPrimitiveValues("string"); },
        "sha1": n => { endpointMetaDataInfo.sha1 = n.getStringValue(); },
        "sha256": n => { endpointMetaDataInfo.sha256 = n.getStringValue(); },
        "sourceLocationType": n => { endpointMetaDataInfo.sourceLocationType = n.getStringValue(); },
        "targetDomain": n => { endpointMetaDataInfo.targetDomain = n.getStringValue(); },
        "targetFilePath": n => { endpointMetaDataInfo.targetFilePath = n.getStringValue(); },
        "targetPrinterName": n => { endpointMetaDataInfo.targetPrinterName = n.getStringValue(); },
        "targetUrl": n => { endpointMetaDataInfo.targetUrl = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ExceptionInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExceptionInfo(exceptionInfo = {}) {
    return {
        "backingStoreEnabled": n => { exceptionInfo.backingStoreEnabled = true; },
        "isFalsePositive": n => { exceptionInfo.isFalsePositive = n.getBooleanValue(); },
        "justification": n => { exceptionInfo.justification = n.getStringValue(); },
        "@odata.type": n => { exceptionInfo.odataType = n.getStringValue(); },
        "reason": n => { exceptionInfo.reason = n.getStringValue(); },
        "ruleIds": n => { exceptionInfo.ruleIds = n.getCollectionOfPrimitiveValues("string"); },
    };
}
/**
 * The deserialization information for the current model
 * @param ExchangeMetaDataInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoExchangeMetaDataInfo(exchangeMetaDataInfo = {}) {
    return {
        "attachmentDetails": n => { exchangeMetaDataInfo.attachmentDetails = n.getCollectionOfObjectValues(createAttachmentInfoFromDiscriminatorValue); },
        "backingStoreEnabled": n => { exchangeMetaDataInfo.backingStoreEnabled = true; },
        "bccRecipients": n => { exchangeMetaDataInfo.bccRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "ccRecipients": n => { exchangeMetaDataInfo.ccRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "docId": n => { exchangeMetaDataInfo.docId = n.getStringValue(); },
        "fileSize": n => { exchangeMetaDataInfo.fileSize = n.getNumberValue(); },
        "from": n => { exchangeMetaDataInfo.from = n.getStringValue(); },
        "immutableEntryId": n => { exchangeMetaDataInfo.immutableEntryId = n.getStringValue(); },
        "isViewableByExternalUsers": n => { exchangeMetaDataInfo.isViewableByExternalUsers = n.getBooleanValue(); },
        "messageId": n => { exchangeMetaDataInfo.messageId = n.getStringValue(); },
        "@odata.type": n => { exchangeMetaDataInfo.odataType = n.getStringValue(); },
        "recipientCount": n => { exchangeMetaDataInfo.recipientCount = n.getNumberValue(); },
        "sensitivityLabelIds": n => { exchangeMetaDataInfo.sensitivityLabelIds = n.getCollectionOfPrimitiveValues("string"); },
        "sensitivityLabelNames": n => { exchangeMetaDataInfo.sensitivityLabelNames = n.getCollectionOfPrimitiveValues("string"); },
        "sentDate": n => { exchangeMetaDataInfo.sentDate = n.getDateOnlyValue(); },
        "subject": n => { exchangeMetaDataInfo.subject = n.getStringValue(); },
        "toRecipients": n => { exchangeMetaDataInfo.toRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "uniqueId": n => { exchangeMetaDataInfo.uniqueId = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param RemediationInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRemediationInfo(remediationInfo = {}) {
    return {
        "alertId": n => { remediationInfo.alertId = n.getStringValue(); },
        "backingStoreEnabled": n => { remediationInfo.backingStoreEnabled = true; },
        "bccRecipients": n => { remediationInfo.bccRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "ccRecipients": n => { remediationInfo.ccRecipients = n.getCollectionOfPrimitiveValues("string"); },
        "iwUser": n => { remediationInfo.iwUser = n.getStringValue(); },
        "@odata.type": n => { remediationInfo.odataType = n.getStringValue(); },
        "recipients": n => { remediationInfo.recipients = n.getCollectionOfPrimitiveValues("string"); },
        "remediationActivity": n => { remediationInfo.remediationActivity = n.getEnumValue(RemediationActivityTypeObject); },
        "sender": n => { remediationInfo.sender = n.getStringValue(); },
        "subject": n => { remediationInfo.subject = n.getStringValue(); },
        "templateName": n => { remediationInfo.templateName = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SensitiveInformationDetailedConfidenceLevelResult The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSensitiveInformationDetailedConfidenceLevelResult(sensitiveInformationDetailedConfidenceLevelResult = {}) {
    return {
        "backingStoreEnabled": n => { sensitiveInformationDetailedConfidenceLevelResult.backingStoreEnabled = true; },
        "confidence": n => { sensitiveInformationDetailedConfidenceLevelResult.confidence = n.getNumberValue(); },
        "count": n => { sensitiveInformationDetailedConfidenceLevelResult.count = n.getNumberValue(); },
        "isMatch": n => { sensitiveInformationDetailedConfidenceLevelResult.isMatch = n.getBooleanValue(); },
        "@odata.type": n => { sensitiveInformationDetailedConfidenceLevelResult.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SessionMetadataInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSessionMetadataInfo(sessionMetadataInfo = {}) {
    return {
        "appHost": n => { sessionMetadataInfo.appHost = n.getStringValue(); },
        "appHostCategories": n => { sessionMetadataInfo.appHostCategories = n.getCollectionOfPrimitiveValues("string"); },
        "appHostFqdn": n => { sessionMetadataInfo.appHostFqdn = n.getStringValue(); },
        "backingStoreEnabled": n => { sessionMetadataInfo.backingStoreEnabled = true; },
        "browser": n => { sessionMetadataInfo.browser = n.getStringValue(); },
        "browserVersion": n => { sessionMetadataInfo.browserVersion = n.getStringValue(); },
        "deviceManagementType": n => { sessionMetadataInfo.deviceManagementType = n.getStringValue(); },
        "deviceType": n => { sessionMetadataInfo.deviceType = n.getStringValue(); },
        "enforcementPlane": n => { sessionMetadataInfo.enforcementPlane = n.getStringValue(); },
        "@odata.type": n => { sessionMetadataInfo.odataType = n.getStringValue(); },
        "osPlatform": n => { sessionMetadataInfo.osPlatform = n.getStringValue(); },
        "osVersion": n => { sessionMetadataInfo.osVersion = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SharePointMetaDataInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSharePointMetaDataInfo(sharePointMetaDataInfo = {}) {
    return {
        "aiFileActions": n => { sharePointMetaDataInfo.aiFileActions = n.getStringValue(); },
        "backingStoreEnabled": n => { sharePointMetaDataInfo.backingStoreEnabled = true; },
        "blockedUserForFileAccess": n => { sharePointMetaDataInfo.blockedUserForFileAccess = n.getStringValue(); },
        "fileId": n => { sharePointMetaDataInfo.fileId = n.getStringValue(); },
        "fileName": n => { sharePointMetaDataInfo.fileName = n.getStringValue(); },
        "fileOwner": n => { sharePointMetaDataInfo.fileOwner = n.getStringValue(); },
        "filePathUrl": n => { sharePointMetaDataInfo.filePathUrl = n.getStringValue(); },
        "fileSize": n => { sharePointMetaDataInfo.fileSize = n.getNumberValue(); },
        "from": n => { sharePointMetaDataInfo.from = n.getStringValue(); },
        "isJitTriggered": n => { sharePointMetaDataInfo.isJitTriggered = n.getBooleanValue(); },
        "isViewableByExternalUsers": n => { sharePointMetaDataInfo.isViewableByExternalUsers = n.getBooleanValue(); },
        "isVisibleOnlyToOdbOwner": n => { sharePointMetaDataInfo.isVisibleOnlyToOdbOwner = n.getBooleanValue(); },
        "itemCreatedDate": n => { sharePointMetaDataInfo.itemCreatedDate = n.getDateOnlyValue(); },
        "itemLastModifiedDate": n => { sharePointMetaDataInfo.itemLastModifiedDate = n.getDateOnlyValue(); },
        "itemLastSharedDate": n => { sharePointMetaDataInfo.itemLastSharedDate = n.getDateOnlyValue(); },
        "@odata.type": n => { sharePointMetaDataInfo.odataType = n.getStringValue(); },
        "quarantineLocationFileUrl": n => { sharePointMetaDataInfo.quarantineLocationFileUrl = n.getStringValue(); },
        "sensitivityLabelIds": n => { sharePointMetaDataInfo.sensitivityLabelIds = n.getCollectionOfPrimitiveValues("string"); },
        "sensitivityLabelNames": n => { sharePointMetaDataInfo.sensitivityLabelNames = n.getCollectionOfPrimitiveValues("string"); },
        "sharedBy": n => { sharePointMetaDataInfo.sharedBy = n.getCollectionOfPrimitiveValues("string"); },
        "sharedWith": n => { sharePointMetaDataInfo.sharedWith = n.getCollectionOfPrimitiveValues("string"); },
        "siteAdmins": n => { sharePointMetaDataInfo.siteAdmins = n.getCollectionOfPrimitiveValues("string"); },
        "siteCollectionGuid": n => { sharePointMetaDataInfo.siteCollectionGuid = n.getStringValue(); },
        "siteCollectionUrl": n => { sharePointMetaDataInfo.siteCollectionUrl = n.getStringValue(); },
        "uniqueId": n => { sharePointMetaDataInfo.uniqueId = n.getStringValue(); },
        "violatingAction": n => { sharePointMetaDataInfo.violatingAction = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SubscriptionInfo The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSubscriptionInfo(subscriptionInfo = {}) {
    return {
        "backingStoreEnabled": n => { subscriptionInfo.backingStoreEnabled = true; },
        "dlpSubscriptionId": n => { subscriptionInfo.dlpSubscriptionId = n.getStringValue(); },
        "name": n => { subscriptionInfo.name = n.getStringValue(); },
        "@odata.type": n => { subscriptionInfo.odataType = n.getStringValue(); },
    };
}
/**
 * Serializes information the current object
 * @param AppAccessContext The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAppAccessContext(writer, appAccessContext = {}, isSerializingDerivedType = false) {
    if (!appAccessContext || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("aadSessionId", appAccessContext.aadSessionId);
    writer.writeStringValue("apiId", appAccessContext.apiId);
    writer.writeStringValue("clientAppId", appAccessContext.clientAppId);
    writer.writeStringValue("clientAppName", appAccessContext.clientAppName);
    writer.writeStringValue("correlationId", appAccessContext.correlationId);
    writer.writeDateOnlyValue("issuedAtDate", appAccessContext.issuedAtDate);
    writer.writeStringValue("@odata.type", appAccessContext.odataType);
    writer.writeStringValue("uniqueTokenId", appAccessContext.uniqueTokenId);
    writer.writeAdditionalData(appAccessContext.additionalData);
}
/**
 * Serializes information the current object
 * @param AttachmentInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttachmentInfo(writer, attachmentInfo = {}, isSerializingDerivedType = false) {
    if (!attachmentInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("checksum", attachmentInfo.checksum);
    writer.writeCollectionOfPrimitiveValues("labelNames", attachmentInfo.labelNames);
    writer.writeCollectionOfPrimitiveValues("labels", attachmentInfo.labels);
    writer.writeStringValue("name", attachmentInfo.name);
    writer.writeStringValue("@odata.type", attachmentInfo.odataType);
    writer.writeCollectionOfObjectValues("sensitiveInformationDetails", attachmentInfo.sensitiveInformationDetails, serializeAttachmentSensitiveInformationDetails);
    writer.writeNumberValue("size", attachmentInfo.size);
    writer.writeAdditionalData(attachmentInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param AttachmentSensitiveInformationDetails The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAttachmentSensitiveInformationDetails(writer, attachmentSensitiveInformationDetails = {}, isSerializingDerivedType = false) {
    if (!attachmentSensitiveInformationDetails || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", attachmentSensitiveInformationDetails.odataType);
    writer.writeCollectionOfObjectValues("sensitiveInformationDetailedClassificationAttributes", attachmentSensitiveInformationDetails.sensitiveInformationDetailedClassificationAttributes, serializeSensitiveInformationDetailedConfidenceLevelResult);
    writer.writeCollectionOfPrimitiveValues("sensitiveInformationDetectionIndices", attachmentSensitiveInformationDetails.sensitiveInformationDetectionIndices);
    writer.writeStringValue("sensitiveType", attachmentSensitiveInformationDetails.sensitiveType);
    writer.writeAdditionalData(attachmentSensitiveInformationDetails.additionalData);
}
/**
 * Serializes information the current object
 * @param BaseAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBaseAuditRecord(writer, baseAuditRecord = {}, isSerializingDerivedType = false) {
    if (!baseAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, baseAuditRecord, isSerializingDerivedType);
    writer.writeStringValue("agentBlueprintId", baseAuditRecord.agentBlueprintId);
    writer.writeStringValue("agentBlueprintName", baseAuditRecord.agentBlueprintName);
    writer.writeStringValue("agentId", baseAuditRecord.agentId);
    writer.writeStringValue("agentName", baseAuditRecord.agentName);
    writer.writeStringValue("agentPlatform", baseAuditRecord.agentPlatform);
    writer.writeStringValue("agentVersion", baseAuditRecord.agentVersion);
    writer.writeObjectValue("appAccessContext", baseAuditRecord.appAccessContext, serializeAppAccessContext);
    writer.writeStringValue("appIdentity", baseAuditRecord.appIdentity);
    writer.writeStringValue("applicationName", baseAuditRecord.applicationName);
    writer.writeCollectionOfPrimitiveValues("associatedAdminUnitIds", baseAuditRecord.associatedAdminUnitIds);
    writer.writeStringValue("correlationIdentity", baseAuditRecord.correlationIdentity);
    writer.writeDateOnlyValue("createdDateTime", baseAuditRecord.createdDateTime);
    writer.writeBooleanValue("isRequiresCustomerKeyEncryption", baseAuditRecord.isRequiresCustomerKeyEncryption);
    writer.writeStringValue("operation", baseAuditRecord.operation);
    writer.writeStringValue("opId", baseAuditRecord.opId);
    writer.writeStringValue("organizationId", baseAuditRecord.organizationId);
    writer.writeStringValue("parentId", baseAuditRecord.parentId);
    writer.writeEnumValue("purpose", baseAuditRecord.purpose);
    writer.writeEnumValue("recordType", baseAuditRecord.recordType);
    writer.writeStringValue("resultStatus", baseAuditRecord.resultStatus);
    writer.writeCollectionOfPrimitiveValues("scopingEntityIds", baseAuditRecord.scopingEntityIds);
    writer.writeNumberValue("scopingEntityType", baseAuditRecord.scopingEntityType);
    writer.writeStringValue("sessionIdentity", baseAuditRecord.sessionIdentity);
    writer.writeStringValue("subjectType", baseAuditRecord.subjectType);
    writer.writeObjectValue("subscription", baseAuditRecord.subscription, serializeSubscriptionInfo);
    writer.writeStringValue("userKey", baseAuditRecord.userKey);
    writer.writeEnumValue("userType", baseAuditRecord.userType);
    writer.writeNumberValue("version", baseAuditRecord.version);
    writer.writeStringValue("workload", baseAuditRecord.workload);
    switch (baseAuditRecord.odataType) {
        case "#microsoft.graph.security.dlp.complianceBaseAuditRecord":
            serializeComplianceBaseAuditRecord(writer, baseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDLPBaseAuditRecord":
            serializeComplianceDLPBaseAuditRecord(writer, baseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpEndpointAuditRecord":
            serializeComplianceDlpEndpointAuditRecord(writer, baseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
            serializeComplianceDlpExchangeAuditRecord(writer, baseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
            serializeComplianceDlpSharePointAuditRecord(writer, baseAuditRecord, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ComplianceBaseAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceBaseAuditRecord(writer, complianceBaseAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceBaseAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeBaseAuditRecord(writer, complianceBaseAuditRecord, isSerializingDerivedType);
    switch (complianceBaseAuditRecord.odataType) {
        case "#microsoft.graph.security.dlp.complianceDLPBaseAuditRecord":
            serializeComplianceDLPBaseAuditRecord(writer, complianceBaseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpEndpointAuditRecord":
            serializeComplianceDlpEndpointAuditRecord(writer, complianceBaseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
            serializeComplianceDlpExchangeAuditRecord(writer, complianceBaseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
            serializeComplianceDlpSharePointAuditRecord(writer, complianceBaseAuditRecord, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param ComplianceDLPBaseAuditRecord The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeComplianceDLPBaseAuditRecord(writer, complianceDLPBaseAuditRecord = {}, isSerializingDerivedType = false) {
    if (!complianceDLPBaseAuditRecord || isSerializingDerivedType) {
        return;
    }
    serializeComplianceBaseAuditRecord(writer, complianceDLPBaseAuditRecord, isSerializingDerivedType);
    writer.writeEnumValue("enforcementType", complianceDLPBaseAuditRecord.enforcementType);
    writer.writeStringValue("evaluationSource", complianceDLPBaseAuditRecord.evaluationSource);
    writer.writeObjectValue("exceptionInfo", complianceDLPBaseAuditRecord.exceptionInfo, serializeExceptionInfo);
    writer.writeGuidValue("incidentId", complianceDLPBaseAuditRecord.incidentId);
    writer.writeBooleanValue("isSensitiveInfoDetectionIsIncluded", complianceDLPBaseAuditRecord.isSensitiveInfoDetectionIsIncluded);
    writer.writeStringValue("location", complianceDLPBaseAuditRecord.location);
    writer.writeCollectionOfPrimitiveValues("policyDetails", complianceDLPBaseAuditRecord.policyDetails);
    writer.writeObjectValue("remediationDetails", complianceDLPBaseAuditRecord.remediationDetails, serializeRemediationInfo);
    writer.writeObjectValue("sessionMetadata", complianceDLPBaseAuditRecord.sessionMetadata, serializeSessionMetadataInfo);
    switch (complianceDLPBaseAuditRecord.odataType) {
        case "#microsoft.graph.security.dlp.complianceDlpEndpointAuditRecord":
            serializeComplianceDlpEndpointAuditRecord(writer, complianceDLPBaseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpExchangeAuditRecord":
            serializeComplianceDlpExchangeAuditRecord(writer, complianceDLPBaseAuditRecord, true);
            break;
        case "#microsoft.graph.security.dlp.complianceDlpSharePointAuditRecord":
            serializeComplianceDlpSharePointAuditRecord(writer, complianceDLPBaseAuditRecord, true);
            break;
    }
}
/**
 * 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;
    }
    serializeComplianceDLPBaseAuditRecord(writer, complianceDlpEndpointAuditRecord, isSerializingDerivedType);
    writer.writeStringValue("authorizedGroup", complianceDlpEndpointAuditRecord.authorizedGroup);
    writer.writeObjectValue("endpointMetaData", complianceDlpEndpointAuditRecord.endpointMetaData, serializeEndpointMetaDataInfo);
    writer.writeStringValue("evidenceFile", complianceDlpEndpointAuditRecord.evidenceFile);
    writer.writeStringValue("networkLocationContextInAction", complianceDlpEndpointAuditRecord.networkLocationContextInAction);
}
/**
 * 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;
    }
    serializeComplianceDLPBaseAuditRecord(writer, complianceDlpExchangeAuditRecord, isSerializingDerivedType);
    writer.writeObjectValue("exchangeMetaData", complianceDlpExchangeAuditRecord.exchangeMetaData, serializeExchangeMetaDataInfo);
}
/**
 * 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;
    }
    serializeComplianceDLPBaseAuditRecord(writer, complianceDlpSharePointAuditRecord, isSerializingDerivedType);
    writer.writeObjectValue("sharePointMetaData", complianceDlpSharePointAuditRecord.sharePointMetaData, serializeSharePointMetaDataInfo);
}
/**
 * Serializes information the current object
 * @param EndpointMetaDataInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEndpointMetaDataInfo(writer, endpointMetaDataInfo = {}, isSerializingDerivedType = false) {
    if (!endpointMetaDataInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("application", endpointMetaDataInfo.application);
    writer.writeStringValue("applicationSourceExecutableName", endpointMetaDataInfo.applicationSourceExecutableName);
    writer.writeStringValue("destinationLocationType", endpointMetaDataInfo.destinationLocationType);
    writer.writeStringValue("deviceName", endpointMetaDataInfo.deviceName);
    writer.writeStringValue("dlpAuditEventMetadata", endpointMetaDataInfo.dlpAuditEventMetadata);
    writer.writeStringValue("endpointOperation", endpointMetaDataInfo.endpointOperation);
    writer.writeStringValue("enforcementMode", endpointMetaDataInfo.enforcementMode);
    writer.writeStringValue("fileExtension", endpointMetaDataInfo.fileExtension);
    writer.writeNumberValue("fileSize", endpointMetaDataInfo.fileSize);
    writer.writeStringValue("fileType", endpointMetaDataInfo.fileType);
    writer.writeStringValue("groupId", endpointMetaDataInfo.groupId);
    writer.writeStringValue("groupName", endpointMetaDataInfo.groupName);
    writer.writeBooleanValue("isEaV2Enriched", endpointMetaDataInfo.isEaV2Enriched);
    writer.writeBooleanValue("isHidden", endpointMetaDataInfo.isHidden);
    writer.writeBooleanValue("isJitTriggered", endpointMetaDataInfo.isJitTriggered);
    writer.writeBooleanValue("isRmseEncrypted", endpointMetaDataInfo.isRmseEncrypted);
    writer.writeBooleanValue("isViewableByExternalUsers", endpointMetaDataInfo.isViewableByExternalUsers);
    writer.writeStringValue("justification", endpointMetaDataInfo.justification);
    writer.writeStringValue("markOfTheWebData", endpointMetaDataInfo.markOfTheWebData);
    writer.writeStringValue("mdatpDeviceId", endpointMetaDataInfo.mdatpDeviceId);
    writer.writeStringValue("@odata.type", endpointMetaDataInfo.odataType);
    writer.writeStringValue("originatingDomain", endpointMetaDataInfo.originatingDomain);
    writer.writeStringValue("parentArchiveHash", endpointMetaDataInfo.parentArchiveHash);
    writer.writeStringValue("platform", endpointMetaDataInfo.platform);
    writer.writeCollectionOfPrimitiveValues("policyMatchDetails", endpointMetaDataInfo.policyMatchDetails);
    writer.writeStringValue("policyMatchInfo", endpointMetaDataInfo.policyMatchInfo);
    writer.writeStringValue("previousFileName", endpointMetaDataInfo.previousFileName);
    writer.writeStringValue("removableMediaDeviceAttributes", endpointMetaDataInfo.removableMediaDeviceAttributes);
    writer.writeCollectionOfPrimitiveValues("sensitiveInfoTypeData", endpointMetaDataInfo.sensitiveInfoTypeData);
    writer.writeStringValue("sensitivityLabelEventData", endpointMetaDataInfo.sensitivityLabelEventData);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelIds", endpointMetaDataInfo.sensitivityLabelIds);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelNames", endpointMetaDataInfo.sensitivityLabelNames);
    writer.writeStringValue("sha1", endpointMetaDataInfo.sha1);
    writer.writeStringValue("sha256", endpointMetaDataInfo.sha256);
    writer.writeStringValue("sourceLocationType", endpointMetaDataInfo.sourceLocationType);
    writer.writeStringValue("targetDomain", endpointMetaDataInfo.targetDomain);
    writer.writeStringValue("targetFilePath", endpointMetaDataInfo.targetFilePath);
    writer.writeStringValue("targetPrinterName", endpointMetaDataInfo.targetPrinterName);
    writer.writeStringValue("targetUrl", endpointMetaDataInfo.targetUrl);
    writer.writeAdditionalData(endpointMetaDataInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param ExceptionInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExceptionInfo(writer, exceptionInfo = {}, isSerializingDerivedType = false) {
    if (!exceptionInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("isFalsePositive", exceptionInfo.isFalsePositive);
    writer.writeStringValue("justification", exceptionInfo.justification);
    writer.writeStringValue("@odata.type", exceptionInfo.odataType);
    writer.writeStringValue("reason", exceptionInfo.reason);
    writer.writeCollectionOfPrimitiveValues("ruleIds", exceptionInfo.ruleIds);
    writer.writeAdditionalData(exceptionInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param ExchangeMetaDataInfo The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeExchangeMetaDataInfo(writer, exchangeMetaDataInfo = {}, isSerializingDerivedType = false) {
    if (!exchangeMetaDataInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("attachmentDetails", exchangeMetaDataInfo.attachmentDetails, serializeAttachmentInfo);
    writer.writeCollectionOfPrimitiveValues("bccRecipients", exchangeMetaDataInfo.bccRecipients);
    writer.writeCollectionOfPrimitiveValues("ccRecipients", exchangeMetaDataInfo.ccRecipients);
    writer.writeStringValue("docId", exchangeMetaDataInfo.docId);
    writer.writeNumberValue("fileSize", exchangeMetaDataInfo.fileSize);
    writer.writeStringValue("from", exchangeMetaDataInfo.from);
    writer.writeStringValue("immutableEntryId", exchangeMetaDataInfo.immutableEntryId);
    writer.writeBooleanValue("isViewableByExternalUsers", exchangeMetaDataInfo.isViewableByExternalUsers);
    writer.writeStringValue("messageId", exchangeMetaDataInfo.messageId);
    writer.writeStringValue("@odata.type", exchangeMetaDataInfo.odataType);
    writer.writeNumberValue("recipientCount", exchangeMetaDataInfo.recipientCount);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelIds", exchangeMetaDataInfo.sensitivityLabelIds);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelNames", exchangeMetaDataInfo.sensitivityLabelNames);
    writer.writeDateOnlyValue("sentDate", exchangeMetaDataInfo.sentDate);
    writer.writeStringValue("subject", exchangeMetaDataInfo.subject);
    writer.writeCollectionOfPrimitiveValues("toRecipients", exchangeMetaDataInfo.toRecipients);
    writer.writeStringValue("uniqueId", exchangeMetaDataInfo.uniqueId);
    writer.writeAdditionalData(exchangeMetaDataInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RemediationInfo The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRemediationInfo(writer, remediationInfo = {}, isSerializingDerivedType = false) {
    if (!remediationInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("alertId", remediationInfo.alertId);
    writer.writeCollectionOfPrimitiveValues("bccRecipients", remediationInfo.bccRecipients);
    writer.writeCollectionOfPrimitiveValues("ccRecipients", remediationInfo.ccRecipients);
    writer.writeStringValue("iwUser", remediationInfo.iwUser);
    writer.writeStringValue("@odata.type", remediationInfo.odataType);
    writer.writeCollectionOfPrimitiveValues("recipients", remediationInfo.recipients);
    writer.writeEnumValue("remediationActivity", remediationInfo.remediationActivity);
    writer.writeStringValue("sender", remediationInfo.sender);
    writer.writeStringValue("subject", remediationInfo.subject);
    writer.writeStringValue("templateName", remediationInfo.templateName);
    writer.writeAdditionalData(remediationInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SensitiveInformationDetailedConfidenceLevelResult The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSensitiveInformationDetailedConfidenceLevelResult(writer, sensitiveInformationDetailedConfidenceLevelResult = {}, isSerializingDerivedType = false) {
    if (!sensitiveInformationDetailedConfidenceLevelResult || isSerializingDerivedType) {
        return;
    }
    writer.writeNumberValue("confidence", sensitiveInformationDetailedConfidenceLevelResult.confidence);
    writer.writeNumberValue("count", sensitiveInformationDetailedConfidenceLevelResult.count);
    writer.writeBooleanValue("isMatch", sensitiveInformationDetailedConfidenceLevelResult.isMatch);
    writer.writeStringValue("@odata.type", sensitiveInformationDetailedConfidenceLevelResult.odataType);
    writer.writeAdditionalData(sensitiveInformationDetailedConfidenceLevelResult.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SessionMetadataInfo The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSessionMetadataInfo(writer, sessionMetadataInfo = {}, isSerializingDerivedType = false) {
    if (!sessionMetadataInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("appHost", sessionMetadataInfo.appHost);
    writer.writeCollectionOfPrimitiveValues("appHostCategories", sessionMetadataInfo.appHostCategories);
    writer.writeStringValue("appHostFqdn", sessionMetadataInfo.appHostFqdn);
    writer.writeStringValue("browser", sessionMetadataInfo.browser);
    writer.writeStringValue("browserVersion", sessionMetadataInfo.browserVersion);
    writer.writeStringValue("deviceManagementType", sessionMetadataInfo.deviceManagementType);
    writer.writeStringValue("deviceType", sessionMetadataInfo.deviceType);
    writer.writeStringValue("enforcementPlane", sessionMetadataInfo.enforcementPlane);
    writer.writeStringValue("@odata.type", sessionMetadataInfo.odataType);
    writer.writeStringValue("osPlatform", sessionMetadataInfo.osPlatform);
    writer.writeStringValue("osVersion", sessionMetadataInfo.osVersion);
    writer.writeAdditionalData(sessionMetadataInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SharePointMetaDataInfo The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSharePointMetaDataInfo(writer, sharePointMetaDataInfo = {}, isSerializingDerivedType = false) {
    if (!sharePointMetaDataInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("aiFileActions", sharePointMetaDataInfo.aiFileActions);
    writer.writeStringValue("blockedUserForFileAccess", sharePointMetaDataInfo.blockedUserForFileAccess);
    writer.writeStringValue("fileId", sharePointMetaDataInfo.fileId);
    writer.writeStringValue("fileName", sharePointMetaDataInfo.fileName);
    writer.writeStringValue("fileOwner", sharePointMetaDataInfo.fileOwner);
    writer.writeStringValue("filePathUrl", sharePointMetaDataInfo.filePathUrl);
    writer.writeNumberValue("fileSize", sharePointMetaDataInfo.fileSize);
    writer.writeStringValue("from", sharePointMetaDataInfo.from);
    writer.writeBooleanValue("isJitTriggered", sharePointMetaDataInfo.isJitTriggered);
    writer.writeBooleanValue("isViewableByExternalUsers", sharePointMetaDataInfo.isViewableByExternalUsers);
    writer.writeBooleanValue("isVisibleOnlyToOdbOwner", sharePointMetaDataInfo.isVisibleOnlyToOdbOwner);
    writer.writeDateOnlyValue("itemCreatedDate", sharePointMetaDataInfo.itemCreatedDate);
    writer.writeDateOnlyValue("itemLastModifiedDate", sharePointMetaDataInfo.itemLastModifiedDate);
    writer.writeDateOnlyValue("itemLastSharedDate", sharePointMetaDataInfo.itemLastSharedDate);
    writer.writeStringValue("@odata.type", sharePointMetaDataInfo.odataType);
    writer.writeStringValue("quarantineLocationFileUrl", sharePointMetaDataInfo.quarantineLocationFileUrl);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelIds", sharePointMetaDataInfo.sensitivityLabelIds);
    writer.writeCollectionOfPrimitiveValues("sensitivityLabelNames", sharePointMetaDataInfo.sensitivityLabelNames);
    writer.writeCollectionOfPrimitiveValues("sharedBy", sharePointMetaDataInfo.sharedBy);
    writer.writeCollectionOfPrimitiveValues("sharedWith", sharePointMetaDataInfo.sharedWith);
    writer.writeCollectionOfPrimitiveValues("siteAdmins", sharePointMetaDataInfo.siteAdmins);
    writer.writeStringValue("siteCollectionGuid", sharePointMetaDataInfo.siteCollectionGuid);
    writer.writeStringValue("siteCollectionUrl", sharePointMetaDataInfo.siteCollectionUrl);
    writer.writeStringValue("uniqueId", sharePointMetaDataInfo.uniqueId);
    writer.writeStringValue("violatingAction", sharePointMetaDataInfo.violatingAction);
    writer.writeAdditionalData(sharePointMetaDataInfo.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SubscriptionInfo The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSubscriptionInfo(writer, subscriptionInfo = {}, isSerializingDerivedType = false) {
    if (!subscriptionInfo || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("dlpSubscriptionId", subscriptionInfo.dlpSubscriptionId);
    writer.writeStringValue("name", subscriptionInfo.name);
    writer.writeStringValue("@odata.type", subscriptionInfo.odataType);
    writer.writeAdditionalData(subscriptionInfo.additionalData);
}
export const AuditRecordTypeObject = {
    Unknown: "unknown",
    SharePointFileOperation: "sharePointFileOperation",
    ComplianceDlpSharePoint: "complianceDlpSharePoint",
    ComplianceDlpExchange: "complianceDlpExchange",
    DlpEndpoint: "dlpEndpoint",
    ComplianceDlpEndpoint: "complianceDlpEndpoint",
    PowerBiDlp: "powerBiDlp",
    ComplianceDlpApplications: "complianceDlpApplications",
    UnknownFutureValue: "unknownFutureValue",
};
export const EnforcementTypeObject = {
    Unknown: "unknown",
    Combined: "combined",
    Separate: "separate",
    UnknownFutureValue: "unknownFutureValue",
};
export const PurposeTypeObject = {
    Audit: "audit",
    Di: "di",
    UnknownFutureValue: "unknownFutureValue",
};
export const RemediationActivityTypeObject = {
    Unknown: "unknown",
    TemplateTriggered: "templateTriggered",
    IwUnableToTakeAction: "iwUnableToTakeAction",
    UnknownFutureValue: "unknownFutureValue",
};
export const UserTypeObject = {
    Regular: "regular",
    Admin: "admin",
    System: "system",
    UnknownFutureValue: "unknownFutureValue",
};
/* tslint:enable */
/* eslint-enable */
//# sourceMappingURL=index.js.map