import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface CreationData { createOption: Expressionable<('Empty' | 'Attach' | 'FromImage' | 'Import' | 'Copy' | 'Restore')>; storageAccountId?: Expressionable; imageReference?: Expressionable; sourceUri?: Expressionable; sourceResourceId?: Expressionable; } export interface DiskProperties { osType?: Expressionable<('Windows' | 'Linux')>; creationData: Expressionable; diskSizeGB?: Expressionable; encryptionSettings?: Expressionable; } export interface DiskSku { name?: Expressionable<('Standard_LRS' | 'Premium_LRS')>; } export interface EncryptionSettings { enabled?: Expressionable; diskEncryptionKey?: Expressionable; keyEncryptionKey?: Expressionable; } export interface ImageDiskReference { id: Expressionable; lun?: Expressionable; } export interface KeyVaultAndKeyReference { sourceVault: Expressionable; keyUrl: Expressionable; } export interface KeyVaultAndSecretReference { sourceVault: Expressionable; secretUrl: Expressionable; } export interface SnapshotSku { name?: Expressionable<('Standard_LRS' | 'Premium_LRS' | 'Standard_ZRS')>; } export interface SourceVault { id?: Expressionable; } export declare namespace disks { interface AdditionalProps { sku?: Expressionable; zones?: Expressionable; } type DisksResource = ResourceDefinition; function create(name: Expressionable, properties: DiskProperties, location: Expressionable, sku?: Expressionable, zones?: Expressionable): DisksResource; } export declare namespace snapshots { interface AdditionalProps { sku?: Expressionable; } type SnapshotsResource = ResourceDefinition; function create(name: Expressionable, properties: DiskProperties, location: Expressionable, sku?: Expressionable): SnapshotsResource; }