import { type BaseCollectionPaginationCountResponse, type Entity, type LongRunningOperation, type PublicError } from '../';
import { type AdditionalDataHolder, type BackedModel, type DateOnly, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions';
export type AdditionalClassGroupAttributes = (typeof AdditionalClassGroupAttributesObject)[keyof typeof AdditionalClassGroupAttributesObject];
export interface AdditionalClassGroupOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * Indicates whether a team should be created for the class group.
     */
    createTeam?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * Indicates whether the class group display name should be set on create.
     */
    writeDisplayNameOnCreateOnly?: boolean;
}
export type AdditionalUserAttributes = (typeof AdditionalUserAttributesObject)[keyof typeof AdditionalUserAttributesObject];
export interface AdditionalUserOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Indicates whether student contact association should be allowed.
     */
    allowStudentContactAssociation?: boolean;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * Indicates whether all students should be marked as minors.
     */
    markAllStudentsAsMinors?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface AdministrativeUnitProvisioningFlow extends Parsable, ProvisioningFlow {
    /**
     * The creationOptions property
     */
    creationOptions?: AdminUnitCreationOptions;
}
export interface AdminUnitCreationOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * Indicates whether the administrative unit should be created based on the org.
     */
    createBasedOnOrg?: boolean;
    /**
     * Indicates whether the administrative unit should be created based on the org and role group.
     */
    createBasedOnOrgPlusRoleGroup?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface AggregatedInboundStatistics extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The aggregate count of errors encountered by activities during this run.
     */
    errors?: number;
    /**
     * The aggregate count of active inbound groups processed during the run.
     */
    groups?: number;
    /**
     * The aggregate count of active people matched to a Microsoft Entra user, by role.
     */
    matchedPeopleByRole?: IndustryDataRunRoleCountMetric[];
    /**
     * The aggregate count of active inbound memberships processed during the run.
     */
    memberships?: number;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The aggregate count of active inbound organizations processed during the run.
     */
    organizations?: number;
    /**
     * The aggregate count of active inbound people processed during the run.
     */
    people?: number;
    /**
     * The aggregate count of active people not matched to a Microsoft Entra user, by role.
     */
    unmatchedPeopleByRole?: IndustryDataRunRoleCountMetric[];
    /**
     * The aggregate count of warnings generated by activities during this run.
     */
    warnings?: number;
}
export interface AzureDataLakeConnector extends FileDataConnector, Parsable {
}
export interface BasicFilter extends Filter, Parsable {
    /**
     * The attribute property
     */
    attribute?: FilterOptions;
    /**
     * The condition to filter with.
     */
    inEscaped?: string[];
}
export interface ClassGroupConfiguration extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The different attributes to sync for the class groups. The possible values are: courseTitle, courseCode, courseSubject, courseGradeLevel, courseExternalId, academicSessionTitle, academicSessionExternalId, classCode, unknownFutureValue.
     */
    additionalAttributes?: AdditionalClassGroupAttributes[];
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * The additionalOptions property
     */
    additionalOptions?: AdditionalClassGroupOptions;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The enrollmentMappings property
     */
    enrollmentMappings?: EnrollmentMappings;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface ClassGroupProvisioningFlow extends Parsable, ProvisioningFlow {
    /**
     * The configuration property
     */
    configuration?: ClassGroupConfiguration;
}
/**
 * Creates a new instance of 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}
 */
export declare function createAdditionalClassGroupOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createAdditionalUserOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createAdministrativeUnitProvisioningFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createAdminUnitCreationOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createAggregatedInboundStatisticsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createAzureDataLakeConnectorFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createBasicFilterFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createClassGroupConfigurationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createClassGroupProvisioningFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createEnrollmentMappingsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createFileDataConnectorFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createFileValidateOperationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createFilterFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIdentifierTypeReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createInboundActivityResultsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createInboundFileFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createInboundFlowActivityFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createInboundFlowCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createInboundFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataActivityFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataActivityStatisticsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataConnectorCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataConnectorFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRootFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunActivityCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunActivityFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunEntityCountMetricFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunRoleCountMetricFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createIndustryDataRunStatisticsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createOutboundFlowActivityFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createOutboundProvisioningFlowSetCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createOutboundProvisioningFlowSetFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createPasswordSettingsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createProvisioningFlowCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createProvisioningFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createReferenceDefinitionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createReferenceDefinitionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createRoleGroupCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createRoleGroupFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createRoleReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSectionRoleReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSecurityGroupCreationOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSecurityGroupProvisioningFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSimplePasswordSettingsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSourceSystemDefinitionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createSourceSystemDefinitionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserConfigurationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserCreationOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserManagementOptionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserMatchingSettingFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserMatchTargetReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createUserProvisioningFlowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createValidateOperationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createYearReferenceValueFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createYearTimePeriodDefinitionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of 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}
 */
export declare function createYearTimePeriodDefinitionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAdditionalClassGroupOptions(additionalClassGroupOptions?: Partial<AdditionalClassGroupOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAdditionalUserOptions(additionalUserOptions?: Partial<AdditionalUserOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAdministrativeUnitProvisioningFlow(administrativeUnitProvisioningFlow?: Partial<AdministrativeUnitProvisioningFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAdminUnitCreationOptions(adminUnitCreationOptions?: Partial<AdminUnitCreationOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAggregatedInboundStatistics(aggregatedInboundStatistics?: Partial<AggregatedInboundStatistics> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAzureDataLakeConnector(azureDataLakeConnector?: Partial<AzureDataLakeConnector> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoBasicFilter(basicFilter?: Partial<BasicFilter> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoClassGroupConfiguration(classGroupConfiguration?: Partial<ClassGroupConfiguration> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoClassGroupProvisioningFlow(classGroupProvisioningFlow?: Partial<ClassGroupProvisioningFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoEnrollmentMappings(enrollmentMappings?: Partial<EnrollmentMappings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoFileDataConnector(fileDataConnector?: Partial<FileDataConnector> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoFileValidateOperation(fileValidateOperation?: Partial<FileValidateOperation> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoFilter(filter?: Partial<Filter> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIdentifierTypeReferenceValue(identifierTypeReferenceValue?: Partial<IdentifierTypeReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInboundActivityResults(inboundActivityResults?: Partial<InboundActivityResults> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInboundFileFlow(inboundFileFlow?: Partial<InboundFileFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInboundFlow(inboundFlow?: Partial<InboundFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInboundFlowActivity(inboundFlowActivity?: Partial<InboundFlowActivity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInboundFlowCollectionResponse(inboundFlowCollectionResponse?: Partial<InboundFlowCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataActivity(industryDataActivity?: Partial<IndustryDataActivity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataActivityStatistics(industryDataActivityStatistics?: Partial<IndustryDataActivityStatistics> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataConnector(industryDataConnector?: Partial<IndustryDataConnector> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataConnectorCollectionResponse(industryDataConnectorCollectionResponse?: Partial<IndustryDataConnectorCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRoot(industryDataRoot?: Partial<IndustryDataRoot> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRun(industryDataRun?: Partial<IndustryDataRun> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunActivity(industryDataRunActivity?: Partial<IndustryDataRunActivity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunActivityCollectionResponse(industryDataRunActivityCollectionResponse?: Partial<IndustryDataRunActivityCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunCollectionResponse(industryDataRunCollectionResponse?: Partial<IndustryDataRunCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunEntityCountMetric(industryDataRunEntityCountMetric?: Partial<IndustryDataRunEntityCountMetric> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunRoleCountMetric(industryDataRunRoleCountMetric?: Partial<IndustryDataRunRoleCountMetric> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIndustryDataRunStatistics(industryDataRunStatistics?: Partial<IndustryDataRunStatistics> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoOutboundFlowActivity(outboundFlowActivity?: Partial<OutboundFlowActivity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoOutboundProvisioningFlowSet(outboundProvisioningFlowSet?: Partial<OutboundProvisioningFlowSet> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoOutboundProvisioningFlowSetCollectionResponse(outboundProvisioningFlowSetCollectionResponse?: Partial<OutboundProvisioningFlowSetCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoPasswordSettings(passwordSettings?: Partial<PasswordSettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoProvisioningFlow(provisioningFlow?: Partial<ProvisioningFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoProvisioningFlowCollectionResponse(provisioningFlowCollectionResponse?: Partial<ProvisioningFlowCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoReferenceDefinition(referenceDefinition?: Partial<ReferenceDefinition> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoReferenceDefinitionCollectionResponse(referenceDefinitionCollectionResponse?: Partial<ReferenceDefinitionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoReferenceValue(referenceValue?: Partial<ReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRoleGroup(roleGroup?: Partial<RoleGroup> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRoleGroupCollectionResponse(roleGroupCollectionResponse?: Partial<RoleGroupCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRoleReferenceValue(roleReferenceValue?: Partial<RoleReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSectionRoleReferenceValue(sectionRoleReferenceValue?: Partial<SectionRoleReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSecurityGroupCreationOptions(securityGroupCreationOptions?: Partial<SecurityGroupCreationOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSecurityGroupProvisioningFlow(securityGroupProvisioningFlow?: Partial<SecurityGroupProvisioningFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSimplePasswordSettings(simplePasswordSettings?: Partial<SimplePasswordSettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSourceSystemDefinition(sourceSystemDefinition?: Partial<SourceSystemDefinition> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSourceSystemDefinitionCollectionResponse(sourceSystemDefinitionCollectionResponse?: Partial<SourceSystemDefinitionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserConfiguration(userConfiguration?: Partial<UserConfiguration> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserCreationOptions(userCreationOptions?: Partial<UserCreationOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserManagementOptions(userManagementOptions?: Partial<UserManagementOptions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserMatchingSetting(userMatchingSetting?: Partial<UserMatchingSetting> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserMatchTargetReferenceValue(userMatchTargetReferenceValue?: Partial<UserMatchTargetReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserProvisioningFlow(userProvisioningFlow?: Partial<UserProvisioningFlow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoValidateOperation(validateOperation?: Partial<ValidateOperation> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoYearReferenceValue(yearReferenceValue?: Partial<YearReferenceValue> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoYearTimePeriodDefinition(yearTimePeriodDefinition?: Partial<YearTimePeriodDefinition> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoYearTimePeriodDefinitionCollectionResponse(yearTimePeriodDefinitionCollectionResponse?: Partial<YearTimePeriodDefinitionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
export interface EnrollmentMappings extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The enrollmentMappings member for the class group.
     */
    memberEnrollmentMappings?: SectionRoleReferenceValue[];
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The enrollmentMappings owner for the class group.
     */
    ownerEnrollmentMappings?: SectionRoleReferenceValue[];
}
export interface FileDataConnector extends IndustryDataConnector, Parsable {
}
export interface FileValidateOperation extends Parsable, ValidateOperation {
    /**
     * Set of files validated by the validate operation.
     */
    validatedFiles?: string[];
}
export interface Filter extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export type FilterOptions = (typeof FilterOptionsObject)[keyof typeof FilterOptionsObject];
export interface IdentifierTypeReferenceValue extends Parsable, ReferenceValue {
}
export interface InboundActivityResults extends IndustryDataActivityStatistics, Parsable {
    /**
     * Number of errors encountered while processing the inbound flow.
     */
    errors?: number;
    /**
     * Counts of active and inactive groups processed by the inbound flow.
     */
    groups?: IndustryDataRunEntityCountMetric;
    /**
     * Number of people matched to a Microsoft Entra user, by role.
     */
    matchedPeopleByRole?: IndustryDataRunRoleCountMetric[];
    /**
     * Counts of active and inactive memberships processed by the inbound flow.
     */
    memberships?: IndustryDataRunEntityCountMetric;
    /**
     * Counts of active and inactive organizations processed by the inbound flow.
     */
    organizations?: IndustryDataRunEntityCountMetric;
    /**
     * Counts of active and inactive people processed by the inbound flow.
     */
    people?: IndustryDataRunEntityCountMetric;
    /**
     * Number of people not matched to a Microsoft Entra user, by role.
     */
    unmatchedPeopleByRole?: IndustryDataRunRoleCountMetric[];
    /**
     * Number of warnings encountered while processing the inbound flow.
     */
    warnings?: number;
}
export type InboundDomain = (typeof InboundDomainObject)[keyof typeof InboundDomainObject];
export interface InboundFileFlow extends InboundFlow, Parsable {
}
export interface InboundFlow extends IndustryDataActivity, Parsable {
    /**
     * The dataConnector property
     */
    dataConnector?: IndustryDataConnector;
    /**
     * The dataDomain property
     */
    dataDomain?: InboundDomain;
    /**
     * The start of the time window when the flow is allowed to run. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    effectiveDateTime?: Date;
    /**
     * The end of the time window when the flow is allowed to run. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    expirationDateTime?: Date;
    /**
     * The year property
     */
    year?: YearTimePeriodDefinition;
}
export interface InboundFlowActivity extends IndustryDataRunActivity, Parsable {
}
export interface InboundFlowCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: InboundFlow[];
}
export interface IndustryDataActivity extends Entity, Parsable {
    /**
     * The name of the activity. Maximum supported length is 100 characters.
     */
    displayName?: string;
    /**
     * The readinessStatus property
     */
    readinessStatus?: ReadinessStatus;
}
export interface IndustryDataActivityStatistics extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The identifier for the activity that is being reported on.
     */
    activityId?: string;
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The display name of the underlying flow.
     */
    displayName?: string;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The status property
     */
    status?: IndustryDataActivityStatus;
}
export type IndustryDataActivityStatus = (typeof IndustryDataActivityStatusObject)[keyof typeof IndustryDataActivityStatusObject];
export interface IndustryDataConnector extends Entity, Parsable {
    /**
     * The name of the data connector. Maximum supported length is 100 characters.
     */
    displayName?: string;
    /**
     * The sourceSystem property
     */
    sourceSystem?: SourceSystemDefinition;
}
export interface IndustryDataConnectorCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: IndustryDataConnector[];
}
export interface IndustryDataRoot extends Entity, Parsable {
    /**
     * Set of connectors for importing data from source systems.
     */
    dataConnectors?: IndustryDataConnector[];
    /**
     * Set of data import flow activities to bring data into the canonical store via a connector.
     */
    inboundFlows?: InboundFlow[];
    /**
     * Set of ephemeral operations that the system runs currently. Read-only.
     */
    operations?: LongRunningOperation[];
    /**
     * The outboundProvisioningFlowSets property
     */
    outboundProvisioningFlowSets?: OutboundProvisioningFlowSet[];
    /**
     * Set of user modifiable system picker types.
     */
    referenceDefinitions?: ReferenceDefinition[];
    /**
     * Set of groups of individual roles that makes role-based admin simpler.
     */
    roleGroups?: RoleGroup[];
    /**
     * Set of ephemeral runs which present the point-in-time that diagnostic state of activities performed by the system. Read-only.
     */
    runs?: IndustryDataRun[];
    /**
     * Set of source definitions that represents real-world external systems.
     */
    sourceSystems?: SourceSystemDefinition[];
    /**
     * Set of years represented in the system.
     */
    years?: YearTimePeriodDefinition[];
}
export interface IndustryDataRun extends Entity, Parsable {
    /**
     * The set of activities performed during the run.
     */
    activities?: IndustryDataRunActivity[];
    /**
     * An error object to diagnose critical failures in the run.
     */
    blockingError?: PublicError;
    /**
     * The name of the run for rendering in a user interface.
     */
    displayName?: string;
    /**
     * The date and time when the run finished or null if the run is still in-progress. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    endDateTime?: Date;
    /**
     * The date and time when the run started. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    startDateTime?: Date;
    /**
     * The status property
     */
    status?: IndustryDataRunStatus;
}
export interface IndustryDataRunActivity extends Entity, Parsable {
    /**
     * The flow that was run by this activity.
     */
    activity?: IndustryDataActivity;
    /**
     * An error object to diagnose critical failures in an activity.
     */
    blockingError?: PublicError;
    /**
     * The name of the running flow.
     */
    displayName?: string;
    /**
     * The status property
     */
    status?: IndustryDataActivityStatus;
}
export interface IndustryDataRunActivityCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: IndustryDataRunActivity[];
}
export interface IndustryDataRunCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: IndustryDataRun[];
}
export interface IndustryDataRunEntityCountMetric extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The count of entries for the entity marked as Active.
     */
    active?: number;
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The count of entries for the entity marked as Inactive.
     */
    inactive?: number;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * Total count of the entity.
     */
    total?: number;
}
export interface IndustryDataRunRoleCountMetric extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The number of people in this role.
     */
    count?: number;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The role that is being measured.
     */
    role?: string;
}
export interface IndustryDataRunStatistics extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The collection of statistics for each activity included in this run.
     */
    activityStatistics?: IndustryDataActivityStatistics[];
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The aggregate statistics for all inbound flows.
     */
    inboundTotals?: AggregatedInboundStatistics;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The ID of the underlying run for the statistics.
     */
    runId?: string;
    /**
     * The status property
     */
    status?: IndustryDataRunStatus;
}
export type IndustryDataRunStatus = (typeof IndustryDataRunStatusObject)[keyof typeof IndustryDataRunStatusObject];
export interface OutboundFlowActivity extends IndustryDataRunActivity, Parsable {
}
export interface OutboundProvisioningFlowSet extends Entity, Parsable {
    /**
     * The date and time when the flowSet was created. The timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    createdDateTime?: Date;
    /**
     * The display name of the flowSet provided by the caller.
     */
    displayName?: string;
    /**
     * The collection of provisioning filters applicable to all the flows under the given flowSet.
     */
    filter?: Filter;
    /**
     * The date and time when the flowSet was most recently changed. The timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    lastModifiedDateTime?: Date;
    /**
     * A flow that provisions relevant records of a given entity type in the Microsoft 365 tenant.
     */
    provisioningFlows?: ProvisioningFlow[];
}
export interface OutboundProvisioningFlowSetCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: OutboundProvisioningFlowSet[];
}
export interface PasswordSettings extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface ProvisioningFlow extends Entity, Parsable {
    /**
     * The date and time when the provisioning flow was created. The timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    createdDateTime?: Date;
    /**
     * The date and time when the provisioning flow was most recently changed. The timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    lastModifiedDateTime?: Date;
    /**
     * The state of the activity from creation through to ready to do work. The possible values are: notReady, ready, failed, disabled, expired, unknownFutureValue.
     */
    readinessStatus?: ReadinessStatus;
}
export interface ProvisioningFlowCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ProvisioningFlow[];
}
export type ReadinessStatus = (typeof ReadinessStatusObject)[keyof typeof ReadinessStatusObject];
export interface ReferenceDefinition extends Entity, Parsable {
    /**
     * The code value for the definition that must be unique within the referenceType.
     */
    code?: string;
    /**
     * The date and time when the definition was created. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    createdDateTime?: Date;
    /**
     * Indicates whether the definition has been disabled.
     */
    isDisabled?: boolean;
    /**
     * The date and time when the definition was most recently changed. The Timestamp type represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    lastModifiedDateTime?: Date;
    /**
     * The categorical type for a collection of enumerated values.
     */
    referenceType?: string;
    /**
     * The ordering index to present the definitions within a type consistently in user interfaces.
     */
    sortIndex?: number;
    /**
     * The standards body or organization source which defined the code.
     */
    source?: string;
}
export interface ReferenceDefinitionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ReferenceDefinition[];
}
export interface ReferenceValue extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The code of the desired referenceDefinition entry.
     */
    code?: string;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The value property
     */
    value?: ReferenceDefinition;
}
export interface RoleGroup extends Entity, Parsable {
    /**
     * The name of the role group.
     */
    displayName?: string;
    /**
     * The set of roles included in the role group.
     */
    roles?: RoleReferenceValue[];
}
export interface RoleGroupCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: RoleGroup[];
}
export interface RoleReferenceValue extends Parsable, ReferenceValue {
}
export interface SectionRoleReferenceValue extends Parsable, ReferenceValue {
}
export interface SecurityGroupCreationOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * Indicates whether the security group should be created based on the org and role group.
     */
    createBasedOnOrgPlusRoleGroup?: boolean;
    /**
     * A boolean choice indicating whether the security group should be created based on the role group
     */
    createBasedOnRoleGroup?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface SecurityGroupProvisioningFlow extends Parsable, ProvisioningFlow {
    /**
     * The creationOptions property
     */
    creationOptions?: SecurityGroupCreationOptions;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAdditionalClassGroupOptions(writer: SerializationWriter, additionalClassGroupOptions?: Partial<AdditionalClassGroupOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAdditionalUserOptions(writer: SerializationWriter, additionalUserOptions?: Partial<AdditionalUserOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAdministrativeUnitProvisioningFlow(writer: SerializationWriter, administrativeUnitProvisioningFlow?: Partial<AdministrativeUnitProvisioningFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAdminUnitCreationOptions(writer: SerializationWriter, adminUnitCreationOptions?: Partial<AdminUnitCreationOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAggregatedInboundStatistics(writer: SerializationWriter, aggregatedInboundStatistics?: Partial<AggregatedInboundStatistics> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAzureDataLakeConnector(writer: SerializationWriter, azureDataLakeConnector?: Partial<AzureDataLakeConnector> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeBasicFilter(writer: SerializationWriter, basicFilter?: Partial<BasicFilter> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeClassGroupConfiguration(writer: SerializationWriter, classGroupConfiguration?: Partial<ClassGroupConfiguration> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeClassGroupProvisioningFlow(writer: SerializationWriter, classGroupProvisioningFlow?: Partial<ClassGroupProvisioningFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeEnrollmentMappings(writer: SerializationWriter, enrollmentMappings?: Partial<EnrollmentMappings> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeFileDataConnector(writer: SerializationWriter, fileDataConnector?: Partial<FileDataConnector> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeFileValidateOperation(writer: SerializationWriter, fileValidateOperation?: Partial<FileValidateOperation> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeFilter(writer: SerializationWriter, filter?: Partial<Filter> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIdentifierTypeReferenceValue(writer: SerializationWriter, identifierTypeReferenceValue?: Partial<IdentifierTypeReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInboundActivityResults(writer: SerializationWriter, inboundActivityResults?: Partial<InboundActivityResults> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInboundFileFlow(writer: SerializationWriter, inboundFileFlow?: Partial<InboundFileFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInboundFlow(writer: SerializationWriter, inboundFlow?: Partial<InboundFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInboundFlowActivity(writer: SerializationWriter, inboundFlowActivity?: Partial<InboundFlowActivity> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInboundFlowCollectionResponse(writer: SerializationWriter, inboundFlowCollectionResponse?: Partial<InboundFlowCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataActivity(writer: SerializationWriter, industryDataActivity?: Partial<IndustryDataActivity> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataActivityStatistics(writer: SerializationWriter, industryDataActivityStatistics?: Partial<IndustryDataActivityStatistics> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataConnector(writer: SerializationWriter, industryDataConnector?: Partial<IndustryDataConnector> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataConnectorCollectionResponse(writer: SerializationWriter, industryDataConnectorCollectionResponse?: Partial<IndustryDataConnectorCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRoot(writer: SerializationWriter, industryDataRoot?: Partial<IndustryDataRoot> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRun(writer: SerializationWriter, industryDataRun?: Partial<IndustryDataRun> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunActivity(writer: SerializationWriter, industryDataRunActivity?: Partial<IndustryDataRunActivity> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunActivityCollectionResponse(writer: SerializationWriter, industryDataRunActivityCollectionResponse?: Partial<IndustryDataRunActivityCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunCollectionResponse(writer: SerializationWriter, industryDataRunCollectionResponse?: Partial<IndustryDataRunCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunEntityCountMetric(writer: SerializationWriter, industryDataRunEntityCountMetric?: Partial<IndustryDataRunEntityCountMetric> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunRoleCountMetric(writer: SerializationWriter, industryDataRunRoleCountMetric?: Partial<IndustryDataRunRoleCountMetric> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIndustryDataRunStatistics(writer: SerializationWriter, industryDataRunStatistics?: Partial<IndustryDataRunStatistics> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeOutboundFlowActivity(writer: SerializationWriter, outboundFlowActivity?: Partial<OutboundFlowActivity> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeOutboundProvisioningFlowSet(writer: SerializationWriter, outboundProvisioningFlowSet?: Partial<OutboundProvisioningFlowSet> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeOutboundProvisioningFlowSetCollectionResponse(writer: SerializationWriter, outboundProvisioningFlowSetCollectionResponse?: Partial<OutboundProvisioningFlowSetCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializePasswordSettings(writer: SerializationWriter, passwordSettings?: Partial<PasswordSettings> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeProvisioningFlow(writer: SerializationWriter, provisioningFlow?: Partial<ProvisioningFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeProvisioningFlowCollectionResponse(writer: SerializationWriter, provisioningFlowCollectionResponse?: Partial<ProvisioningFlowCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeReferenceDefinition(writer: SerializationWriter, referenceDefinition?: Partial<ReferenceDefinition> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeReferenceDefinitionCollectionResponse(writer: SerializationWriter, referenceDefinitionCollectionResponse?: Partial<ReferenceDefinitionCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeReferenceValue(writer: SerializationWriter, referenceValue?: Partial<ReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRoleGroup(writer: SerializationWriter, roleGroup?: Partial<RoleGroup> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRoleGroupCollectionResponse(writer: SerializationWriter, roleGroupCollectionResponse?: Partial<RoleGroupCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRoleReferenceValue(writer: SerializationWriter, roleReferenceValue?: Partial<RoleReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSectionRoleReferenceValue(writer: SerializationWriter, sectionRoleReferenceValue?: Partial<SectionRoleReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSecurityGroupCreationOptions(writer: SerializationWriter, securityGroupCreationOptions?: Partial<SecurityGroupCreationOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSecurityGroupProvisioningFlow(writer: SerializationWriter, securityGroupProvisioningFlow?: Partial<SecurityGroupProvisioningFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSimplePasswordSettings(writer: SerializationWriter, simplePasswordSettings?: Partial<SimplePasswordSettings> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSourceSystemDefinition(writer: SerializationWriter, sourceSystemDefinition?: Partial<SourceSystemDefinition> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSourceSystemDefinitionCollectionResponse(writer: SerializationWriter, sourceSystemDefinitionCollectionResponse?: Partial<SourceSystemDefinitionCollectionResponse> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserConfiguration(writer: SerializationWriter, userConfiguration?: Partial<UserConfiguration> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserCreationOptions(writer: SerializationWriter, userCreationOptions?: Partial<UserCreationOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserManagementOptions(writer: SerializationWriter, userManagementOptions?: Partial<UserManagementOptions> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserMatchingSetting(writer: SerializationWriter, userMatchingSetting?: Partial<UserMatchingSetting> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserMatchTargetReferenceValue(writer: SerializationWriter, userMatchTargetReferenceValue?: Partial<UserMatchTargetReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserProvisioningFlow(writer: SerializationWriter, userProvisioningFlow?: Partial<UserProvisioningFlow> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeValidateOperation(writer: SerializationWriter, validateOperation?: Partial<ValidateOperation> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeYearReferenceValue(writer: SerializationWriter, yearReferenceValue?: Partial<YearReferenceValue> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeYearTimePeriodDefinition(writer: SerializationWriter, yearTimePeriodDefinition?: Partial<YearTimePeriodDefinition> | undefined): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeYearTimePeriodDefinitionCollectionResponse(writer: SerializationWriter, yearTimePeriodDefinitionCollectionResponse?: Partial<YearTimePeriodDefinitionCollectionResponse> | undefined): void;
export interface SimplePasswordSettings extends Parsable, PasswordSettings {
    /**
     * The password for the user.
     */
    password?: string;
}
export interface SourceSystemDefinition extends Entity, Parsable {
    /**
     * The name of the source system. Maximum supported length is 100 characters.
     */
    displayName?: string;
    /**
     * A collection of user matching settings by roleGroup.
     */
    userMatchingSettings?: UserMatchingSetting[];
    /**
     * The name of the vendor who supplies the source system. Maximum supported length is 100 characters.
     */
    vendor?: string;
}
export interface SourceSystemDefinitionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: SourceSystemDefinition[];
}
export interface UserConfiguration extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The password settings for the users to be provisioned with.
     */
    defaultPasswordSettings?: PasswordSettings;
    /**
     * The license skus for the users to be provisioned with.
     */
    licenseSkus?: string[];
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The roleGroup property
     */
    roleGroup?: RoleGroup;
}
export interface UserCreationOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The different management choices for the users to be provisioned.
     */
    configurations?: UserConfiguration[];
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface UserManagementOptions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The different attribute choices for the users to be provisioned. The possible values are: userGradeLevel, userNumber, unknownFutureValue.
     */
    additionalAttributes?: AdditionalUserAttributes[];
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * The additionalOptions property
     */
    additionalOptions?: AdditionalUserOptions;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The OdataType property
     */
    odataType?: string;
}
export interface UserMatchingSetting extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean;
    /**
     * The RefUserMatchTarget for matching a user from the source with a Microsoft Entra user object.
     */
    matchTarget?: UserMatchTargetReferenceValue;
    /**
     * The OdataType property
     */
    odataType?: string;
    /**
     * The priority order to apply when a user has multiple RefRole codes assigned.
     */
    priorityOrder?: number;
    /**
     * The roleGroup property
     */
    roleGroup?: RoleGroup;
    /**
     * The sourceIdentifier property
     */
    sourceIdentifier?: IdentifierTypeReferenceValue;
}
export interface UserMatchTargetReferenceValue extends Parsable, ReferenceValue {
}
export interface UserProvisioningFlow extends Parsable, ProvisioningFlow {
    /**
     * A boolean choice indicating whether unmatched users should be created or ignored.
     */
    createUnmatchedUsers?: boolean;
    /**
     * The different management choices for the new users to be provisioned.
     */
    creationOptions?: UserCreationOptions;
    /**
     * The managementOptions property
     */
    managementOptions?: UserManagementOptions;
}
export interface ValidateOperation extends LongRunningOperation, Parsable {
    /**
     * Set of errors discovered through validation.
     */
    errors?: PublicError[];
    /**
     * Set of warnings discovered through validation.
     */
    warnings?: PublicError[];
}
export interface YearReferenceValue extends Parsable, ReferenceValue {
}
export interface YearTimePeriodDefinition extends Entity, Parsable {
    /**
     * The name of the year. Maximum supported length is 100 characters.
     */
    displayName?: string;
    /**
     * The last day of the year using ISO 8601 format for date.
     */
    endDate?: DateOnly;
    /**
     * The first day of the year using ISO 8601 format for date.
     */
    startDate?: DateOnly;
    /**
     * The year property
     */
    year?: YearReferenceValue;
}
export interface YearTimePeriodDefinitionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: YearTimePeriodDefinition[];
}
export declare const AdditionalClassGroupAttributesObject: {
    readonly CourseTitle: "courseTitle";
    readonly CourseCode: "courseCode";
    readonly CourseSubject: "courseSubject";
    readonly CourseGradeLevel: "courseGradeLevel";
    readonly CourseExternalId: "courseExternalId";
    readonly AcademicSessionTitle: "academicSessionTitle";
    readonly AcademicSessionExternalId: "academicSessionExternalId";
    readonly ClassCode: "classCode";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const AdditionalUserAttributesObject: {
    readonly UserGradeLevel: "userGradeLevel";
    readonly UserNumber: "userNumber";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const FilterOptionsObject: {
    readonly OrgExternalId: "orgExternalId";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const InboundDomainObject: {
    readonly EducationRostering: "educationRostering";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const IndustryDataActivityStatusObject: {
    readonly InProgress: "inProgress";
    readonly Skipped: "skipped";
    readonly Failed: "failed";
    readonly Completed: "completed";
    readonly CompletedWithErrors: "completedWithErrors";
    readonly CompletedWithWarnings: "completedWithWarnings";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const IndustryDataRunStatusObject: {
    readonly Running: "running";
    readonly Failed: "failed";
    readonly Completed: "completed";
    readonly CompletedWithErrors: "completedWithErrors";
    readonly CompletedWithWarnings: "completedWithWarnings";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ReadinessStatusObject: {
    readonly NotReady: "notReady";
    readonly Ready: "ready";
    readonly Failed: "failed";
    readonly Disabled: "disabled";
    readonly Expired: "expired";
    readonly UnknownFutureValue: "unknownFutureValue";
};
//# sourceMappingURL=index.d.ts.map