import { type AdditionalDataHolder, type Guid, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions'; /** * High-level account and planning metadata. */ export interface ActionPlan extends Parsable { /** * Account identifier (optional); Default: null if not specified. */ accountId?: Guid | null; /** * Account manager name; Default: empty string if not specified. */ accountManager?: string | null; /** * Customer account name; Default: empty string. */ accountName?: string | null; /** * Consultant name; Default: empty string if not specified. */ consultant?: string | null; /** * ISO 8601 date-time string when created; Default: null. */ createdDate?: Date | null; /** * Customer success manager name; Default: empty string if not specified. */ customerSuccessManager?: string | null; /** * Date the discovery occurred (string); Default: null. */ discoveryDate?: Date | null; /** * Licensing executive name; Default: empty string if not specified. */ licensingExecutive?: string | null; /** * ISO 8601 date-time string when last modified; Default: null. */ modifiedDate?: Date | null; /** * Free-form notes and objectives; Default: empty string if not specified. */ notesAndObjectives?: string | null; /** * Primary publisher label; Default: "Microsoft" if not specified. */ primaryPublisher?: string | null; } /** * A single assessment element with metadata, profile values, and features. */ export interface Assessment extends Parsable { /** * Feature licensing and product mappings for this element. */ features?: AssessmentFeature[] | null; /** * Descriptive and time-phased configuration for an assessment element. */ metadata?: AssessmentMetadata | null; /** * Profile scores or values associated with this element. */ profiles?: AssessmentProfile[] | null; } /** * Licensing block with product-level entries. */ export interface AssessmentFeature extends AdditionalDataHolder, Parsable { /** * Licensing descriptor string. */ licensing?: string | null; /** * Mapped product entries under this licensing. */ products?: Product[] | null; } /** * Descriptive and time-phased configuration for an assessment element. */ export interface AssessmentMetadata extends Parsable { /** * Availability status of this element. */ availability?: string | null; /** * Optional breakout identifier, may be null. */ breakoutId?: Guid | null; /** * Top-level category name. */ category?: string | null; /** * Additional context or guidance text for this element. */ help?: string | null; /** * Indicates if this element is an add-on. */ isAddon?: boolean | null; /** * Indicates if this element is a strategic add-on. */ isStrategicAddon?: boolean | null; /** * Indicates if this element is tenant-based. */ isTenantBased?: boolean | null; /** * Licensing product this element maps to. */ licensingProduct?: string | null; /** * Help text for the licensing product. */ licensingProductHelp?: string | null; /** * Element name. */ name?: string | null; /** * Free-form notes. */ notes?: string | null; /** * Source or baseline numeric value. */ sourceValue?: number | null; /** * Standardized configuration shape for a year phase. */ startYearConfig?: YearConfig | null; /** * Sub-category name. */ subCategory?: string | null; /** * Standardized configuration shape for a year phase. */ yearPlusOneConfig?: YearConfig | null; /** * Standardized configuration shape for a year phase. */ yearPlusThreeConfig?: YearConfig | null; /** * Standardized configuration shape for a year phase. */ yearPlusTwoConfig?: YearConfig | null; } /** * A named profile value attached to the element. */ export interface AssessmentProfile extends Parsable { /** * Short abbreviation for the profile. */ abbreviation?: string | null; /** * Profile display name. */ name?: string | null; /** * Numeric value or null if unset. */ value?: number | null; } /** * A breakout section grouping features by path and product. */ export interface Breakout extends Parsable { /** * Breakout identifier or null. */ breakoutId?: Guid | null; /** * Breakout display name or null. */ breakoutName?: string | null; /** * Feature entries under this breakout. */ features?: BreakoutFeature[] | null; /** * Breakout title. */ title?: string | null; } /** * A single breakout feature with subscription mappings. */ export interface BreakoutFeature extends Parsable { /** * Feature description text. */ description?: string | null; /** * Sub-dimension label within the element. */ elementSubdimension?: string | null; /** * Feature name within the product. */ feature?: string | null; /** * URL or link provided by the publisher. */ publisherLink?: string | null; /** * Hierarchical path to the roadmap element. */ roadmapElementPath?: string | null; /** * Associated product in the roadmap. */ roadmapProduct?: string | null; /** * Subscription feature mappings for licensing and products. */ subscriptionFeatures?: SubscriptionFeature[] | null; } /** * Cloud Matrix assessment payload for bulk operations, excluding correlation metadata. */ export interface BulkCloudMatrix extends AdditionalDataHolder, Parsable { /** * Collection of breakout sections included in the assessment. */ breakouts?: Breakout[] | null; /** * Optional narrative summary of the Cloud Matrix assessment. */ description?: string | null; /** * Display title of the Cloud Matrix assessment payload. */ title?: string | null; /** * Consolidates action plan, user profiles, assessment, and displacement data. */ valueAssessment?: ValueAssessment | null; /** * Version identifier of the current Cloud Matrix assessment schema. */ version?: string | null; } /** * Correlation Data that points to a specific matrix assessment/roadmap that belongs in the database. */ export interface CloudMatrixCorrelation extends Parsable { /** * Unique Identifier representing the customer account for this cloud matrix assessment. */ accountId?: Guid | null; /** * Stores the name of the customer associated with this cloud matrix assessment record. */ accountName?: string | null; /** * Unique Identifier representing a single set of cloud matrix assessment. */ correlationId?: Guid | null; /** * Timestamp indicating when the record was created. This is auto managed by sequelize. */ createdAt?: Date | null; /** * Date when the discovery process was initiated, as specified by the user. */ discoveryDate?: Date | null; /** * Indicates whether the discovery process has been completed for this cloud matrix assessment record. */ isComplete?: boolean | null; /** * Version number of the Cloud Matrix schema used for this assessment record. */ schemaVersion?: number | null; /** * Stores the name of the template associated with this cloud matrix assessment record. */ template?: string | null; /** * Unique Identifier representing the template for this cloud matrix assessment. */ templateId?: Guid | null; /** * Timestamp indicating when the record was last updated. This is auto managed by sequelize. */ updatedAt?: Date | null; } /** * Cost fields for a current provider. */ export interface Costs extends Parsable { /** * Annual cost numeric value. */ annualCost?: number | null; /** * Total contract value numeric amount. */ contractValue?: number | null; /** * Monthly cost numeric value. */ monthlyCost?: number | 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 {ActionPlan} */ export declare function createActionPlanFromDiscriminatorValue(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 {AssessmentFeature} */ export declare function createAssessmentFeatureFromDiscriminatorValue(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 {Assessment} */ export declare function createAssessmentFromDiscriminatorValue(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 {AssessmentMetadata} */ export declare function createAssessmentMetadataFromDiscriminatorValue(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 {AssessmentProfile} */ export declare function createAssessmentProfileFromDiscriminatorValue(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 {BreakoutFeature} */ export declare function createBreakoutFeatureFromDiscriminatorValue(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 {Breakout} */ export declare function createBreakoutFromDiscriminatorValue(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 {BulkCloudMatrix} */ export declare function createBulkCloudMatrixFromDiscriminatorValue(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 {CloudMatrixCorrelation} */ export declare function createCloudMatrixCorrelationFromDiscriminatorValue(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 {Costs} */ export declare function createCostsFromDiscriminatorValue(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 {CurrentProvider} */ export declare function createCurrentProviderFromDiscriminatorValue(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 {Displacement} */ export declare function createDisplacementFromDiscriminatorValue(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 {NewProvider} */ export declare function createNewProviderFromDiscriminatorValue(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 {Product} */ export declare function createProductFromDiscriminatorValue(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 {Provider} */ export declare function createProviderFromDiscriminatorValue(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 {Publisher_metadata} */ export declare function createPublisher_metadataFromDiscriminatorValue(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 {Publisher} */ export declare function createPublisherFromDiscriminatorValue(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 {SubscriptionFeature} */ export declare function createSubscriptionFeatureFromDiscriminatorValue(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 {SubscriptionProductEntry} */ export declare function createSubscriptionProductEntryFromDiscriminatorValue(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 {TemplateMetadata} */ export declare function createTemplateMetadataFromDiscriminatorValue(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 {TemplateUploadRequest} */ export declare function createTemplateUploadRequestFromDiscriminatorValue(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 {UserProfileDetailEntry} */ export declare function createUserProfileDetailEntryFromDiscriminatorValue(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 {UserProfileDetail} */ export declare function createUserProfileDetailFromDiscriminatorValue(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 {UserProfile} */ export declare function createUserProfileFromDiscriminatorValue(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 {ValueAssessment} */ export declare function createValueAssessmentFromDiscriminatorValue(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 {YearConfig} */ export declare function createYearConfigFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record void>); /** * Extension of Provider to include cost breakdowns for the current provider. */ export interface CurrentProvider extends Parsable, Provider { /** * Cost breakdown with monthly/annual/contract values. */ costs?: Costs | null; } /** * The deserialization information for the current model * @param ActionPlan The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoActionPlan(actionPlan?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Assessment The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoAssessment(assessment?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param AssessmentFeature The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoAssessmentFeature(assessmentFeature?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param AssessmentMetadata The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoAssessmentMetadata(assessmentMetadata?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param AssessmentProfile The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoAssessmentProfile(assessmentProfile?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Breakout The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoBreakout(breakout?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param BreakoutFeature The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoBreakoutFeature(breakoutFeature?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param BulkCloudMatrix The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoBulkCloudMatrix(bulkCloudMatrix?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CloudMatrixCorrelation The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCloudMatrixCorrelation(cloudMatrixCorrelation?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Costs The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCosts(costs?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param CurrentProvider The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoCurrentProvider(currentProvider?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Displacement The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoDisplacement(displacement?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param NewProvider The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoNewProvider(newProvider?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Product The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoProduct(product?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Provider The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoProvider(provider?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Publisher The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoPublisher(publisher?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param Publisher_metadata The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoPublisher_metadata(publisher_metadata?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param SubscriptionFeature The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoSubscriptionFeature(subscriptionFeature?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param SubscriptionProductEntry The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoSubscriptionProductEntry(subscriptionProductEntry?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param TemplateMetadata The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoTemplateMetadata(templateMetadata?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param TemplateUploadRequest The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoTemplateUploadRequest(templateUploadRequest?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param UserProfile The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoUserProfile(userProfile?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param UserProfileDetail The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoUserProfileDetail(userProfileDetail?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param UserProfileDetailEntry The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoUserProfileDetailEntry(userProfileDetailEntry?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param ValueAssessment The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoValueAssessment(valueAssessment?: Partial | undefined): Record void>; /** * The deserialization information for the current model * @param YearConfig The instance to deserialize into. * @returns {Record void>} */ export declare function deserializeIntoYearConfig(yearConfig?: Partial | undefined): Record void>; /** * A displacement candidate including current provider and the proposed displacement. */ export interface Displacement extends Parsable { /** * Current provider information including contract costs. */ currentProvider?: CurrentProvider | null; /** * Replacement/displacement proposal details. */ displacement?: NewProvider | null; /** * Displacement opportunity name. */ name?: string | null; /** * Additional notes string. */ notes?: string | null; } /** * Proposed displacement contract info and cost scenarios. */ export interface NewProvider extends Parsable, Provider { /** * One or more cost scenarios. */ costs?: Costs[] | null; /** * Planned replacement date as an ISO 8601 date-time string, or null. */ replacementDate?: Date | null; } /** * A single product mapping with value and comment. */ export interface Product extends Parsable { /** * Comment or notes string. */ comment?: string | null; /** * Product name. */ product?: string | null; /** * Product value string (e.g., tier or flag). */ value?: string | null; } /** * Current provider contract info with aggregated costs. */ export interface Provider extends AdditionalDataHolder, Parsable { /** * Contract number or identifier. */ contractNumber?: string | null; /** * Contract expiry date as an ISO 8601 date-time string, or null. */ expiryDate?: Date | null; /** * Current provider name. */ name?: string | null; /** * Contract terms text. */ terms?: string | null; } /** * Represents a third-party publisher of Cloud Matrix assessment alternate product, including their name, isActive and optional metadata field for extensibility. */ export interface Publisher extends AdditionalDataHolder, Parsable { /** * Indicates whether the publisher is currently active for users to choose from. */ isActive?: boolean | null; /** * Additional metadata about the publisher to provide extensibility. */ metadata?: Publisher_metadata | null; /** * Name of the publisher. */ name?: string | null; } /** * Additional metadata about the publisher to provide extensibility. */ export interface Publisher_metadata extends AdditionalDataHolder, Parsable { /** * The updatedAt property */ updatedAt?: Date | null; /** * The updatedBy property */ updatedBy?: string | null; } /** * Serializes information the current object * @param ActionPlan 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 serializeActionPlan(writer: SerializationWriter, actionPlan?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param Assessment 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 serializeAssessment(writer: SerializationWriter, assessment?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param AssessmentFeature 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 serializeAssessmentFeature(writer: SerializationWriter, assessmentFeature?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param AssessmentMetadata 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 serializeAssessmentMetadata(writer: SerializationWriter, assessmentMetadata?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param AssessmentProfile 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 serializeAssessmentProfile(writer: SerializationWriter, assessmentProfile?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param Breakout 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 serializeBreakout(writer: SerializationWriter, breakout?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param BreakoutFeature 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 serializeBreakoutFeature(writer: SerializationWriter, breakoutFeature?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param BulkCloudMatrix 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 serializeBulkCloudMatrix(writer: SerializationWriter, bulkCloudMatrix?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CloudMatrixCorrelation 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 serializeCloudMatrixCorrelation(writer: SerializationWriter, cloudMatrixCorrelation?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param Costs 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 serializeCosts(writer: SerializationWriter, costs?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param CurrentProvider 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 serializeCurrentProvider(writer: SerializationWriter, currentProvider?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Serializes information the current object * @param Displacement 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 serializeDisplacement(writer: SerializationWriter, displacement?: 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 NewProvider The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeNewProvider(writer: SerializationWriter, newProvider?: 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 Product The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeProduct(writer: SerializationWriter, product?: 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 Provider The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeProvider(writer: SerializationWriter, provider?: 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 Publisher The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializePublisher(writer: SerializationWriter, publisher?: 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 Publisher_metadata The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializePublisher_metadata(writer: SerializationWriter, publisher_metadata?: 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 SubscriptionFeature The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeSubscriptionFeature(writer: SerializationWriter, subscriptionFeature?: 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 SubscriptionProductEntry The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeSubscriptionProductEntry(writer: SerializationWriter, subscriptionProductEntry?: 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 TemplateMetadata The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeTemplateMetadata(writer: SerializationWriter, templateMetadata?: 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 TemplateUploadRequest The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeTemplateUploadRequest(writer: SerializationWriter, templateUploadRequest?: 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 UserProfile The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeUserProfile(writer: SerializationWriter, userProfile?: 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 UserProfileDetail The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeUserProfileDetail(writer: SerializationWriter, userProfileDetail?: 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 UserProfileDetailEntry The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeUserProfileDetailEntry(writer: SerializationWriter, userProfileDetailEntry?: 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 ValueAssessment The instance to serialize from. * @param writer Serialization writer to use to serialize this model */ export declare function serializeValueAssessment(writer: SerializationWriter, valueAssessment?: 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 writer Serialization writer to use to serialize this model * @param YearConfig The instance to serialize from. */ export declare function serializeYearConfig(writer: SerializationWriter, yearConfig?: Partial | undefined | null, isSerializingDerivedType?: boolean): void; /** * Semantic alias for subscription feature entries to align with schema naming and legacy consumers. */ export interface SubscriptionFeature extends AssessmentFeature, Parsable { } export interface SubscriptionProductEntry extends AdditionalDataHolder, Parsable, Product { } /** * Metadata describing a Cloud Matrix template file, including versioning, publication status, and audit fields. */ export interface TemplateMetadata extends AdditionalDataHolder, Parsable { /** * Timestamp indicating when the record was created. This is auto managed by sequelize. */ createdAt?: Date | null; /** * Stores the name of the user who created the template file associated with this record. */ createdBy?: string | null; /** * Unique Identifier representing a single cloud matrix template. */ id?: Guid | null; /** * Indicates whether the template file associated with this record has been published. */ isPublished?: boolean | null; /** * Major version number of the cloud matrix template file associated with this record */ majorVersion?: number | null; /** * Minor version number of the cloud matrix template file associated with this record */ minorVersion?: number | null; /** * Name of the cloud matrix template file associated with this record. */ name?: string | null; /** * Patch version number of the cloud matrix template file associated with this record */ patchVersion?: number | null; /** * Type of the cloud matrix template file associated with this record. */ type?: string | null; /** * Timestamp indicating when the record was last updated. This is auto managed by sequelize. */ updatedAt?: Date | null; /** * Stores the name of the user who last updated the template file associated with this record. */ updatedBy?: string | null; } /** * Request body for uploading a Cloud Matrix template to the data gateway. */ export interface TemplateUploadRequest extends AdditionalDataHolder, Parsable { /** * Cloud Matrix assessment payload for bulk operations, excluding correlation metadata. */ templateContent?: BulkCloudMatrix | null; /** * A valid template name allows alphanumeric characters, spaces, underscores, and hyphens, but may not start or end with special characters. */ templateName?: string | null; /** * A valid template type. */ templateType?: string | null; /** * Update type, Major, Minor or Patch. */ updateType?: UpdateType | null; } export type UpdateType = (typeof UpdateTypeObject)[keyof typeof UpdateTypeObject]; /** * A named user profile with a set of detail rows. */ export interface UserProfile extends Parsable { /** * Array of section blocks that group related fields under a header. */ details?: UserProfileDetail[] | null; /** * Unique identifier for the user profile. */ id?: Guid | null; /** * User profile display name. */ name?: string | null; } /** * A section of related profile details grouped under a common header. */ export interface UserProfileDetail extends Parsable { /** * Section header name for this group of profile details. */ name?: string | null; /** * Array of name/value pairs for the details under this section. */ values?: UserProfileDetailEntry[] | null; } /** * A single name/value pair for profile details, allowing for extensibility in the future. */ export interface UserProfileDetailEntry extends Parsable { /** * Name of the detail field. */ name?: string | null; /** * Value of the detail field. */ value?: string | null; } /** * Consolidates action plan, user profiles, assessment, and displacement data. */ export interface ValueAssessment extends Parsable { /** * High-level account and planning metadata. */ actionPlan?: ActionPlan | null; /** * Assessment elements with metadata, profile values, and features. */ assessments?: Assessment[] | null; /** * Displacement opportunities and provider details. */ displacements?: Displacement[] | null; /** * Named user profiles with licensing details. */ userProfiles?: UserProfile[] | null; } /** * Standardized configuration shape for a year phase. */ export interface YearConfig extends Parsable { /** * Alternate product, if any, or null. */ altProduct?: string | null; /** * Indicates deep-dive applicability. */ isDeepDive?: boolean | null; /** * Publisher label, if any, or null. */ publisher?: string | null; /** * Use-case descriptor, if any, or null. */ useCase?: string | null; /** * Associated user profile IDs or null. */ userProfileIds?: Guid[] | null; /** * Assessment value label for this year phase (for example, "Full") or null. */ value?: string | null; } /** * Update type, Major, Minor or Patch. */ export declare const UpdateTypeObject: { readonly Major: "Major"; readonly Minor: "Minor"; readonly Patch: "Patch"; };