import { type CorrelationRecord } from './licenseReport/index.js'; import { type AdditionalDataHolder, type Guid, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; /** * Creates a new instance of the appropriate class based on discriminator value * @param parseNode The parse node to use to read the discriminator value and create the object * @returns {LicenseReport_availableLicense} */ export declare function createLicenseReport_availableLicenseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record 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 {LicenseReport_principalData_device} */ export declare function createLicenseReport_principalData_deviceFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record 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 {LicenseReport_principalData_user} */ export declare function createLicenseReport_principalData_userFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record 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 {LicenseReport_principalData} */ export declare function createLicenseReport_principalDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record 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 {LicenseReport} */ export declare function createLicenseReportFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * The deserialization information for the current model * @param LicenseReport The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoLicenseReport(licenseReport?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param LicenseReport_availableLicense The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoLicenseReport_availableLicense(licenseReport_availableLicense?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param LicenseReport_principalData The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoLicenseReport_principalData(licenseReport_principalData?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param LicenseReport_principalData_device The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoLicenseReport_principalData_device(licenseReport_principalData_device?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param LicenseReport_principalData_user The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoLicenseReport_principalData_user(licenseReport_principalData_user?: Partial | undefined): Record void>; /** * Completely calculated license report structure that is the result of a complete run. */ export interface LicenseReport extends AdditionalDataHolder, Parsable { /** * Collection of licenses that have been purchased by the customer. */ availableLicense?: LicenseReport_availableLicense[] | null; /** * Metadata that describes the execution session (run) that is used to tie/relate all of the license report together. */ correlation?: CorrelationRecord | null; /** * Container for all of the data that can be correlated to various principals. */ principalData?: LicenseReport_principalData | null; /** * Indicator for migration scripts to auto migrate the data to newer or older formats. */ schemaVersion?: number | null; } export interface LicenseReport_availableLicense extends AdditionalDataHolder, Parsable { /** * Number of licenses that are purchased of the specific license. */ count?: number | null; /** * Well known ID of the license bundle. */ id?: Guid | null; /** * List of available service plans for the current license. */ servicePlanList?: Guid[] | null; } /** * Container for all of the data that can be correlated to various principals. */ export interface LicenseReport_principalData extends AdditionalDataHolder, Parsable { /** * Device principal data. Where the key is the Object ID (`GUID`/`UUIDv4`) of the principal. The value is the collected data. */ device?: LicenseReport_principalData_device | null; /** * User principal data. Where the key is the Object ID (`GUID`/`UUIDv4`) of the principal. The value is the collected data. */ user?: LicenseReport_principalData_user | null; } /** * Device principal data. Where the key is the Object ID (`GUID`/`UUIDv4`) of the principal. The value is the collected data. */ export interface LicenseReport_principalData_device extends AdditionalDataHolder, Parsable { } /** * User principal data. Where the key is the Object ID (`GUID`/`UUIDv4`) of the principal. The value is the collected data. */ export interface LicenseReport_principalData_user extends AdditionalDataHolder, Parsable { } export type SecurityClassList = (typeof SecurityClassListObject)[keyof typeof SecurityClassListObject]; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param LicenseReport The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeLicenseReport(writer: SerializationWriter, licenseReport?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param LicenseReport_availableLicense The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeLicenseReport_availableLicense(writer: SerializationWriter, licenseReport_availableLicense?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param LicenseReport_principalData The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeLicenseReport_principalData(writer: SerializationWriter, licenseReport_principalData?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param LicenseReport_principalData_device The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeLicenseReport_principalData_device(writer: SerializationWriter, licenseReport_principalData_device?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type. * @param LicenseReport_principalData_user The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeLicenseReport_principalData_user(writer: SerializationWriter, licenseReport_principalData_user?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Security class types as described in https://learn.microsoft.com/en-us/security/compass/privileged-access-security-levels. */ export declare const SecurityClassListObject: { readonly Privileged: "Privileged"; readonly Specialized: "Specialized"; readonly Enterprise: "Enterprise"; readonly Unmanaged: "Unmanaged"; };