import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface IotDpsPropertiesDescription { allocationPolicy?: Expressionable<('Hashed' | 'GeoLatency' | 'Static')>; authorizationPolicies?: Expressionable; iotHubs?: Expressionable; provisioningState?: Expressionable; state?: Expressionable<('Activating' | 'Active' | 'Deleting' | 'Deleted' | 'ActivationFailed' | 'DeletionFailed' | 'Transitioning' | 'Suspending' | 'Suspended' | 'Resuming' | 'FailingOver' | 'FailoverFailed')>; } export interface IotDpsSkuInfo { capacity?: Expressionable; name?: Expressionable<('S1')>; } export interface IotHubDefinitionDescription { allocationWeight?: Expressionable; applyAllocationPolicy?: Expressionable; connectionString: Expressionable; location: Expressionable; } export interface SharedAccessSignatureAuthorizationRuleAccessRightsDescription { keyName: Expressionable; primaryKey?: Expressionable; rights: Expressionable<('ServiceConfig' | 'EnrollmentRead' | 'EnrollmentWrite' | 'DeviceConnect' | 'RegistrationStatusRead' | 'RegistrationStatusWrite')>; secondaryKey?: Expressionable; } export declare namespace provisioningServices { interface AdditionalProps { sku: Expressionable; tags?: Expressionable; } type ProvisioningServicesResource = ResourceDefinition; function create(name: Expressionable, properties: IotDpsPropertiesDescription, location: Expressionable, sku: Expressionable, tags?: Expressionable): ProvisioningServicesResource; } export declare namespace provisioningServices { namespace certificates { type CertificatesResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: any): CertificatesResource; } }