export declare const AcceleratorManufacturer: {
    /**
     * AMD GpuType
     */
    readonly AMD: "AMD";
    /**
     * Nvidia GpuType
     */
    readonly Nvidia: "Nvidia";
    /**
     * Xilinx GpuType
     */
    readonly Xilinx: "Xilinx";
};
/**
 * Accelerator manufacturers supported by Azure VMs.
 */
export type AcceleratorManufacturer = (typeof AcceleratorManufacturer)[keyof typeof AcceleratorManufacturer];
export declare const AcceleratorType: {
    /**
     * GPU Accelerator
     */
    readonly GPU: "GPU";
    /**
     * FPGA Accelerator
     */
    readonly FPGA: "FPGA";
};
/**
 * Accelerator types supported by Azure VMs.
 */
export type AcceleratorType = (typeof AcceleratorType)[keyof typeof AcceleratorType];
export declare const ArchitectureType: {
    /**
     * ARM64 Architecture
     */
    readonly ARM64: "ARM64";
    /**
     * X64 Architecture
     */
    readonly X64: "X64";
};
/**
 * Architecture types supported by Azure VMs.
 */
export type ArchitectureType = (typeof ArchitectureType)[keyof typeof ArchitectureType];
export declare const CachingTypes: {
    /**
     * 'None' is default for Standard Storage
     */
    readonly None: "None";
    /**
     * 'ReadOnly' is default for Premium Storage
     */
    readonly ReadOnly: "ReadOnly";
    /**
     * 'ReadWrite' is default for OS Disk
     */
    readonly ReadWrite: "ReadWrite";
};
/**
 * Specifies the caching requirements. Possible values are: **None,**
 * **ReadOnly,** **ReadWrite.** The default values are: **None for Standard
 * storage. ReadOnly for Premium storage.**
 */
export type CachingTypes = (typeof CachingTypes)[keyof typeof CachingTypes];
export declare const ComponentName: {
    readonly Microsoft_Windows_Shell_Setup: "Microsoft-Windows-Shell-Setup";
};
/**
 * The component name. Currently, the only allowable value is
 * Microsoft-Windows-Shell-Setup.
 */
export type ComponentName = (typeof ComponentName)[keyof typeof ComponentName];
export declare const CpuManufacturer: {
    /**
     * Intel CPU.
     */
    readonly Intel: "Intel";
    /**
     * AMD CPU.
     */
    readonly AMD: "AMD";
    /**
     * Microsoft CPU.
     */
    readonly Microsoft: "Microsoft";
    /**
     * Ampere CPU.
     */
    readonly Ampere: "Ampere";
};
/**
 * Cpu Manufacturers  supported by Azure VMs.
 */
export type CpuManufacturer = (typeof CpuManufacturer)[keyof typeof CpuManufacturer];
export declare const DeleteOptions: {
    /**
     * Delete Option
     */
    readonly Delete: "Delete";
    /**
     * Detach Option
     */
    readonly Detach: "Detach";
};
/**
 * Specify what happens to the public IP when the VM is deleted
 */
export type DeleteOptions = (typeof DeleteOptions)[keyof typeof DeleteOptions];
export declare const DiffDiskOptions: {
    /**
     * Local Option.
     */
    readonly Local: "Local";
};
/**
 * Specifies the ephemeral disk settings for operating system disk.
 */
export type DiffDiskOptions = (typeof DiffDiskOptions)[keyof typeof DiffDiskOptions];
export declare const DiffDiskPlacement: {
    /**
     * CacheDisk option.
     */
    readonly CacheDisk: "CacheDisk";
    /**
     * Resource Disk option.
     */
    readonly ResourceDisk: "ResourceDisk";
    /**
     * NvmeDisk option.
     */
    readonly NvmeDisk: "NvmeDisk";
};
/**
 * Specifies the ephemeral disk placement for operating system disk. Possible
 * values are: **CacheDisk,** **ResourceDisk.** The defaulting behavior is:
 * **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk**
 * is used. Refer to the VM size documentation for Windows VM at
 * https://learn.microsoft.com/azure/virtual-machines/windows/sizes and Linux VM at
 * https://learn.microsoft.com/azure/virtual-machines/linux/sizes to check which VM
 * sizes exposes a cache disk.
 */
export type DiffDiskPlacement = (typeof DiffDiskPlacement)[keyof typeof DiffDiskPlacement];
export declare const DiskControllerTypes: {
    /**
     * SCSI disk type
     */
    readonly SCSI: "SCSI";
    /**
     * NVMe disk type
     */
    readonly NVMe: "NVMe";
};
/**
 * Specifies the disk controller type configured for the virtual machines in the scale set. Minimum api-version: 2022-08-01
 */
export type DiskControllerTypes = (typeof DiskControllerTypes)[keyof typeof DiskControllerTypes];
export declare const DiskCreateOptionTypes: {
    /**
     * This value is used when you are using an image to create the virtual machine.
     * If you are using a platform image, you also use the imageReference element
     * described above. If you are using a marketplace image, you also use the
     * plan element previously described.
     */
    readonly FromImage: "FromImage";
    /**
     * This value is used when creating an empty data disk.
     */
    readonly Empty: "Empty";
    /**
     * This value is used when you are using a specialized disk to create the virtual machine.
     */
    readonly Attach: "Attach";
    /**
     * This value is used to create a data disk from a snapshot or another disk.
     */
    readonly Copy: "Copy";
    /**
     * This value is used to create a data disk from a disk restore point.
     */
    readonly Restore: "Restore";
};
/**
 * Specifies how the virtual machines in the scale set should be created. The only
 * allowed value is: **FromImage.** This value is used when you are using an image
 * to create the virtual machine. If you are using a platform image, you also use
 * the imageReference element described above. If you are using a marketplace
 * image, you  also use the plan element previously described.
 */
export type DiskCreateOptionTypes = (typeof DiskCreateOptionTypes)[keyof typeof DiskCreateOptionTypes];
export declare const DiskDeleteOptionTypes: {
    /**
     * If this value is used, the managed disk is deleted when VM gets deleted.
     */
    readonly Delete: "Delete";
    /**
     * If this value is used, the managed disk is retained after VM gets deleted.
     */
    readonly Detach: "Detach";
};
/**
 * Specifies whether OS Disk should be deleted or detached upon VMSS Flex deletion
 * (This feature is available for VMSS with Flexible OrchestrationMode only).
 * <br><br> Possible values: <br><br> **Delete** If this value is used, the OS
 * disk is deleted when VMSS Flex VM is deleted.<br><br> **Detach** If this value
 * is used, the OS disk is retained after VMSS Flex VM is deleted. <br><br> The
 * default value is set to **Delete**. For an Ephemeral OS Disk, the default value
 * is set to **Delete**. User cannot change the delete option for Ephemeral OS
 * Disk.
 */
export type DiskDeleteOptionTypes = (typeof DiskDeleteOptionTypes)[keyof typeof DiskDeleteOptionTypes];
export declare const DomainNameLabelScopeTypes: {
    /**
     * TenantReuse type
     */
    readonly TenantReuse: "TenantReuse";
    /**
     * SubscriptionReuse type
     */
    readonly SubscriptionReuse: "SubscriptionReuse";
    /**
     * ResourceGroupReuse type
     */
    readonly ResourceGroupReuse: "ResourceGroupReuse";
    /**
     * NoReuse type
     */
    readonly NoReuse: "NoReuse";
};
/**
 * The Domain name label scope.The concatenation of the hashed domain name label
 * that generated according to the policy from domain name label scope and vm
 * index will be the domain name labels of the PublicIPAddress resources that will
 * be created
 */
export type DomainNameLabelScopeTypes = (typeof DomainNameLabelScopeTypes)[keyof typeof DomainNameLabelScopeTypes];
export declare const EvictionPolicy: {
    /**
     * When evicted, the Spot VM will be deleted and the corresponding capacity will be updated to reflect this.
     */
    readonly Delete: "Delete";
    /**
     * When evicted, the Spot VM will be deallocated/stopped
     */
    readonly Deallocate: "Deallocate";
};
/**
 * Eviction Policy to follow when evicting Spot VMs.
 */
export type EvictionPolicy = (typeof EvictionPolicy)[keyof typeof EvictionPolicy];
export declare const IPVersion: {
    /**
     * IPv4 version
     */
    readonly IPv4: "IPv4";
    /**
     * IPv6 version
     */
    readonly IPv6: "IPv6";
};
/**
 * Available from Api-Version 2019-07-01 onwards, it represents whether the
 * specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible
 * values are: 'IPv4' and 'IPv6'.
 */
export type IPVersion = (typeof IPVersion)[keyof typeof IPVersion];
export declare const LinuxPatchAssessmentMode: {
    /**
     * You control the timing of patch assessments on a virtual machine.
     */
    readonly ImageDefault: "ImageDefault";
    /**
     * The platform will trigger periodic patch assessments.The property provisionVMAgent must be true.
     */
    readonly AutomaticByPlatform: "AutomaticByPlatform";
};
/**
 * Specifies the mode of VM Guest Patch Assessment for the IaaS virtual
 * machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You
 * control the timing of patch assessments on a virtual machine. <br /><br />
 * **AutomaticByPlatform** - The platform will trigger periodic patch assessments.
 * The property provisionVMAgent must be true.
 */
export type LinuxPatchAssessmentMode = (typeof LinuxPatchAssessmentMode)[keyof typeof LinuxPatchAssessmentMode];
export declare const LinuxVMGuestPatchAutomaticByPlatformRebootSetting: {
    /**
     * Unknown Reboot setting
     */
    readonly Unknown: "Unknown";
    /**
     * IfRequired Reboot setting
     */
    readonly IfRequired: "IfRequired";
    /**
     * Never Reboot setting
     */
    readonly Never: "Never";
    /**
     * Always Reboot setting
     */
    readonly Always: "Always";
};
/**
 * Specifies the reboot setting for all AutomaticByPlatform patch installation
 * operations.
 */
export type LinuxVMGuestPatchAutomaticByPlatformRebootSetting = (typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof LinuxVMGuestPatchAutomaticByPlatformRebootSetting];
export declare const LinuxVMGuestPatchMode: {
    /**
     * The virtual machine's default patching configuration is used.
     */
    readonly ImageDefault: "ImageDefault";
    /**
     * The virtual machine will be automatically updated by the platform. The property provisionVMAgent must be true.
     */
    readonly AutomaticByPlatform: "AutomaticByPlatform";
};
/**
 * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual
 * machines associated to virtual machine scale set with OrchestrationMode as
 * Flexible.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - The
 * virtual machine's default patching configuration is used. <br /><br />
 * **AutomaticByPlatform** - The virtual machine will be automatically updated by
 * the platform. The property provisionVMAgent must be true
 */
export type LinuxVMGuestPatchMode = (typeof LinuxVMGuestPatchMode)[keyof typeof LinuxVMGuestPatchMode];
export declare const LocalStorageDiskType: {
    /**
     * HDD DiskType.
     */
    readonly HDD: "HDD";
    /**
     * SDD DiskType.
     */
    readonly SSD: "SSD";
};
/**
 * Different kind of Local storage disk types supported by Azure VMs.
 */
export type LocalStorageDiskType = (typeof LocalStorageDiskType)[keyof typeof LocalStorageDiskType];
export declare const ManagedServiceIdentityType: {
    readonly None: "None";
    readonly SystemAssigned: "SystemAssigned";
    readonly UserAssigned: "UserAssigned";
    readonly SystemAssigned_UserAssigned: "SystemAssigned,UserAssigned";
};
/**
 * Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
 */
export type ManagedServiceIdentityType = (typeof ManagedServiceIdentityType)[keyof typeof ManagedServiceIdentityType];
export declare const Mode: {
    /**
     * Audit Mode
     */
    readonly Audit: "Audit";
    /**
     * Enforce Mode
     */
    readonly Enforce: "Enforce";
};
/**
 * Specifies the mode that ProxyAgent will execute on if the feature is enabled.
 * ProxyAgent will start to audit or monitor but not enforce access control over
 * requests to host endpoints in Audit mode, while in Enforce mode it will enforce
 * access control. The default value is Enforce mode.
 */
export type Mode = (typeof Mode)[keyof typeof Mode];
export declare const NetworkApiVersion: {
    /**
     * Initial version supported. Later versions are supported as well.
     */
    readonly V2020_11_01: "2020-11-01";
};
/**
 * specifies the Microsoft.Network API version used when creating networking
 * resources in the Network Interface Configurations for Virtual Machine Scale Set
 * with orchestration mode 'Flexible'
 */
export type NetworkApiVersion = (typeof NetworkApiVersion)[keyof typeof NetworkApiVersion];
export declare const NetworkInterfaceAuxiliaryMode: {
    /**
     * None Mode
     */
    readonly None: "None";
    /**
     * AcceleratedConnections Mode
     */
    readonly AcceleratedConnections: "AcceleratedConnections";
    /**
     * Floating Mode
     */
    readonly Floating: "Floating";
};
/**
 * Specifies whether the Auxiliary mode is enabled for the Network Interface
 * resource.
 */
export type NetworkInterfaceAuxiliaryMode = (typeof NetworkInterfaceAuxiliaryMode)[keyof typeof NetworkInterfaceAuxiliaryMode];
export declare const NetworkInterfaceAuxiliarySku: {
    /**
     * no sku
     */
    readonly None: "None";
    /**
     * A1 sku
     */
    readonly A1: "A1";
    /**
     * A2 sku
     */
    readonly A2: "A2";
    /**
     * A4 sku
     */
    readonly A4: "A4";
    /**
     * A8 sku
     */
    readonly A8: "A8";
};
/**
 * Specifies whether the Auxiliary sku is enabled for the Network Interface
 * resource.
 */
export type NetworkInterfaceAuxiliarySku = (typeof NetworkInterfaceAuxiliarySku)[keyof typeof NetworkInterfaceAuxiliarySku];
export declare const OperatingSystemTypes: {
    /**
     * Windows OS type
     */
    readonly Windows: "Windows";
    /**
     * Linux OS type
     */
    readonly Linux: "Linux";
};
/**
 * This property allows you to specify the type of the OS that is included in the
 * disk if creating a VM from user-image or a specialized VHD. Possible values
 * are: **Windows,** **Linux.**
 */
export type OperatingSystemTypes = (typeof OperatingSystemTypes)[keyof typeof OperatingSystemTypes];
export declare const PassName: {
    readonly OobeSystem: "OobeSystem";
};
/**
 * The pass name. Currently, the only allowable value is OobeSystem.
 */
export type PassName = (typeof PassName)[keyof typeof PassName];
export declare const ProtocolTypes: {
    /**
     * Http protocol
     */
    readonly Http: "Http";
    /**
     * Https protocol
     */
    readonly Https: "Https";
};
/**
 * Specifies the protocol of WinRM listener. Possible values are: **http,**
 * **https.**
 */
export type ProtocolTypes = (typeof ProtocolTypes)[keyof typeof ProtocolTypes];
export declare const PublicIPAddressSkuName: {
    /**
     * Basic sku name
     */
    readonly Basic: "Basic";
    /**
     * Standard sku name
     */
    readonly Standard: "Standard";
};
/**
 * Specify public IP sku name
 */
export type PublicIPAddressSkuName = (typeof PublicIPAddressSkuName)[keyof typeof PublicIPAddressSkuName];
export declare const PublicIPAddressSkuTier: {
    /**
     * Regional sku tier
     */
    readonly Regional: "Regional";
    /**
     * Global sku tier
     */
    readonly Global: "Global";
};
/**
 * Specify public IP sku tier
 */
export type PublicIPAddressSkuTier = (typeof PublicIPAddressSkuTier)[keyof typeof PublicIPAddressSkuTier];
export declare const RegularPriorityAllocationStrategy: {
    /**
     * Default. VM sizes distribution will be determined to optimize for price.
     */
    readonly LowestPrice: "LowestPrice";
    /**
     * VM sizes distribution will be determined to optimize for the 'priority' as specified for each vm size.
     */
    readonly Prioritized: "Prioritized";
};
/**
 * Allocation strategy to follow when determining the VM sizes distribution for Regular VMs.
 */
export type RegularPriorityAllocationStrategy = (typeof RegularPriorityAllocationStrategy)[keyof typeof RegularPriorityAllocationStrategy];
export declare const SecurityEncryptionTypes: {
    /**
     * EncryptionType of the managed disk is set to VMGuestStateOnly for encryption
     * of just the VMGuestState blob.
     */
    readonly VMGuestStateOnly: "VMGuestStateOnly";
    /**
     * EncryptionType of the managed disk is set to DiskWithVMGuestState for encryption
     * of the managed disk along with VMGuestState blob.
     */
    readonly DiskWithVMGuestState: "DiskWithVMGuestState";
    /**
     * EncryptionType of the managed disk is set to NonPersistedTPM for not persisting
     * firmware state in the VMGuestState blob.
     */
    readonly NonPersistedTPM: "NonPersistedTPM";
};
/**
 * Specifies the EncryptionType of the managed disk. It is set to
 * DiskWithVMGuestState for encryption of the managed disk along with VMGuestState
 * blob, VMGuestStateOnly for encryption of just the VMGuestState blob, and
 * NonPersistedTPM for not persisting firmware state in the VMGuestState blob..
 * **Note:** It can be set for only Confidential VMs.
 */
export type SecurityEncryptionTypes = (typeof SecurityEncryptionTypes)[keyof typeof SecurityEncryptionTypes];
export declare const SecurityTypes: {
    /**
     * TrustedLaunch security type
     */
    readonly TrustedLaunch: "TrustedLaunch";
    /**
     * ConfidentialVM security type
     */
    readonly ConfidentialVM: "ConfidentialVM";
};
/**
 * Specifies the SecurityType of the virtual machine. It has to be set to any
 * specified value to enable UefiSettings. The default behavior is: UefiSettings
 * will not be enabled unless this property is set.
 */
export type SecurityTypes = (typeof SecurityTypes)[keyof typeof SecurityTypes];
export declare const SettingNames: {
    /**
     * AutoLogon setting
     */
    readonly AutoLogon: "AutoLogon";
    /**
     * FirstLogonCommands setting
     */
    readonly FirstLogonCommands: "FirstLogonCommands";
};
/**
 * Specifies the name of the setting to which the content applies. Possible values
 * are: FirstLogonCommands and AutoLogon.
 */
export type SettingNames = (typeof SettingNames)[keyof typeof SettingNames];
export declare const SpotAllocationStrategy: {
    /**
     * Default. VM sizes distribution will be determined to optimize for both price and capacity.
     */
    readonly PriceCapacityOptimized: "PriceCapacityOptimized";
    /**
     * VM sizes distribution will be determined to optimize for price. Note: Capacity will still be considered here but will be given much less weight.
     */
    readonly LowestPrice: "LowestPrice";
    /**
     * VM sizes distribution will be determined to optimize for capacity.
     */
    readonly CapacityOptimized: "CapacityOptimized";
};
/**
 * Allocation strategy to follow when determining the VM sizes distribution for Spot VMs.
 */
export type SpotAllocationStrategy = (typeof SpotAllocationStrategy)[keyof typeof SpotAllocationStrategy];
export declare const StorageAccountTypes: {
    /**
     * Standard_LRS option.
     */
    readonly Standard_LRS: "Standard_LRS";
    /**
     * Premium_LRS option.
     */
    readonly Premium_LRS: "Premium_LRS";
    /**
     * StandardSSD_LRS option.
     */
    readonly StandardSSD_LRS: "StandardSSD_LRS";
    /**
     * UltraSSD_LRS option.
     */
    readonly UltraSSD_LRS: "UltraSSD_LRS";
    /**
     * Premium_ZRS option.
     */
    readonly Premium_ZRS: "Premium_ZRS";
    /**
     * StandardSSD_ZRS option.
     */
    readonly StandardSSD_ZRS: "StandardSSD_ZRS";
    /**
     * PremiumV2_LRS option.
     */
    readonly PremiumV2_LRS: "PremiumV2_LRS";
};
/**
 * Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can
 * only be used with data disks, it cannot be used with OS Disk.
 */
export type StorageAccountTypes = (typeof StorageAccountTypes)[keyof typeof StorageAccountTypes];
export declare const VMAttributeSupport: {
    /**
     * All VMSizes having the feature support will be excluded.
     */
    readonly Excluded: "Excluded";
    /**
     *  VMSizes that have the feature support and that do not have the feature support will be used. Included is a union of Excluded and Required.
     */
    readonly Included: "Included";
    /**
     * Only the VMSizes having the feature support will be used.
     */
    readonly Required: "Required";
};
/**
 * Specifies whether the VMSize supporting RDMA (Remote Direct Memory Access) should be used to build Fleet or not.
 */
export type VMAttributeSupport = (typeof VMAttributeSupport)[keyof typeof VMAttributeSupport];
export declare const VMCategory: {
    /**
     * General purpose VM sizes provide balanced CPU-to-memory ratio. Ideal for testing and development, small to medium databases, and low to medium traffic web servers.
     */
    readonly GeneralPurpose: "GeneralPurpose";
    /**
     * Compute optimized VM sizes have a high CPU-to-memory ratio. These sizes are good for medium traffic web servers, network appliances, batch processes, and application servers.
     */
    readonly ComputeOptimized: "ComputeOptimized";
    /**
     * Memory optimized VM sizes offer a high memory-to-CPU ratio that is great for relational database servers, medium to large caches, and in-memory analytics.
     */
    readonly MemoryOptimized: "MemoryOptimized";
    /**
     * Storage optimized virtual machine (VM) sizes offer high disk throughput and IO, and are ideal for Big Data, SQL, NoSQL databases, data warehousing, and large transactional databases.
     * Examples include Cassandra, MongoDB, Cloudera, and Redis.
     */
    readonly StorageOptimized: "StorageOptimized";
    /**
     * GPU optimized VM sizes are specialized virtual machines available with single, multiple, or fractional GPUs.
     * These sizes are designed for compute-intensive, graphics-intensive, and visualization workloads.
     */
    readonly GpuAccelerated: "GpuAccelerated";
    /**
     * FPGA optimized VM sizes are specialized virtual machines available with single or multiple FPGA.
     * These sizes are designed for compute-intensive workloads. This article provides information about the number and type of FPGA, vCPUs, data disks, and NICs.
     * Storage throughput and network bandwidth are also included for each size in this grouping.
     */
    readonly FpgaAccelerated: "FpgaAccelerated";
    /**
     * Azure High Performance Compute VMs are optimized for various HPC workloads such as computational fluid dynamics, finite element analysis, frontend and backend EDA,
     * rendering, molecular dynamics, computational geo science, weather simulation, and financial risk analysis.
     */
    readonly HighPerformanceCompute: "HighPerformanceCompute";
};
/**
 * VMCategories defined for Azure VMs.
 * See: https://learn.microsoft.com/en-us/azure/virtual-machines/sizes/overview?tabs=breakdownseries%2Cgeneralsizelist%2Ccomputesizelist%2Cmemorysizelist%2Cstoragesizelist%2Cgpusizelist%2Cfpgasizelist%2Chpcsizelist#general-purpose
 */
export type VMCategory = (typeof VMCategory)[keyof typeof VMCategory];
export declare const WindowsPatchAssessmentMode: {
    /**
     * You control the timing of patch assessments on a virtual machine.
     */
    readonly ImageDefault: "ImageDefault";
    /**
     * The platform will trigger periodic patch assessments. The property provisionVMAgent must be true.
     */
    readonly AutomaticByPlatform: "AutomaticByPlatform";
};
/**
 * Specifies the mode of VM Guest patch assessment for the IaaS virtual
 * machine.<br /><br /> Possible values are:<br /><br /> **ImageDefault** - You
 * control the timing of patch assessments on a virtual machine.<br /><br />
 * **AutomaticByPlatform** - The platform will trigger periodic patch assessments.
 * The property provisionVMAgent must be true.
 */
export type WindowsPatchAssessmentMode = (typeof WindowsPatchAssessmentMode)[keyof typeof WindowsPatchAssessmentMode];
export declare const WindowsVMGuestPatchAutomaticByPlatformRebootSetting: {
    /**
     * Unknown Reboot setting
     */
    readonly Unknown: "Unknown";
    /**
     * IfRequired Reboot setting
     */
    readonly IfRequired: "IfRequired";
    /**
     * Never Reboot setting
     */
    readonly Never: "Never";
    /**
     * Always Reboot setting
     */
    readonly Always: "Always";
};
/**
 * Specifies the reboot setting for all AutomaticByPlatform patch installation
 * operations.
 */
export type WindowsVMGuestPatchAutomaticByPlatformRebootSetting = (typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting)[keyof typeof WindowsVMGuestPatchAutomaticByPlatformRebootSetting];
export declare const WindowsVMGuestPatchMode: {
    /**
     * You control the application of patches to a virtual machine.
     * You do this by applying patches manually inside the VM. In this mode,
     * automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates
     * must be false
     */
    readonly Manual: "Manual";
    /**
     * The virtual machine will automatically be updated by the OS.
     * The property WindowsConfiguration.enableAutomaticUpdates must be true.
     */
    readonly AutomaticByOS: "AutomaticByOS";
    /**
     * The virtual machine will automatically updated by the platform. The properties
     * provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true.
     */
    readonly AutomaticByPlatform: "AutomaticByPlatform";
};
/**
 * Specifies the mode of VM Guest Patching to IaaS virtual machine or virtual
 * machines associated to virtual machine scale set with OrchestrationMode as
 * Flexible.<br /><br /> Possible values are:<br /><br /> **Manual** - You
 * control the application of patches to a virtual machine. You do this by
 * applying patches manually inside the VM. In this mode, automatic updates are
 * disabled; the property WindowsConfiguration.enableAutomaticUpdates must be
 * false<br /><br /> **AutomaticByOS** - The virtual machine will automatically be
 * updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates
 * must be true. <br /><br /> **AutomaticByPlatform** - the virtual machine will
 * automatically updated by the platform. The properties provisionVMAgent and
 * WindowsConfiguration.enableAutomaticUpdates must be true
 */
export type WindowsVMGuestPatchMode = (typeof WindowsVMGuestPatchMode)[keyof typeof WindowsVMGuestPatchMode];
