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