UNPKG

@microsoft/msgraph-beta-sdk

Version:
2,698 lines 140 kB
/* tslint:disable */
/* eslint-disable */
// Generated by Microsoft Kiota
// @ts-ignore
import { createLongRunningOperationFromDiscriminatorValue, createPublicErrorFromDiscriminatorValue, deserializeIntoBaseCollectionPaginationCountResponse, deserializeIntoEntity, deserializeIntoLongRunningOperation, serializeBaseCollectionPaginationCountResponse, serializeEntity, serializeLongRunningOperation } 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 {AdditionalClassGroupOptions}
 */
// @ts-ignore
export function createAdditionalClassGroupOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAdditionalClassGroupOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AdditionalUserOptions}
 */
// @ts-ignore
export function createAdditionalUserOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAdditionalUserOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AdministrativeUnitProvisioningFlow}
 */
// @ts-ignore
export function createAdministrativeUnitProvisioningFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoAdministrativeUnitProvisioningFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AdminUnitCreationOptions}
 */
// @ts-ignore
export function createAdminUnitCreationOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAdminUnitCreationOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AggregatedInboundStatistics}
 */
// @ts-ignore
export function createAggregatedInboundStatisticsFromDiscriminatorValue(parseNode) {
    return deserializeIntoAggregatedInboundStatistics;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ApiDataConnector}
 */
// @ts-ignore
export function createApiDataConnectorFromDiscriminatorValue(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.industryData.oneRosterApiDataConnector":
                    return deserializeIntoOneRosterApiDataConnector;
            }
        }
    }
    return deserializeIntoApiDataConnector;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AzureDataLakeConnector}
 */
// @ts-ignore
export function createAzureDataLakeConnectorFromDiscriminatorValue(parseNode) {
    return deserializeIntoAzureDataLakeConnector;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {BasicFilter}
 */
// @ts-ignore
export function createBasicFilterFromDiscriminatorValue(parseNode) {
    return deserializeIntoBasicFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ClassGroupConfiguration}
 */
// @ts-ignore
export function createClassGroupConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoClassGroupConfiguration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ClassGroupProvisioningFlow}
 */
// @ts-ignore
export function createClassGroupProvisioningFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoClassGroupProvisioningFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Credential}
 */
// @ts-ignore
export function createCredentialFromDiscriminatorValue(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.industryData.oAuth1ClientCredential":
                    return deserializeIntoOAuth1ClientCredential;
                case "#microsoft.graph.industryData.oAuth2ClientCredential":
                    return deserializeIntoOAuth2ClientCredential;
                case "#microsoft.graph.industryData.oAuthClientCredential":
                    return deserializeIntoOAuthClientCredential;
            }
        }
    }
    return deserializeIntoCredential;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {EnrollmentMappings}
 */
// @ts-ignore
export function createEnrollmentMappingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoEnrollmentMappings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileDataConnector}
 */
// @ts-ignore
export function createFileDataConnectorFromDiscriminatorValue(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.industryData.azureDataLakeConnector":
                    return deserializeIntoAzureDataLakeConnector;
            }
        }
    }
    return deserializeIntoFileDataConnector;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileFormatReferenceValue}
 */
// @ts-ignore
export function createFileFormatReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileFormatReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {FileValidateOperation}
 */
// @ts-ignore
export function createFileValidateOperationFromDiscriminatorValue(parseNode) {
    return deserializeIntoFileValidateOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Filter}
 */
// @ts-ignore
export function createFilterFromDiscriminatorValue(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.industryData.basicFilter":
                    return deserializeIntoBasicFilter;
            }
        }
    }
    return deserializeIntoFilter;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IdentifierTypeReferenceValue}
 */
// @ts-ignore
export function createIdentifierTypeReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoIdentifierTypeReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundActivityResults}
 */
// @ts-ignore
export function createInboundActivityResultsFromDiscriminatorValue(parseNode) {
    return deserializeIntoInboundActivityResults;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundApiFlow}
 */
// @ts-ignore
export function createInboundApiFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoInboundApiFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundFileFlow}
 */
// @ts-ignore
export function createInboundFileFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoInboundFileFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundFlowActivity}
 */
// @ts-ignore
export function createInboundFlowActivityFromDiscriminatorValue(parseNode) {
    return deserializeIntoInboundFlowActivity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundFlowCollectionResponse}
 */
// @ts-ignore
export function createInboundFlowCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoInboundFlowCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {InboundFlow}
 */
// @ts-ignore
export function createInboundFlowFromDiscriminatorValue(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.industryData.inboundApiFlow":
                    return deserializeIntoInboundApiFlow;
                case "#microsoft.graph.industryData.inboundFileFlow":
                    return deserializeIntoInboundFileFlow;
            }
        }
    }
    return deserializeIntoInboundFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataActivity}
 */
// @ts-ignore
export function createIndustryDataActivityFromDiscriminatorValue(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.industryData.inboundApiFlow":
                    return deserializeIntoInboundApiFlow;
                case "#microsoft.graph.industryData.inboundFileFlow":
                    return deserializeIntoInboundFileFlow;
                case "#microsoft.graph.industryData.inboundFlow":
                    return deserializeIntoInboundFlow;
            }
        }
    }
    return deserializeIntoIndustryDataActivity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataActivityStatistics}
 */
// @ts-ignore
export function createIndustryDataActivityStatisticsFromDiscriminatorValue(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.industryData.inboundActivityResults":
                    return deserializeIntoInboundActivityResults;
            }
        }
    }
    return deserializeIntoIndustryDataActivityStatistics;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataConnectorCollectionResponse}
 */
// @ts-ignore
export function createIndustryDataConnectorCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataConnectorCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataConnector}
 */
// @ts-ignore
export function createIndustryDataConnectorFromDiscriminatorValue(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.industryData.apiDataConnector":
                    return deserializeIntoApiDataConnector;
                case "#microsoft.graph.industryData.azureDataLakeConnector":
                    return deserializeIntoAzureDataLakeConnector;
                case "#microsoft.graph.industryData.fileDataConnector":
                    return deserializeIntoFileDataConnector;
                case "#microsoft.graph.industryData.oneRosterApiDataConnector":
                    return deserializeIntoOneRosterApiDataConnector;
            }
        }
    }
    return deserializeIntoIndustryDataConnector;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRoot}
 */
// @ts-ignore
export function createIndustryDataRootFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRoot;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunActivityCollectionResponse}
 */
// @ts-ignore
export function createIndustryDataRunActivityCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRunActivityCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunActivity}
 */
// @ts-ignore
export function createIndustryDataRunActivityFromDiscriminatorValue(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.industryData.inboundFlowActivity":
                    return deserializeIntoInboundFlowActivity;
                case "#microsoft.graph.industryData.outboundFlowActivity":
                    return deserializeIntoOutboundFlowActivity;
            }
        }
    }
    return deserializeIntoIndustryDataRunActivity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunCollectionResponse}
 */
// @ts-ignore
export function createIndustryDataRunCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRunCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunEntityCountMetric}
 */
// @ts-ignore
export function createIndustryDataRunEntityCountMetricFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRunEntityCountMetric;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRun}
 */
// @ts-ignore
export function createIndustryDataRunFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRun;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunRoleCountMetric}
 */
// @ts-ignore
export function createIndustryDataRunRoleCountMetricFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRunRoleCountMetric;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {IndustryDataRunStatistics}
 */
// @ts-ignore
export function createIndustryDataRunStatisticsFromDiscriminatorValue(parseNode) {
    return deserializeIntoIndustryDataRunStatistics;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OAuth1ClientCredential}
 */
// @ts-ignore
export function createOAuth1ClientCredentialFromDiscriminatorValue(parseNode) {
    return deserializeIntoOAuth1ClientCredential;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OAuth2ClientCredential}
 */
// @ts-ignore
export function createOAuth2ClientCredentialFromDiscriminatorValue(parseNode) {
    return deserializeIntoOAuth2ClientCredential;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OAuthClientCredential}
 */
// @ts-ignore
export function createOAuthClientCredentialFromDiscriminatorValue(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.industryData.oAuth1ClientCredential":
                    return deserializeIntoOAuth1ClientCredential;
                case "#microsoft.graph.industryData.oAuth2ClientCredential":
                    return deserializeIntoOAuth2ClientCredential;
            }
        }
    }
    return deserializeIntoOAuthClientCredential;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OneRosterApiDataConnector}
 */
// @ts-ignore
export function createOneRosterApiDataConnectorFromDiscriminatorValue(parseNode) {
    return deserializeIntoOneRosterApiDataConnector;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OutboundFlowActivity}
 */
// @ts-ignore
export function createOutboundFlowActivityFromDiscriminatorValue(parseNode) {
    return deserializeIntoOutboundFlowActivity;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OutboundProvisioningFlowSetCollectionResponse}
 */
// @ts-ignore
export function createOutboundProvisioningFlowSetCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoOutboundProvisioningFlowSetCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OutboundProvisioningFlowSet}
 */
// @ts-ignore
export function createOutboundProvisioningFlowSetFromDiscriminatorValue(parseNode) {
    return deserializeIntoOutboundProvisioningFlowSet;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {PasswordSettings}
 */
// @ts-ignore
export function createPasswordSettingsFromDiscriminatorValue(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.industryData.simplePasswordSettings":
                    return deserializeIntoSimplePasswordSettings;
            }
        }
    }
    return deserializeIntoPasswordSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProvisioningFlowCollectionResponse}
 */
// @ts-ignore
export function createProvisioningFlowCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoProvisioningFlowCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ProvisioningFlow}
 */
// @ts-ignore
export function createProvisioningFlowFromDiscriminatorValue(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.industryData.administrativeUnitProvisioningFlow":
                    return deserializeIntoAdministrativeUnitProvisioningFlow;
                case "#microsoft.graph.industryData.classGroupProvisioningFlow":
                    return deserializeIntoClassGroupProvisioningFlow;
                case "#microsoft.graph.industryData.securityGroupProvisioningFlow":
                    return deserializeIntoSecurityGroupProvisioningFlow;
                case "#microsoft.graph.industryData.userProvisioningFlow":
                    return deserializeIntoUserProvisioningFlow;
            }
        }
    }
    return deserializeIntoProvisioningFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReferenceDefinitionCollectionResponse}
 */
// @ts-ignore
export function createReferenceDefinitionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoReferenceDefinitionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReferenceDefinition}
 */
// @ts-ignore
export function createReferenceDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoReferenceDefinition;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ReferenceValue}
 */
// @ts-ignore
export function createReferenceValueFromDiscriminatorValue(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.industryData.fileFormatReferenceValue":
                    return deserializeIntoFileFormatReferenceValue;
                case "#microsoft.graph.industryData.identifierTypeReferenceValue":
                    return deserializeIntoIdentifierTypeReferenceValue;
                case "#microsoft.graph.industryData.roleReferenceValue":
                    return deserializeIntoRoleReferenceValue;
                case "#microsoft.graph.industryData.sectionRoleReferenceValue":
                    return deserializeIntoSectionRoleReferenceValue;
                case "#microsoft.graph.industryData.userMatchTargetReferenceValue":
                    return deserializeIntoUserMatchTargetReferenceValue;
                case "#microsoft.graph.industryData.yearReferenceValue":
                    return deserializeIntoYearReferenceValue;
            }
        }
    }
    return deserializeIntoReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RoleGroupCollectionResponse}
 */
// @ts-ignore
export function createRoleGroupCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoRoleGroupCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RoleGroup}
 */
// @ts-ignore
export function createRoleGroupFromDiscriminatorValue(parseNode) {
    return deserializeIntoRoleGroup;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RoleReferenceValue}
 */
// @ts-ignore
export function createRoleReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoRoleReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SectionRoleReferenceValue}
 */
// @ts-ignore
export function createSectionRoleReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoSectionRoleReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityGroupCreationOptions}
 */
// @ts-ignore
export function createSecurityGroupCreationOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityGroupCreationOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SecurityGroupProvisioningFlow}
 */
// @ts-ignore
export function createSecurityGroupProvisioningFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoSecurityGroupProvisioningFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SimplePasswordSettings}
 */
// @ts-ignore
export function createSimplePasswordSettingsFromDiscriminatorValue(parseNode) {
    return deserializeIntoSimplePasswordSettings;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SourceSystemDefinitionCollectionResponse}
 */
// @ts-ignore
export function createSourceSystemDefinitionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoSourceSystemDefinitionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {SourceSystemDefinition}
 */
// @ts-ignore
export function createSourceSystemDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoSourceSystemDefinition;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserConfiguration}
 */
// @ts-ignore
export function createUserConfigurationFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserConfiguration;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserCreationOptions}
 */
// @ts-ignore
export function createUserCreationOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserCreationOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserManagementOptions}
 */
// @ts-ignore
export function createUserManagementOptionsFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserManagementOptions;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserMatchingSetting}
 */
// @ts-ignore
export function createUserMatchingSettingFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserMatchingSetting;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserMatchTargetReferenceValue}
 */
// @ts-ignore
export function createUserMatchTargetReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserMatchTargetReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserProvisioningFlow}
 */
// @ts-ignore
export function createUserProvisioningFlowFromDiscriminatorValue(parseNode) {
    return deserializeIntoUserProvisioningFlow;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {ValidateOperation}
 */
// @ts-ignore
export function createValidateOperationFromDiscriminatorValue(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.industryData.fileValidateOperation":
                    return deserializeIntoFileValidateOperation;
            }
        }
    }
    return deserializeIntoValidateOperation;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {YearReferenceValue}
 */
// @ts-ignore
export function createYearReferenceValueFromDiscriminatorValue(parseNode) {
    return deserializeIntoYearReferenceValue;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {YearTimePeriodDefinitionCollectionResponse}
 */
// @ts-ignore
export function createYearTimePeriodDefinitionCollectionResponseFromDiscriminatorValue(parseNode) {
    return deserializeIntoYearTimePeriodDefinitionCollectionResponse;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {YearTimePeriodDefinition}
 */
// @ts-ignore
export function createYearTimePeriodDefinitionFromDiscriminatorValue(parseNode) {
    return deserializeIntoYearTimePeriodDefinition;
}
/**
 * The deserialization information for the current model
 * @param AdditionalClassGroupOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAdditionalClassGroupOptions(additionalClassGroupOptions = {}) {
    return {
        "backingStoreEnabled": n => { additionalClassGroupOptions.backingStoreEnabled = true; },
        "createTeam": n => { additionalClassGroupOptions.createTeam = n.getBooleanValue(); },
        "@odata.type": n => { additionalClassGroupOptions.odataType = n.getStringValue(); },
        "writeDisplayNameOnCreateOnly": n => { additionalClassGroupOptions.writeDisplayNameOnCreateOnly = n.getBooleanValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AdditionalUserOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAdditionalUserOptions(additionalUserOptions = {}) {
    return {
        "allowStudentContactAssociation": n => { additionalUserOptions.allowStudentContactAssociation = n.getBooleanValue(); },
        "backingStoreEnabled": n => { additionalUserOptions.backingStoreEnabled = true; },
        "markAllStudentsAsMinors": n => { additionalUserOptions.markAllStudentsAsMinors = n.getBooleanValue(); },
        "@odata.type": n => { additionalUserOptions.odataType = n.getStringValue(); },
        "studentAgeGroup": n => { additionalUserOptions.studentAgeGroup = n.getEnumValue(StudentAgeGroupObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param AdministrativeUnitProvisioningFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAdministrativeUnitProvisioningFlow(administrativeUnitProvisioningFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoProvisioningFlow(administrativeUnitProvisioningFlow)), { "creationOptions": n => { administrativeUnitProvisioningFlow.creationOptions = n.getObjectValue(createAdminUnitCreationOptionsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AdminUnitCreationOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAdminUnitCreationOptions(adminUnitCreationOptions = {}) {
    return {
        "backingStoreEnabled": n => { adminUnitCreationOptions.backingStoreEnabled = true; },
        "createBasedOnOrg": n => { adminUnitCreationOptions.createBasedOnOrg = n.getBooleanValue(); },
        "createBasedOnOrgPlusRoleGroup": n => { adminUnitCreationOptions.createBasedOnOrgPlusRoleGroup = n.getBooleanValue(); },
        "@odata.type": n => { adminUnitCreationOptions.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param AggregatedInboundStatistics The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAggregatedInboundStatistics(aggregatedInboundStatistics = {}) {
    return {
        "backingStoreEnabled": n => { aggregatedInboundStatistics.backingStoreEnabled = true; },
        "errors": n => { aggregatedInboundStatistics.errors = n.getNumberValue(); },
        "groups": n => { aggregatedInboundStatistics.groups = n.getNumberValue(); },
        "matchedPeopleByRole": n => { aggregatedInboundStatistics.matchedPeopleByRole = n.getCollectionOfObjectValues(createIndustryDataRunRoleCountMetricFromDiscriminatorValue); },
        "memberships": n => { aggregatedInboundStatistics.memberships = n.getNumberValue(); },
        "@odata.type": n => { aggregatedInboundStatistics.odataType = n.getStringValue(); },
        "organizations": n => { aggregatedInboundStatistics.organizations = n.getNumberValue(); },
        "people": n => { aggregatedInboundStatistics.people = n.getNumberValue(); },
        "unmatchedPeopleByRole": n => { aggregatedInboundStatistics.unmatchedPeopleByRole = n.getCollectionOfObjectValues(createIndustryDataRunRoleCountMetricFromDiscriminatorValue); },
        "warnings": n => { aggregatedInboundStatistics.warnings = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ApiDataConnector The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoApiDataConnector(apiDataConnector = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIndustryDataConnector(apiDataConnector)), { "apiFormat": n => { apiDataConnector.apiFormat = n.getEnumValue(ApiFormatObject); }, "baseUrl": n => { apiDataConnector.baseUrl = n.getStringValue(); }, "credential": n => { apiDataConnector.credential = n.getObjectValue(createCredentialFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param AzureDataLakeConnector The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoAzureDataLakeConnector(azureDataLakeConnector = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFileDataConnector(azureDataLakeConnector)), { "fileFormat": n => { azureDataLakeConnector.fileFormat = n.getObjectValue(createFileFormatReferenceValueFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param BasicFilter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoBasicFilter(basicFilter = {}) {
    return Object.assign(Object.assign({}, deserializeIntoFilter(basicFilter)), { "attribute": n => { basicFilter.attribute = n.getEnumValue(FilterOptionsObject); }, "in": n => { basicFilter.inEscaped = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param ClassGroupConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoClassGroupConfiguration(classGroupConfiguration = {}) {
    return {
        "additionalAttributes": n => { classGroupConfiguration.additionalAttributes = n.getCollectionOfEnumValues(AdditionalClassGroupAttributesObject); },
        "additionalOptions": n => { classGroupConfiguration.additionalOptions = n.getObjectValue(createAdditionalClassGroupOptionsFromDiscriminatorValue); },
        "backingStoreEnabled": n => { classGroupConfiguration.backingStoreEnabled = true; },
        "enrollmentMappings": n => { classGroupConfiguration.enrollmentMappings = n.getObjectValue(createEnrollmentMappingsFromDiscriminatorValue); },
        "@odata.type": n => { classGroupConfiguration.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ClassGroupProvisioningFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoClassGroupProvisioningFlow(classGroupProvisioningFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoProvisioningFlow(classGroupProvisioningFlow)), { "configuration": n => { classGroupProvisioningFlow.configuration = n.getObjectValue(createClassGroupConfigurationFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param Credential The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoCredential(credential = {}) {
    return {
        "backingStoreEnabled": n => { credential.backingStoreEnabled = true; },
        "displayName": n => { credential.displayName = n.getStringValue(); },
        "isValid": n => { credential.isValid = n.getBooleanValue(); },
        "lastValidDateTime": n => { credential.lastValidDateTime = n.getDateValue(); },
        "@odata.type": n => { credential.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param EnrollmentMappings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoEnrollmentMappings(enrollmentMappings = {}) {
    return {
        "backingStoreEnabled": n => { enrollmentMappings.backingStoreEnabled = true; },
        "memberEnrollmentMappings": n => { enrollmentMappings.memberEnrollmentMappings = n.getCollectionOfObjectValues(createSectionRoleReferenceValueFromDiscriminatorValue); },
        "@odata.type": n => { enrollmentMappings.odataType = n.getStringValue(); },
        "ownerEnrollmentMappings": n => { enrollmentMappings.ownerEnrollmentMappings = n.getCollectionOfObjectValues(createSectionRoleReferenceValueFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param FileDataConnector The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileDataConnector(fileDataConnector = {}) {
    return Object.assign({}, deserializeIntoIndustryDataConnector(fileDataConnector));
}
/**
 * The deserialization information for the current model
 * @param FileFormatReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileFormatReferenceValue(fileFormatReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(fileFormatReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param FileValidateOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFileValidateOperation(fileValidateOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoValidateOperation(fileValidateOperation)), { "validatedFiles": n => { fileValidateOperation.validatedFiles = n.getCollectionOfPrimitiveValues("string"); } });
}
/**
 * The deserialization information for the current model
 * @param Filter The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoFilter(filter = {}) {
    return {
        "backingStoreEnabled": n => { filter.backingStoreEnabled = true; },
        "@odata.type": n => { filter.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IdentifierTypeReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIdentifierTypeReferenceValue(identifierTypeReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(identifierTypeReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param InboundActivityResults The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundActivityResults(inboundActivityResults = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIndustryDataActivityStatistics(inboundActivityResults)), { "errors": n => { inboundActivityResults.errors = n.getNumberValue(); }, "groups": n => { inboundActivityResults.groups = n.getObjectValue(createIndustryDataRunEntityCountMetricFromDiscriminatorValue); }, "matchedPeopleByRole": n => { inboundActivityResults.matchedPeopleByRole = n.getCollectionOfObjectValues(createIndustryDataRunRoleCountMetricFromDiscriminatorValue); }, "memberships": n => { inboundActivityResults.memberships = n.getObjectValue(createIndustryDataRunEntityCountMetricFromDiscriminatorValue); }, "organizations": n => { inboundActivityResults.organizations = n.getObjectValue(createIndustryDataRunEntityCountMetricFromDiscriminatorValue); }, "people": n => { inboundActivityResults.people = n.getObjectValue(createIndustryDataRunEntityCountMetricFromDiscriminatorValue); }, "unmatchedPeopleByRole": n => { inboundActivityResults.unmatchedPeopleByRole = n.getCollectionOfObjectValues(createIndustryDataRunRoleCountMetricFromDiscriminatorValue); }, "warnings": n => { inboundActivityResults.warnings = n.getNumberValue(); } });
}
/**
 * The deserialization information for the current model
 * @param InboundApiFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundApiFlow(inboundApiFlow = {}) {
    return Object.assign({}, deserializeIntoInboundFlow(inboundApiFlow));
}
/**
 * The deserialization information for the current model
 * @param InboundFileFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundFileFlow(inboundFileFlow = {}) {
    return Object.assign({}, deserializeIntoInboundFlow(inboundFileFlow));
}
/**
 * The deserialization information for the current model
 * @param InboundFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundFlow(inboundFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoIndustryDataActivity(inboundFlow)), { "dataConnector": n => { inboundFlow.dataConnector = n.getObjectValue(createIndustryDataConnectorFromDiscriminatorValue); }, "dataDomain": n => { inboundFlow.dataDomain = n.getEnumValue(InboundDomainObject); }, "effectiveDateTime": n => { inboundFlow.effectiveDateTime = n.getDateValue(); }, "expirationDateTime": n => { inboundFlow.expirationDateTime = n.getDateValue(); }, "year": n => { inboundFlow.year = n.getObjectValue(createYearTimePeriodDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param InboundFlowActivity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundFlowActivity(inboundFlowActivity = {}) {
    return Object.assign({}, deserializeIntoIndustryDataRunActivity(inboundFlowActivity));
}
/**
 * The deserialization information for the current model
 * @param InboundFlowCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoInboundFlowCollectionResponse(inboundFlowCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(inboundFlowCollectionResponse)), { "value": n => { inboundFlowCollectionResponse.value = n.getCollectionOfObjectValues(createInboundFlowFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataActivity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataActivity(industryDataActivity = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(industryDataActivity)), { "displayName": n => { industryDataActivity.displayName = n.getStringValue(); }, "readinessStatus": n => { industryDataActivity.readinessStatus = n.getEnumValue(ReadinessStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataActivityStatistics The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataActivityStatistics(industryDataActivityStatistics = {}) {
    return {
        "activityId": n => { industryDataActivityStatistics.activityId = n.getStringValue(); },
        "backingStoreEnabled": n => { industryDataActivityStatistics.backingStoreEnabled = true; },
        "displayName": n => { industryDataActivityStatistics.displayName = n.getStringValue(); },
        "@odata.type": n => { industryDataActivityStatistics.odataType = n.getStringValue(); },
        "status": n => { industryDataActivityStatistics.status = n.getEnumValue(IndustryDataActivityStatusObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param IndustryDataConnector The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataConnector(industryDataConnector = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(industryDataConnector)), { "displayName": n => { industryDataConnector.displayName = n.getStringValue(); }, "sourceSystem": n => { industryDataConnector.sourceSystem = n.getObjectValue(createSourceSystemDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataConnectorCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataConnectorCollectionResponse(industryDataConnectorCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(industryDataConnectorCollectionResponse)), { "value": n => { industryDataConnectorCollectionResponse.value = n.getCollectionOfObjectValues(createIndustryDataConnectorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRoot(industryDataRoot = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(industryDataRoot)), { "dataConnectors": n => { industryDataRoot.dataConnectors = n.getCollectionOfObjectValues(createIndustryDataConnectorFromDiscriminatorValue); }, "inboundFlows": n => { industryDataRoot.inboundFlows = n.getCollectionOfObjectValues(createInboundFlowFromDiscriminatorValue); }, "operations": n => { industryDataRoot.operations = n.getCollectionOfObjectValues(createLongRunningOperationFromDiscriminatorValue); }, "outboundProvisioningFlowSets": n => { industryDataRoot.outboundProvisioningFlowSets = n.getCollectionOfObjectValues(createOutboundProvisioningFlowSetFromDiscriminatorValue); }, "referenceDefinitions": n => { industryDataRoot.referenceDefinitions = n.getCollectionOfObjectValues(createReferenceDefinitionFromDiscriminatorValue); }, "roleGroups": n => { industryDataRoot.roleGroups = n.getCollectionOfObjectValues(createRoleGroupFromDiscriminatorValue); }, "runs": n => { industryDataRoot.runs = n.getCollectionOfObjectValues(createIndustryDataRunFromDiscriminatorValue); }, "sourceSystems": n => { industryDataRoot.sourceSystems = n.getCollectionOfObjectValues(createSourceSystemDefinitionFromDiscriminatorValue); }, "years": n => { industryDataRoot.years = n.getCollectionOfObjectValues(createYearTimePeriodDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRun The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRun(industryDataRun = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(industryDataRun)), { "activities": n => { industryDataRun.activities = n.getCollectionOfObjectValues(createIndustryDataRunActivityFromDiscriminatorValue); }, "blockingError": n => { industryDataRun.blockingError = n.getObjectValue(createPublicErrorFromDiscriminatorValue); }, "displayName": n => { industryDataRun.displayName = n.getStringValue(); }, "endDateTime": n => { industryDataRun.endDateTime = n.getDateValue(); }, "startDateTime": n => { industryDataRun.startDateTime = n.getDateValue(); }, "status": n => { industryDataRun.status = n.getEnumValue(IndustryDataRunStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunActivity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunActivity(industryDataRunActivity = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(industryDataRunActivity)), { "activity": n => { industryDataRunActivity.activity = n.getObjectValue(createIndustryDataActivityFromDiscriminatorValue); }, "blockingError": n => { industryDataRunActivity.blockingError = n.getObjectValue(createPublicErrorFromDiscriminatorValue); }, "displayName": n => { industryDataRunActivity.displayName = n.getStringValue(); }, "status": n => { industryDataRunActivity.status = n.getEnumValue(IndustryDataActivityStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunActivityCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunActivityCollectionResponse(industryDataRunActivityCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(industryDataRunActivityCollectionResponse)), { "value": n => { industryDataRunActivityCollectionResponse.value = n.getCollectionOfObjectValues(createIndustryDataRunActivityFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunCollectionResponse(industryDataRunCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(industryDataRunCollectionResponse)), { "value": n => { industryDataRunCollectionResponse.value = n.getCollectionOfObjectValues(createIndustryDataRunFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunEntityCountMetric The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunEntityCountMetric(industryDataRunEntityCountMetric = {}) {
    return {
        "active": n => { industryDataRunEntityCountMetric.active = n.getNumberValue(); },
        "backingStoreEnabled": n => { industryDataRunEntityCountMetric.backingStoreEnabled = true; },
        "inactive": n => { industryDataRunEntityCountMetric.inactive = n.getNumberValue(); },
        "@odata.type": n => { industryDataRunEntityCountMetric.odataType = n.getStringValue(); },
        "total": n => { industryDataRunEntityCountMetric.total = n.getNumberValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunRoleCountMetric The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunRoleCountMetric(industryDataRunRoleCountMetric = {}) {
    return {
        "backingStoreEnabled": n => { industryDataRunRoleCountMetric.backingStoreEnabled = true; },
        "count": n => { industryDataRunRoleCountMetric.count = n.getNumberValue(); },
        "@odata.type": n => { industryDataRunRoleCountMetric.odataType = n.getStringValue(); },
        "role": n => { industryDataRunRoleCountMetric.role = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param IndustryDataRunStatistics The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoIndustryDataRunStatistics(industryDataRunStatistics = {}) {
    return {
        "activityStatistics": n => { industryDataRunStatistics.activityStatistics = n.getCollectionOfObjectValues(createIndustryDataActivityStatisticsFromDiscriminatorValue); },
        "backingStoreEnabled": n => { industryDataRunStatistics.backingStoreEnabled = true; },
        "inboundTotals": n => { industryDataRunStatistics.inboundTotals = n.getObjectValue(createAggregatedInboundStatisticsFromDiscriminatorValue); },
        "@odata.type": n => { industryDataRunStatistics.odataType = n.getStringValue(); },
        "runId": n => { industryDataRunStatistics.runId = n.getStringValue(); },
        "status": n => { industryDataRunStatistics.status = n.getEnumValue(IndustryDataRunStatusObject); },
    };
}
/**
 * The deserialization information for the current model
 * @param OAuth1ClientCredential The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOAuth1ClientCredential(oAuth1ClientCredential = {}) {
    return Object.assign({}, deserializeIntoOAuthClientCredential(oAuth1ClientCredential));
}
/**
 * The deserialization information for the current model
 * @param OAuth2ClientCredential The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOAuth2ClientCredential(oAuth2ClientCredential = {}) {
    return Object.assign(Object.assign({}, deserializeIntoOAuthClientCredential(oAuth2ClientCredential)), { "scope": n => { oAuth2ClientCredential.scope = n.getStringValue(); }, "tokenUrl": n => { oAuth2ClientCredential.tokenUrl = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OAuthClientCredential The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOAuthClientCredential(oAuthClientCredential = {}) {
    return Object.assign(Object.assign({}, deserializeIntoCredential(oAuthClientCredential)), { "clientId": n => { oAuthClientCredential.clientId = n.getStringValue(); }, "clientSecret": n => { oAuthClientCredential.clientSecret = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OneRosterApiDataConnector The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOneRosterApiDataConnector(oneRosterApiDataConnector = {}) {
    return Object.assign(Object.assign({}, deserializeIntoApiDataConnector(oneRosterApiDataConnector)), { "apiVersion": n => { oneRosterApiDataConnector.apiVersion = n.getStringValue(); }, "isContactsEnabled": n => { oneRosterApiDataConnector.isContactsEnabled = n.getBooleanValue(); }, "isDemographicsEnabled": n => { oneRosterApiDataConnector.isDemographicsEnabled = n.getBooleanValue(); }, "isFlagsEnabled": n => { oneRosterApiDataConnector.isFlagsEnabled = n.getBooleanValue(); } });
}
/**
 * The deserialization information for the current model
 * @param OutboundFlowActivity The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOutboundFlowActivity(outboundFlowActivity = {}) {
    return Object.assign({}, deserializeIntoIndustryDataRunActivity(outboundFlowActivity));
}
/**
 * The deserialization information for the current model
 * @param OutboundProvisioningFlowSet The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOutboundProvisioningFlowSet(outboundProvisioningFlowSet = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(outboundProvisioningFlowSet)), { "createdDateTime": n => { outboundProvisioningFlowSet.createdDateTime = n.getDateValue(); }, "displayName": n => { outboundProvisioningFlowSet.displayName = n.getStringValue(); }, "filter": n => { outboundProvisioningFlowSet.filter = n.getObjectValue(createFilterFromDiscriminatorValue); }, "lastModifiedDateTime": n => { outboundProvisioningFlowSet.lastModifiedDateTime = n.getDateValue(); }, "provisioningFlows": n => { outboundProvisioningFlowSet.provisioningFlows = n.getCollectionOfObjectValues(createProvisioningFlowFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param OutboundProvisioningFlowSetCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoOutboundProvisioningFlowSetCollectionResponse(outboundProvisioningFlowSetCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(outboundProvisioningFlowSetCollectionResponse)), { "value": n => { outboundProvisioningFlowSetCollectionResponse.value = n.getCollectionOfObjectValues(createOutboundProvisioningFlowSetFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param PasswordSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoPasswordSettings(passwordSettings = {}) {
    return {
        "backingStoreEnabled": n => { passwordSettings.backingStoreEnabled = true; },
        "@odata.type": n => { passwordSettings.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param ProvisioningFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProvisioningFlow(provisioningFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(provisioningFlow)), { "createdDateTime": n => { provisioningFlow.createdDateTime = n.getDateValue(); }, "lastModifiedDateTime": n => { provisioningFlow.lastModifiedDateTime = n.getDateValue(); }, "readinessStatus": n => { provisioningFlow.readinessStatus = n.getEnumValue(ReadinessStatusObject); } });
}
/**
 * The deserialization information for the current model
 * @param ProvisioningFlowCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoProvisioningFlowCollectionResponse(provisioningFlowCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(provisioningFlowCollectionResponse)), { "value": n => { provisioningFlowCollectionResponse.value = n.getCollectionOfObjectValues(createProvisioningFlowFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ReferenceDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReferenceDefinition(referenceDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(referenceDefinition)), { "code": n => { referenceDefinition.code = n.getStringValue(); }, "createdDateTime": n => { referenceDefinition.createdDateTime = n.getDateValue(); }, "displayName": n => { referenceDefinition.displayName = n.getStringValue(); }, "isDisabled": n => { referenceDefinition.isDisabled = n.getBooleanValue(); }, "lastModifiedDateTime": n => { referenceDefinition.lastModifiedDateTime = n.getDateValue(); }, "referenceType": n => { referenceDefinition.referenceType = n.getStringValue(); }, "sortIndex": n => { referenceDefinition.sortIndex = n.getNumberValue(); }, "source": n => { referenceDefinition.source = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param ReferenceDefinitionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReferenceDefinitionCollectionResponse(referenceDefinitionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(referenceDefinitionCollectionResponse)), { "value": n => { referenceDefinitionCollectionResponse.value = n.getCollectionOfObjectValues(createReferenceDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoReferenceValue(referenceValue = {}) {
    return {
        "backingStoreEnabled": n => { referenceValue.backingStoreEnabled = true; },
        "code": n => { referenceValue.code = n.getStringValue(); },
        "@odata.type": n => { referenceValue.odataType = n.getStringValue(); },
        "value": n => { referenceValue.value = n.getObjectValue(createReferenceDefinitionFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param RoleGroup The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRoleGroup(roleGroup = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(roleGroup)), { "displayName": n => { roleGroup.displayName = n.getStringValue(); }, "roles": n => { roleGroup.roles = n.getCollectionOfObjectValues(createRoleReferenceValueFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RoleGroupCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRoleGroupCollectionResponse(roleGroupCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(roleGroupCollectionResponse)), { "value": n => { roleGroupCollectionResponse.value = n.getCollectionOfObjectValues(createRoleGroupFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param RoleReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoRoleReferenceValue(roleReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(roleReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param SectionRoleReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSectionRoleReferenceValue(sectionRoleReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(sectionRoleReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param SecurityGroupCreationOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityGroupCreationOptions(securityGroupCreationOptions = {}) {
    return {
        "backingStoreEnabled": n => { securityGroupCreationOptions.backingStoreEnabled = true; },
        "createBasedOnOrgPlusRoleGroup": n => { securityGroupCreationOptions.createBasedOnOrgPlusRoleGroup = n.getBooleanValue(); },
        "createBasedOnRoleGroup": n => { securityGroupCreationOptions.createBasedOnRoleGroup = n.getBooleanValue(); },
        "@odata.type": n => { securityGroupCreationOptions.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param SecurityGroupProvisioningFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSecurityGroupProvisioningFlow(securityGroupProvisioningFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoProvisioningFlow(securityGroupProvisioningFlow)), { "creationOptions": n => { securityGroupProvisioningFlow.creationOptions = n.getObjectValue(createSecurityGroupCreationOptionsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param SimplePasswordSettings The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSimplePasswordSettings(simplePasswordSettings = {}) {
    return Object.assign(Object.assign({}, deserializeIntoPasswordSettings(simplePasswordSettings)), { "password": n => { simplePasswordSettings.password = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SourceSystemDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSourceSystemDefinition(sourceSystemDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(sourceSystemDefinition)), { "displayName": n => { sourceSystemDefinition.displayName = n.getStringValue(); }, "userMatchingSettings": n => { sourceSystemDefinition.userMatchingSettings = n.getCollectionOfObjectValues(createUserMatchingSettingFromDiscriminatorValue); }, "vendor": n => { sourceSystemDefinition.vendor = n.getStringValue(); } });
}
/**
 * The deserialization information for the current model
 * @param SourceSystemDefinitionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoSourceSystemDefinitionCollectionResponse(sourceSystemDefinitionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(sourceSystemDefinitionCollectionResponse)), { "value": n => { sourceSystemDefinitionCollectionResponse.value = n.getCollectionOfObjectValues(createSourceSystemDefinitionFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param UserConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserConfiguration(userConfiguration = {}) {
    return {
        "backingStoreEnabled": n => { userConfiguration.backingStoreEnabled = true; },
        "defaultPasswordSettings": n => { userConfiguration.defaultPasswordSettings = n.getObjectValue(createPasswordSettingsFromDiscriminatorValue); },
        "licenseSkus": n => { userConfiguration.licenseSkus = n.getCollectionOfPrimitiveValues("string"); },
        "@odata.type": n => { userConfiguration.odataType = n.getStringValue(); },
        "roleGroup": n => { userConfiguration.roleGroup = n.getObjectValue(createRoleGroupFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param UserCreationOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserCreationOptions(userCreationOptions = {}) {
    return {
        "backingStoreEnabled": n => { userCreationOptions.backingStoreEnabled = true; },
        "configurations": n => { userCreationOptions.configurations = n.getCollectionOfObjectValues(createUserConfigurationFromDiscriminatorValue); },
        "@odata.type": n => { userCreationOptions.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param UserManagementOptions The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserManagementOptions(userManagementOptions = {}) {
    return {
        "additionalAttributes": n => { userManagementOptions.additionalAttributes = n.getCollectionOfEnumValues(AdditionalUserAttributesObject); },
        "additionalOptions": n => { userManagementOptions.additionalOptions = n.getObjectValue(createAdditionalUserOptionsFromDiscriminatorValue); },
        "backingStoreEnabled": n => { userManagementOptions.backingStoreEnabled = true; },
        "@odata.type": n => { userManagementOptions.odataType = n.getStringValue(); },
    };
}
/**
 * The deserialization information for the current model
 * @param UserMatchingSetting The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserMatchingSetting(userMatchingSetting = {}) {
    return {
        "backingStoreEnabled": n => { userMatchingSetting.backingStoreEnabled = true; },
        "matchTarget": n => { userMatchingSetting.matchTarget = n.getObjectValue(createUserMatchTargetReferenceValueFromDiscriminatorValue); },
        "@odata.type": n => { userMatchingSetting.odataType = n.getStringValue(); },
        "priorityOrder": n => { userMatchingSetting.priorityOrder = n.getNumberValue(); },
        "roleGroup": n => { userMatchingSetting.roleGroup = n.getObjectValue(createRoleGroupFromDiscriminatorValue); },
        "sourceIdentifier": n => { userMatchingSetting.sourceIdentifier = n.getObjectValue(createIdentifierTypeReferenceValueFromDiscriminatorValue); },
    };
}
/**
 * The deserialization information for the current model
 * @param UserMatchTargetReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserMatchTargetReferenceValue(userMatchTargetReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(userMatchTargetReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param UserProvisioningFlow The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoUserProvisioningFlow(userProvisioningFlow = {}) {
    return Object.assign(Object.assign({}, deserializeIntoProvisioningFlow(userProvisioningFlow)), { "createUnmatchedUsers": n => { userProvisioningFlow.createUnmatchedUsers = n.getBooleanValue(); }, "creationOptions": n => { userProvisioningFlow.creationOptions = n.getObjectValue(createUserCreationOptionsFromDiscriminatorValue); }, "managementOptions": n => { userProvisioningFlow.managementOptions = n.getObjectValue(createUserManagementOptionsFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param ValidateOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoValidateOperation(validateOperation = {}) {
    return Object.assign(Object.assign({}, deserializeIntoLongRunningOperation(validateOperation)), { "errors": n => { validateOperation.errors = n.getCollectionOfObjectValues(createPublicErrorFromDiscriminatorValue); }, "warnings": n => { validateOperation.warnings = n.getCollectionOfObjectValues(createPublicErrorFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param YearReferenceValue The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoYearReferenceValue(yearReferenceValue = {}) {
    return Object.assign({}, deserializeIntoReferenceValue(yearReferenceValue));
}
/**
 * The deserialization information for the current model
 * @param YearTimePeriodDefinition The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoYearTimePeriodDefinition(yearTimePeriodDefinition = {}) {
    return Object.assign(Object.assign({}, deserializeIntoEntity(yearTimePeriodDefinition)), { "displayName": n => { yearTimePeriodDefinition.displayName = n.getStringValue(); }, "endDate": n => { yearTimePeriodDefinition.endDate = n.getDateOnlyValue(); }, "startDate": n => { yearTimePeriodDefinition.startDate = n.getDateOnlyValue(); }, "year": n => { yearTimePeriodDefinition.year = n.getObjectValue(createYearReferenceValueFromDiscriminatorValue); } });
}
/**
 * The deserialization information for the current model
 * @param YearTimePeriodDefinitionCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
// @ts-ignore
export function deserializeIntoYearTimePeriodDefinitionCollectionResponse(yearTimePeriodDefinitionCollectionResponse = {}) {
    return Object.assign(Object.assign({}, deserializeIntoBaseCollectionPaginationCountResponse(yearTimePeriodDefinitionCollectionResponse)), { "value": n => { yearTimePeriodDefinitionCollectionResponse.value = n.getCollectionOfObjectValues(createYearTimePeriodDefinitionFromDiscriminatorValue); } });
}
/**
 * Serializes information the current object
 * @param AdditionalClassGroupOptions The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAdditionalClassGroupOptions(writer, additionalClassGroupOptions = {}, isSerializingDerivedType = false) {
    if (!additionalClassGroupOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("createTeam", additionalClassGroupOptions.createTeam);
    writer.writeStringValue("@odata.type", additionalClassGroupOptions.odataType);
    writer.writeBooleanValue("writeDisplayNameOnCreateOnly", additionalClassGroupOptions.writeDisplayNameOnCreateOnly);
    writer.writeAdditionalData(additionalClassGroupOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param AdditionalUserOptions The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAdditionalUserOptions(writer, additionalUserOptions = {}, isSerializingDerivedType = false) {
    if (!additionalUserOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("allowStudentContactAssociation", additionalUserOptions.allowStudentContactAssociation);
    writer.writeBooleanValue("markAllStudentsAsMinors", additionalUserOptions.markAllStudentsAsMinors);
    writer.writeStringValue("@odata.type", additionalUserOptions.odataType);
    writer.writeEnumValue("studentAgeGroup", additionalUserOptions.studentAgeGroup);
    writer.writeAdditionalData(additionalUserOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param AdministrativeUnitProvisioningFlow The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAdministrativeUnitProvisioningFlow(writer, administrativeUnitProvisioningFlow = {}, isSerializingDerivedType = false) {
    if (!administrativeUnitProvisioningFlow || isSerializingDerivedType) {
        return;
    }
    serializeProvisioningFlow(writer, administrativeUnitProvisioningFlow, isSerializingDerivedType);
    writer.writeObjectValue("creationOptions", administrativeUnitProvisioningFlow.creationOptions, serializeAdminUnitCreationOptions);
}
/**
 * Serializes information the current object
 * @param AdminUnitCreationOptions The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAdminUnitCreationOptions(writer, adminUnitCreationOptions = {}, isSerializingDerivedType = false) {
    if (!adminUnitCreationOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("createBasedOnOrg", adminUnitCreationOptions.createBasedOnOrg);
    writer.writeBooleanValue("createBasedOnOrgPlusRoleGroup", adminUnitCreationOptions.createBasedOnOrgPlusRoleGroup);
    writer.writeStringValue("@odata.type", adminUnitCreationOptions.odataType);
    writer.writeAdditionalData(adminUnitCreationOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param AggregatedInboundStatistics The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAggregatedInboundStatistics(writer, aggregatedInboundStatistics = {}, isSerializingDerivedType = false) {
    if (!aggregatedInboundStatistics || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", aggregatedInboundStatistics.odataType);
    writer.writeAdditionalData(aggregatedInboundStatistics.additionalData);
}
/**
 * Serializes information the current object
 * @param ApiDataConnector The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeApiDataConnector(writer, apiDataConnector = {}, isSerializingDerivedType = false) {
    if (!apiDataConnector || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataConnector(writer, apiDataConnector, isSerializingDerivedType);
    writer.writeEnumValue("apiFormat", apiDataConnector.apiFormat);
    writer.writeStringValue("baseUrl", apiDataConnector.baseUrl);
    writer.writeObjectValue("credential", apiDataConnector.credential, serializeCredential);
    switch (apiDataConnector.odataType) {
        case "#microsoft.graph.industryData.oneRosterApiDataConnector":
            serializeOneRosterApiDataConnector(writer, apiDataConnector, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param AzureDataLakeConnector The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeAzureDataLakeConnector(writer, azureDataLakeConnector = {}, isSerializingDerivedType = false) {
    if (!azureDataLakeConnector || isSerializingDerivedType) {
        return;
    }
    serializeFileDataConnector(writer, azureDataLakeConnector, isSerializingDerivedType);
    writer.writeObjectValue("fileFormat", azureDataLakeConnector.fileFormat, serializeFileFormatReferenceValue);
}
/**
 * Serializes information the current object
 * @param BasicFilter The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeBasicFilter(writer, basicFilter = {}, isSerializingDerivedType = false) {
    if (!basicFilter || isSerializingDerivedType) {
        return;
    }
    serializeFilter(writer, basicFilter, isSerializingDerivedType);
    writer.writeEnumValue("attribute", basicFilter.attribute);
    writer.writeCollectionOfPrimitiveValues("in", basicFilter.inEscaped);
}
/**
 * Serializes information the current object
 * @param ClassGroupConfiguration The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeClassGroupConfiguration(writer, classGroupConfiguration = {}, isSerializingDerivedType = false) {
    if (!classGroupConfiguration || isSerializingDerivedType) {
        return;
    }
    if (classGroupConfiguration.additionalAttributes)
        writer.writeCollectionOfEnumValues("additionalAttributes", classGroupConfiguration.additionalAttributes);
    writer.writeObjectValue("additionalOptions", classGroupConfiguration.additionalOptions, serializeAdditionalClassGroupOptions);
    writer.writeObjectValue("enrollmentMappings", classGroupConfiguration.enrollmentMappings, serializeEnrollmentMappings);
    writer.writeStringValue("@odata.type", classGroupConfiguration.odataType);
    writer.writeAdditionalData(classGroupConfiguration.additionalData);
}
/**
 * Serializes information the current object
 * @param ClassGroupProvisioningFlow The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeClassGroupProvisioningFlow(writer, classGroupProvisioningFlow = {}, isSerializingDerivedType = false) {
    if (!classGroupProvisioningFlow || isSerializingDerivedType) {
        return;
    }
    serializeProvisioningFlow(writer, classGroupProvisioningFlow, isSerializingDerivedType);
    writer.writeObjectValue("configuration", classGroupProvisioningFlow.configuration, serializeClassGroupConfiguration);
}
/**
 * Serializes information the current object
 * @param Credential The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeCredential(writer, credential = {}, isSerializingDerivedType = false) {
    if (!credential || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("displayName", credential.displayName);
    writer.writeStringValue("@odata.type", credential.odataType);
    writer.writeAdditionalData(credential.additionalData);
    switch (credential.odataType) {
        case "#microsoft.graph.industryData.oAuth1ClientCredential":
            serializeOAuth1ClientCredential(writer, credential, true);
            break;
        case "#microsoft.graph.industryData.oAuth2ClientCredential":
            serializeOAuth2ClientCredential(writer, credential, true);
            break;
        case "#microsoft.graph.industryData.oAuthClientCredential":
            serializeOAuthClientCredential(writer, credential, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param EnrollmentMappings The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeEnrollmentMappings(writer, enrollmentMappings = {}, isSerializingDerivedType = false) {
    if (!enrollmentMappings || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("memberEnrollmentMappings", enrollmentMappings.memberEnrollmentMappings, serializeSectionRoleReferenceValue);
    writer.writeStringValue("@odata.type", enrollmentMappings.odataType);
    writer.writeCollectionOfObjectValues("ownerEnrollmentMappings", enrollmentMappings.ownerEnrollmentMappings, serializeSectionRoleReferenceValue);
    writer.writeAdditionalData(enrollmentMappings.additionalData);
}
/**
 * Serializes information the current object
 * @param FileDataConnector The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileDataConnector(writer, fileDataConnector = {}, isSerializingDerivedType = false) {
    if (!fileDataConnector || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataConnector(writer, fileDataConnector, isSerializingDerivedType);
    switch (fileDataConnector.odataType) {
        case "#microsoft.graph.industryData.azureDataLakeConnector":
            serializeAzureDataLakeConnector(writer, fileDataConnector, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param FileFormatReferenceValue The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileFormatReferenceValue(writer, fileFormatReferenceValue = {}, isSerializingDerivedType = false) {
    if (!fileFormatReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, fileFormatReferenceValue, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param FileValidateOperation The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFileValidateOperation(writer, fileValidateOperation = {}, isSerializingDerivedType = false) {
    if (!fileValidateOperation || isSerializingDerivedType) {
        return;
    }
    serializeValidateOperation(writer, fileValidateOperation, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param Filter The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeFilter(writer, filter = {}, isSerializingDerivedType = false) {
    if (!filter || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", filter.odataType);
    writer.writeAdditionalData(filter.additionalData);
    switch (filter.odataType) {
        case "#microsoft.graph.industryData.basicFilter":
            serializeBasicFilter(writer, filter, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IdentifierTypeReferenceValue The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIdentifierTypeReferenceValue(writer, identifierTypeReferenceValue = {}, isSerializingDerivedType = false) {
    if (!identifierTypeReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, identifierTypeReferenceValue, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InboundActivityResults The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundActivityResults(writer, inboundActivityResults = {}, isSerializingDerivedType = false) {
    if (!inboundActivityResults || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataActivityStatistics(writer, inboundActivityResults, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InboundApiFlow The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundApiFlow(writer, inboundApiFlow = {}, isSerializingDerivedType = false) {
    if (!inboundApiFlow || isSerializingDerivedType) {
        return;
    }
    serializeInboundFlow(writer, inboundApiFlow, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InboundFileFlow The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundFileFlow(writer, inboundFileFlow = {}, isSerializingDerivedType = false) {
    if (!inboundFileFlow || isSerializingDerivedType) {
        return;
    }
    serializeInboundFlow(writer, inboundFileFlow, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InboundFlow The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundFlow(writer, inboundFlow = {}, isSerializingDerivedType = false) {
    if (!inboundFlow || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataActivity(writer, inboundFlow, isSerializingDerivedType);
    writer.writeObjectValue("dataConnector", inboundFlow.dataConnector, serializeIndustryDataConnector);
    writer.writeEnumValue("dataDomain", inboundFlow.dataDomain);
    writer.writeDateValue("effectiveDateTime", inboundFlow.effectiveDateTime);
    writer.writeDateValue("expirationDateTime", inboundFlow.expirationDateTime);
    writer.writeObjectValue("year", inboundFlow.year, serializeYearTimePeriodDefinition);
    switch (inboundFlow.odataType) {
        case "#microsoft.graph.industryData.inboundApiFlow":
            serializeInboundApiFlow(writer, inboundFlow, true);
            break;
        case "#microsoft.graph.industryData.inboundFileFlow":
            serializeInboundFileFlow(writer, inboundFlow, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param InboundFlowActivity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundFlowActivity(writer, inboundFlowActivity = {}, isSerializingDerivedType = false) {
    if (!inboundFlowActivity || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataRunActivity(writer, inboundFlowActivity, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param InboundFlowCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeInboundFlowCollectionResponse(writer, inboundFlowCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!inboundFlowCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, inboundFlowCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", inboundFlowCollectionResponse.value, serializeInboundFlow);
}
/**
 * Serializes information the current object
 * @param IndustryDataActivity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataActivity(writer, industryDataActivity = {}, isSerializingDerivedType = false) {
    if (!industryDataActivity || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, industryDataActivity, isSerializingDerivedType);
    writer.writeStringValue("displayName", industryDataActivity.displayName);
    writer.writeEnumValue("readinessStatus", industryDataActivity.readinessStatus);
    switch (industryDataActivity.odataType) {
        case "#microsoft.graph.industryData.inboundApiFlow":
            serializeInboundApiFlow(writer, industryDataActivity, true);
            break;
        case "#microsoft.graph.industryData.inboundFileFlow":
            serializeInboundFileFlow(writer, industryDataActivity, true);
            break;
        case "#microsoft.graph.industryData.inboundFlow":
            serializeInboundFlow(writer, industryDataActivity, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IndustryDataActivityStatistics The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataActivityStatistics(writer, industryDataActivityStatistics = {}, isSerializingDerivedType = false) {
    if (!industryDataActivityStatistics || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", industryDataActivityStatistics.odataType);
    writer.writeEnumValue("status", industryDataActivityStatistics.status);
    writer.writeAdditionalData(industryDataActivityStatistics.additionalData);
    switch (industryDataActivityStatistics.odataType) {
        case "#microsoft.graph.industryData.inboundActivityResults":
            serializeInboundActivityResults(writer, industryDataActivityStatistics, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IndustryDataConnector The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataConnector(writer, industryDataConnector = {}, isSerializingDerivedType = false) {
    if (!industryDataConnector || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, industryDataConnector, isSerializingDerivedType);
    writer.writeStringValue("displayName", industryDataConnector.displayName);
    writer.writeObjectValue("sourceSystem", industryDataConnector.sourceSystem, serializeSourceSystemDefinition);
    switch (industryDataConnector.odataType) {
        case "#microsoft.graph.industryData.apiDataConnector":
            serializeApiDataConnector(writer, industryDataConnector, true);
            break;
        case "#microsoft.graph.industryData.azureDataLakeConnector":
            serializeAzureDataLakeConnector(writer, industryDataConnector, true);
            break;
        case "#microsoft.graph.industryData.fileDataConnector":
            serializeFileDataConnector(writer, industryDataConnector, true);
            break;
        case "#microsoft.graph.industryData.oneRosterApiDataConnector":
            serializeOneRosterApiDataConnector(writer, industryDataConnector, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IndustryDataConnectorCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataConnectorCollectionResponse(writer, industryDataConnectorCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!industryDataConnectorCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, industryDataConnectorCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", industryDataConnectorCollectionResponse.value, serializeIndustryDataConnector);
}
/**
 * Serializes information the current object
 * @param IndustryDataRoot The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRoot(writer, industryDataRoot = {}, isSerializingDerivedType = false) {
    if (!industryDataRoot || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, industryDataRoot, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("dataConnectors", industryDataRoot.dataConnectors, serializeIndustryDataConnector);
    writer.writeCollectionOfObjectValues("inboundFlows", industryDataRoot.inboundFlows, serializeInboundFlow);
    writer.writeCollectionOfObjectValues("operations", industryDataRoot.operations, serializeLongRunningOperation);
    writer.writeCollectionOfObjectValues("outboundProvisioningFlowSets", industryDataRoot.outboundProvisioningFlowSets, serializeOutboundProvisioningFlowSet);
    writer.writeCollectionOfObjectValues("referenceDefinitions", industryDataRoot.referenceDefinitions, serializeReferenceDefinition);
    writer.writeCollectionOfObjectValues("roleGroups", industryDataRoot.roleGroups, serializeRoleGroup);
    writer.writeCollectionOfObjectValues("runs", industryDataRoot.runs, serializeIndustryDataRun);
    writer.writeCollectionOfObjectValues("sourceSystems", industryDataRoot.sourceSystems, serializeSourceSystemDefinition);
    writer.writeCollectionOfObjectValues("years", industryDataRoot.years, serializeYearTimePeriodDefinition);
}
/**
 * Serializes information the current object
 * @param IndustryDataRun The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRun(writer, industryDataRun = {}, isSerializingDerivedType = false) {
    if (!industryDataRun || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, industryDataRun, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("activities", industryDataRun.activities, serializeIndustryDataRunActivity);
    writer.writeEnumValue("status", industryDataRun.status);
}
/**
 * Serializes information the current object
 * @param IndustryDataRunActivity The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunActivity(writer, industryDataRunActivity = {}, isSerializingDerivedType = false) {
    if (!industryDataRunActivity || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, industryDataRunActivity, isSerializingDerivedType);
    writer.writeObjectValue("activity", industryDataRunActivity.activity, serializeIndustryDataActivity);
    writer.writeEnumValue("status", industryDataRunActivity.status);
    switch (industryDataRunActivity.odataType) {
        case "#microsoft.graph.industryData.inboundFlowActivity":
            serializeInboundFlowActivity(writer, industryDataRunActivity, true);
            break;
        case "#microsoft.graph.industryData.outboundFlowActivity":
            serializeOutboundFlowActivity(writer, industryDataRunActivity, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param IndustryDataRunActivityCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunActivityCollectionResponse(writer, industryDataRunActivityCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!industryDataRunActivityCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, industryDataRunActivityCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", industryDataRunActivityCollectionResponse.value, serializeIndustryDataRunActivity);
}
/**
 * Serializes information the current object
 * @param IndustryDataRunCollectionResponse The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunCollectionResponse(writer, industryDataRunCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!industryDataRunCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, industryDataRunCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", industryDataRunCollectionResponse.value, serializeIndustryDataRun);
}
/**
 * Serializes information the current object
 * @param IndustryDataRunEntityCountMetric The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunEntityCountMetric(writer, industryDataRunEntityCountMetric = {}, isSerializingDerivedType = false) {
    if (!industryDataRunEntityCountMetric || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", industryDataRunEntityCountMetric.odataType);
    writer.writeAdditionalData(industryDataRunEntityCountMetric.additionalData);
}
/**
 * Serializes information the current object
 * @param IndustryDataRunRoleCountMetric The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunRoleCountMetric(writer, industryDataRunRoleCountMetric = {}, isSerializingDerivedType = false) {
    if (!industryDataRunRoleCountMetric || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", industryDataRunRoleCountMetric.odataType);
    writer.writeAdditionalData(industryDataRunRoleCountMetric.additionalData);
}
/**
 * Serializes information the current object
 * @param IndustryDataRunStatistics The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeIndustryDataRunStatistics(writer, industryDataRunStatistics = {}, isSerializingDerivedType = false) {
    if (!industryDataRunStatistics || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", industryDataRunStatistics.odataType);
    writer.writeEnumValue("status", industryDataRunStatistics.status);
    writer.writeAdditionalData(industryDataRunStatistics.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OAuth1ClientCredential The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOAuth1ClientCredential(writer, oAuth1ClientCredential = {}, isSerializingDerivedType = false) {
    if (!oAuth1ClientCredential || isSerializingDerivedType) {
        return;
    }
    serializeOAuthClientCredential(writer, oAuth1ClientCredential, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OAuth2ClientCredential The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOAuth2ClientCredential(writer, oAuth2ClientCredential = {}, isSerializingDerivedType = false) {
    if (!oAuth2ClientCredential || isSerializingDerivedType) {
        return;
    }
    serializeOAuthClientCredential(writer, oAuth2ClientCredential, isSerializingDerivedType);
    writer.writeStringValue("scope", oAuth2ClientCredential.scope);
    writer.writeStringValue("tokenUrl", oAuth2ClientCredential.tokenUrl);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OAuthClientCredential The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOAuthClientCredential(writer, oAuthClientCredential = {}, isSerializingDerivedType = false) {
    if (!oAuthClientCredential || isSerializingDerivedType) {
        return;
    }
    serializeCredential(writer, oAuthClientCredential, isSerializingDerivedType);
    writer.writeStringValue("clientId", oAuthClientCredential.clientId);
    writer.writeStringValue("clientSecret", oAuthClientCredential.clientSecret);
    switch (oAuthClientCredential.odataType) {
        case "#microsoft.graph.industryData.oAuth1ClientCredential":
            serializeOAuth1ClientCredential(writer, oAuthClientCredential, true);
            break;
        case "#microsoft.graph.industryData.oAuth2ClientCredential":
            serializeOAuth2ClientCredential(writer, oAuthClientCredential, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OneRosterApiDataConnector The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOneRosterApiDataConnector(writer, oneRosterApiDataConnector = {}, isSerializingDerivedType = false) {
    if (!oneRosterApiDataConnector || isSerializingDerivedType) {
        return;
    }
    serializeApiDataConnector(writer, oneRosterApiDataConnector, isSerializingDerivedType);
    writer.writeStringValue("apiVersion", oneRosterApiDataConnector.apiVersion);
    writer.writeBooleanValue("isContactsEnabled", oneRosterApiDataConnector.isContactsEnabled);
    writer.writeBooleanValue("isDemographicsEnabled", oneRosterApiDataConnector.isDemographicsEnabled);
    writer.writeBooleanValue("isFlagsEnabled", oneRosterApiDataConnector.isFlagsEnabled);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OutboundFlowActivity The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOutboundFlowActivity(writer, outboundFlowActivity = {}, isSerializingDerivedType = false) {
    if (!outboundFlowActivity || isSerializingDerivedType) {
        return;
    }
    serializeIndustryDataRunActivity(writer, outboundFlowActivity, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OutboundProvisioningFlowSet The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOutboundProvisioningFlowSet(writer, outboundProvisioningFlowSet = {}, isSerializingDerivedType = false) {
    if (!outboundProvisioningFlowSet || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, outboundProvisioningFlowSet, isSerializingDerivedType);
    writer.writeStringValue("displayName", outboundProvisioningFlowSet.displayName);
    writer.writeObjectValue("filter", outboundProvisioningFlowSet.filter, serializeFilter);
    writer.writeCollectionOfObjectValues("provisioningFlows", outboundProvisioningFlowSet.provisioningFlows, serializeProvisioningFlow);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param OutboundProvisioningFlowSetCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeOutboundProvisioningFlowSetCollectionResponse(writer, outboundProvisioningFlowSetCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!outboundProvisioningFlowSetCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, outboundProvisioningFlowSetCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", outboundProvisioningFlowSetCollectionResponse.value, serializeOutboundProvisioningFlowSet);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PasswordSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializePasswordSettings(writer, passwordSettings = {}, isSerializingDerivedType = false) {
    if (!passwordSettings || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("@odata.type", passwordSettings.odataType);
    writer.writeAdditionalData(passwordSettings.additionalData);
    switch (passwordSettings.odataType) {
        case "#microsoft.graph.industryData.simplePasswordSettings":
            serializeSimplePasswordSettings(writer, passwordSettings, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProvisioningFlow The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProvisioningFlow(writer, provisioningFlow = {}, isSerializingDerivedType = false) {
    if (!provisioningFlow || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, provisioningFlow, isSerializingDerivedType);
    switch (provisioningFlow.odataType) {
        case "#microsoft.graph.industryData.administrativeUnitProvisioningFlow":
            serializeAdministrativeUnitProvisioningFlow(writer, provisioningFlow, true);
            break;
        case "#microsoft.graph.industryData.classGroupProvisioningFlow":
            serializeClassGroupProvisioningFlow(writer, provisioningFlow, true);
            break;
        case "#microsoft.graph.industryData.securityGroupProvisioningFlow":
            serializeSecurityGroupProvisioningFlow(writer, provisioningFlow, true);
            break;
        case "#microsoft.graph.industryData.userProvisioningFlow":
            serializeUserProvisioningFlow(writer, provisioningFlow, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ProvisioningFlowCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeProvisioningFlowCollectionResponse(writer, provisioningFlowCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!provisioningFlowCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, provisioningFlowCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", provisioningFlowCollectionResponse.value, serializeProvisioningFlow);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReferenceDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReferenceDefinition(writer, referenceDefinition = {}, isSerializingDerivedType = false) {
    if (!referenceDefinition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, referenceDefinition, isSerializingDerivedType);
    writer.writeStringValue("code", referenceDefinition.code);
    writer.writeStringValue("displayName", referenceDefinition.displayName);
    writer.writeBooleanValue("isDisabled", referenceDefinition.isDisabled);
    writer.writeStringValue("referenceType", referenceDefinition.referenceType);
    writer.writeNumberValue("sortIndex", referenceDefinition.sortIndex);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReferenceDefinitionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReferenceDefinitionCollectionResponse(writer, referenceDefinitionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!referenceDefinitionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, referenceDefinitionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", referenceDefinitionCollectionResponse.value, serializeReferenceDefinition);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ReferenceValue The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeReferenceValue(writer, referenceValue = {}, isSerializingDerivedType = false) {
    if (!referenceValue || isSerializingDerivedType) {
        return;
    }
    writer.writeStringValue("code", referenceValue.code);
    writer.writeStringValue("@odata.type", referenceValue.odataType);
    writer.writeObjectValue("value", referenceValue.value, serializeReferenceDefinition);
    writer.writeAdditionalData(referenceValue.additionalData);
    switch (referenceValue.odataType) {
        case "#microsoft.graph.industryData.fileFormatReferenceValue":
            serializeFileFormatReferenceValue(writer, referenceValue, true);
            break;
        case "#microsoft.graph.industryData.identifierTypeReferenceValue":
            serializeIdentifierTypeReferenceValue(writer, referenceValue, true);
            break;
        case "#microsoft.graph.industryData.roleReferenceValue":
            serializeRoleReferenceValue(writer, referenceValue, true);
            break;
        case "#microsoft.graph.industryData.sectionRoleReferenceValue":
            serializeSectionRoleReferenceValue(writer, referenceValue, true);
            break;
        case "#microsoft.graph.industryData.userMatchTargetReferenceValue":
            serializeUserMatchTargetReferenceValue(writer, referenceValue, true);
            break;
        case "#microsoft.graph.industryData.yearReferenceValue":
            serializeYearReferenceValue(writer, referenceValue, true);
            break;
    }
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RoleGroup The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRoleGroup(writer, roleGroup = {}, isSerializingDerivedType = false) {
    if (!roleGroup || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, roleGroup, isSerializingDerivedType);
    writer.writeStringValue("displayName", roleGroup.displayName);
    writer.writeCollectionOfObjectValues("roles", roleGroup.roles, serializeRoleReferenceValue);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RoleGroupCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRoleGroupCollectionResponse(writer, roleGroupCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!roleGroupCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, roleGroupCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", roleGroupCollectionResponse.value, serializeRoleGroup);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param RoleReferenceValue The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeRoleReferenceValue(writer, roleReferenceValue = {}, isSerializingDerivedType = false) {
    if (!roleReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, roleReferenceValue, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SectionRoleReferenceValue The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSectionRoleReferenceValue(writer, sectionRoleReferenceValue = {}, isSerializingDerivedType = false) {
    if (!sectionRoleReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, sectionRoleReferenceValue, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityGroupCreationOptions The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityGroupCreationOptions(writer, securityGroupCreationOptions = {}, isSerializingDerivedType = false) {
    if (!securityGroupCreationOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeBooleanValue("createBasedOnOrgPlusRoleGroup", securityGroupCreationOptions.createBasedOnOrgPlusRoleGroup);
    writer.writeBooleanValue("createBasedOnRoleGroup", securityGroupCreationOptions.createBasedOnRoleGroup);
    writer.writeStringValue("@odata.type", securityGroupCreationOptions.odataType);
    writer.writeAdditionalData(securityGroupCreationOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SecurityGroupProvisioningFlow The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSecurityGroupProvisioningFlow(writer, securityGroupProvisioningFlow = {}, isSerializingDerivedType = false) {
    if (!securityGroupProvisioningFlow || isSerializingDerivedType) {
        return;
    }
    serializeProvisioningFlow(writer, securityGroupProvisioningFlow, isSerializingDerivedType);
    writer.writeObjectValue("creationOptions", securityGroupProvisioningFlow.creationOptions, serializeSecurityGroupCreationOptions);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SimplePasswordSettings The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSimplePasswordSettings(writer, simplePasswordSettings = {}, isSerializingDerivedType = false) {
    if (!simplePasswordSettings || isSerializingDerivedType) {
        return;
    }
    serializePasswordSettings(writer, simplePasswordSettings, isSerializingDerivedType);
    writer.writeStringValue("password", simplePasswordSettings.password);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SourceSystemDefinition The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSourceSystemDefinition(writer, sourceSystemDefinition = {}, isSerializingDerivedType = false) {
    if (!sourceSystemDefinition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, sourceSystemDefinition, isSerializingDerivedType);
    writer.writeStringValue("displayName", sourceSystemDefinition.displayName);
    writer.writeCollectionOfObjectValues("userMatchingSettings", sourceSystemDefinition.userMatchingSettings, serializeUserMatchingSetting);
    writer.writeStringValue("vendor", sourceSystemDefinition.vendor);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param SourceSystemDefinitionCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeSourceSystemDefinitionCollectionResponse(writer, sourceSystemDefinitionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!sourceSystemDefinitionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, sourceSystemDefinitionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", sourceSystemDefinitionCollectionResponse.value, serializeSourceSystemDefinition);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserConfiguration The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserConfiguration(writer, userConfiguration = {}, isSerializingDerivedType = false) {
    if (!userConfiguration || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("defaultPasswordSettings", userConfiguration.defaultPasswordSettings, serializePasswordSettings);
    writer.writeCollectionOfPrimitiveValues("licenseSkus", userConfiguration.licenseSkus);
    writer.writeStringValue("@odata.type", userConfiguration.odataType);
    writer.writeObjectValue("roleGroup", userConfiguration.roleGroup, serializeRoleGroup);
    writer.writeAdditionalData(userConfiguration.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserCreationOptions The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserCreationOptions(writer, userCreationOptions = {}, isSerializingDerivedType = false) {
    if (!userCreationOptions || isSerializingDerivedType) {
        return;
    }
    writer.writeCollectionOfObjectValues("configurations", userCreationOptions.configurations, serializeUserConfiguration);
    writer.writeStringValue("@odata.type", userCreationOptions.odataType);
    writer.writeAdditionalData(userCreationOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserManagementOptions The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserManagementOptions(writer, userManagementOptions = {}, isSerializingDerivedType = false) {
    if (!userManagementOptions || isSerializingDerivedType) {
        return;
    }
    if (userManagementOptions.additionalAttributes)
        writer.writeCollectionOfEnumValues("additionalAttributes", userManagementOptions.additionalAttributes);
    writer.writeObjectValue("additionalOptions", userManagementOptions.additionalOptions, serializeAdditionalUserOptions);
    writer.writeStringValue("@odata.type", userManagementOptions.odataType);
    writer.writeAdditionalData(userManagementOptions.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserMatchingSetting The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserMatchingSetting(writer, userMatchingSetting = {}, isSerializingDerivedType = false) {
    if (!userMatchingSetting || isSerializingDerivedType) {
        return;
    }
    writer.writeObjectValue("matchTarget", userMatchingSetting.matchTarget, serializeUserMatchTargetReferenceValue);
    writer.writeStringValue("@odata.type", userMatchingSetting.odataType);
    writer.writeNumberValue("priorityOrder", userMatchingSetting.priorityOrder);
    writer.writeObjectValue("roleGroup", userMatchingSetting.roleGroup, serializeRoleGroup);
    writer.writeObjectValue("sourceIdentifier", userMatchingSetting.sourceIdentifier, serializeIdentifierTypeReferenceValue);
    writer.writeAdditionalData(userMatchingSetting.additionalData);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserMatchTargetReferenceValue The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserMatchTargetReferenceValue(writer, userMatchTargetReferenceValue = {}, isSerializingDerivedType = false) {
    if (!userMatchTargetReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, userMatchTargetReferenceValue, isSerializingDerivedType);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param UserProvisioningFlow The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeUserProvisioningFlow(writer, userProvisioningFlow = {}, isSerializingDerivedType = false) {
    if (!userProvisioningFlow || isSerializingDerivedType) {
        return;
    }
    serializeProvisioningFlow(writer, userProvisioningFlow, isSerializingDerivedType);
    writer.writeBooleanValue("createUnmatchedUsers", userProvisioningFlow.createUnmatchedUsers);
    writer.writeObjectValue("creationOptions", userProvisioningFlow.creationOptions, serializeUserCreationOptions);
    writer.writeObjectValue("managementOptions", userProvisioningFlow.managementOptions, serializeUserManagementOptions);
}
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param ValidateOperation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
// @ts-ignore
export function serializeValidateOperation(writer, validateOperation = {}, isSerializingDerivedType = false) {
    if (!validateOperation || isSerializingDerivedType) {
        return;
    }
    serializeLongRunningOperation(writer, validateOperation, isSerializingDerivedType);
    switch (validateOperation.odataType) {
        case "#microsoft.graph.industryData.fileValidateOperation":
            serializeFileValidateOperation(writer, validateOperation, true);
            break;
    }
}
/**
 * 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 YearReferenceValue The instance to serialize from.
 */
// @ts-ignore
export function serializeYearReferenceValue(writer, yearReferenceValue = {}, isSerializingDerivedType = false) {
    if (!yearReferenceValue || isSerializingDerivedType) {
        return;
    }
    serializeReferenceValue(writer, yearReferenceValue, 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 YearTimePeriodDefinition The instance to serialize from.
 */
// @ts-ignore
export function serializeYearTimePeriodDefinition(writer, yearTimePeriodDefinition = {}, isSerializingDerivedType = false) {
    if (!yearTimePeriodDefinition || isSerializingDerivedType) {
        return;
    }
    serializeEntity(writer, yearTimePeriodDefinition, isSerializingDerivedType);
    writer.writeStringValue("displayName", yearTimePeriodDefinition.displayName);
    writer.writeDateOnlyValue("endDate", yearTimePeriodDefinition.endDate);
    writer.writeDateOnlyValue("startDate", yearTimePeriodDefinition.startDate);
    writer.writeObjectValue("year", yearTimePeriodDefinition.year, serializeYearReferenceValue);
}
/**
 * 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 YearTimePeriodDefinitionCollectionResponse The instance to serialize from.
 */
// @ts-ignore
export function serializeYearTimePeriodDefinitionCollectionResponse(writer, yearTimePeriodDefinitionCollectionResponse = {}, isSerializingDerivedType = false) {
    if (!yearTimePeriodDefinitionCollectionResponse || isSerializingDerivedType) {
        return;
    }
    serializeBaseCollectionPaginationCountResponse(writer, yearTimePeriodDefinitionCollectionResponse, isSerializingDerivedType);
    writer.writeCollectionOfObjectValues("value", yearTimePeriodDefinitionCollectionResponse.value, serializeYearTimePeriodDefinition);
}
export const AdditionalClassGroupAttributesObject = {
    CourseTitle: "courseTitle",
    CourseCode: "courseCode",
    CourseSubject: "courseSubject",
    CourseGradeLevel: "courseGradeLevel",
    CourseExternalId: "courseExternalId",
    AcademicSessionTitle: "academicSessionTitle",
    AcademicSessionExternalId: "academicSessionExternalId",
    ClassCode: "classCode",
    UnknownFutureValue: "unknownFutureValue",
};
export const AdditionalUserAttributesObject = {
    UserGradeLevel: "userGradeLevel",
    UserNumber: "userNumber",
    UnknownFutureValue: "unknownFutureValue",
};
export const ApiFormatObject = {
    OneRoster: "oneRoster",
    UnknownFutureValue: "unknownFutureValue",
};
export const FilterOptionsObject = {
    OrgExternalId: "orgExternalId",
    UnknownFutureValue: "unknownFutureValue",
};
export const InboundDomainObject = {
    EducationRostering: "educationRostering",
    UnknownFutureValue: "unknownFutureValue",
};
export const IndustryDataActivityStatusObject = {
    InProgress: "inProgress",
    Skipped: "skipped",
    Failed: "failed",
    Completed: "completed",
    CompletedWithErrors: "completedWithErrors",
    CompletedWithWarnings: "completedWithWarnings",
    UnknownFutureValue: "unknownFutureValue",
};
export const IndustryDataRunStatusObject = {
    Running: "running",
    Failed: "failed",
    Completed: "completed",
    CompletedWithErrors: "completedWithErrors",
    CompletedWithWarnings: "completedWithWarnings",
    UnknownFutureValue: "unknownFutureValue",
};
export const ReadinessStatusObject = {
    NotReady: "notReady",
    Ready: "ready",
    Failed: "failed",
    Disabled: "disabled",
    Expired: "expired",
    UnknownFutureValue: "unknownFutureValue",
};
export const StudentAgeGroupObject = {
    Minor: "minor",
    NotAdult: "notAdult",
    Adult: "adult",
    UnknownFutureValue: "unknownFutureValue",
};
/* tslint:enable */
/* eslint-enable */
//# sourceMappingURL=index.js.map