import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface CloudToDeviceProperties { defaultTtlAsIso8601?: Expressionable; feedback?: Expressionable; maxDeliveryCount?: Expressionable; } export interface EventHubProperties { partitionCount?: Expressionable; retentionTimeInDays?: Expressionable; } export interface FeedbackProperties { lockDurationAsIso8601?: Expressionable; maxDeliveryCount?: Expressionable; ttlAsIso8601?: Expressionable; } export interface IotHubProperties { authorizationPolicies?: Expressionable; cloudToDevice?: Expressionable; comments?: Expressionable; enableFileUploadNotifications?: Expressionable; eventHubEndpoints?: Expressionable; features?: Expressionable<('None' | 'DeviceManagement')>; ipFilterRules?: Expressionable; messagingEndpoints?: Expressionable; operationsMonitoringProperties?: Expressionable; storageEndpoints?: Expressionable; } export interface IotHubSkuInfo { capacity: Expressionable; name: Expressionable<('F1' | 'S1' | 'S2' | 'S3')>; } export interface IpFilterRule { action: Expressionable<('Accept' | 'Reject')>; filterName: Expressionable; ipMask: Expressionable; } export interface MessagingEndpointProperties { lockDurationAsIso8601?: Expressionable; maxDeliveryCount?: Expressionable; ttlAsIso8601?: Expressionable; } export interface OperationsMonitoringProperties { events?: Expressionable; } export interface SharedAccessSignatureAuthorizationRule { keyName: Expressionable; primaryKey?: Expressionable; rights: Expressionable<('RegistryRead' | 'RegistryWrite' | 'ServiceConnect' | 'DeviceConnect' | 'RegistryRead, RegistryWrite' | 'RegistryRead, ServiceConnect' | 'RegistryRead, DeviceConnect' | 'RegistryWrite, ServiceConnect' | 'RegistryWrite, DeviceConnect' | 'ServiceConnect, DeviceConnect' | 'RegistryRead, RegistryWrite, ServiceConnect' | 'RegistryRead, RegistryWrite, DeviceConnect' | 'RegistryRead, ServiceConnect, DeviceConnect' | 'RegistryWrite, ServiceConnect, DeviceConnect' | 'RegistryRead, RegistryWrite, ServiceConnect, DeviceConnect')>; secondaryKey?: Expressionable; } export interface StorageEndpointProperties { connectionString: Expressionable; containerName: Expressionable; sasTtlAsIso8601?: Expressionable; } export declare namespace IotHubs { interface AdditionalProps { sku: Expressionable; tags?: Expressionable; } type IotHubsResource = ResourceDefinition; function create(name: Expressionable, properties: IotHubProperties, location: Expressionable, sku: Expressionable, tags?: Expressionable): IotHubsResource; } export declare namespace IotHubs { namespace eventHubEndpoints { namespace ConsumerGroups { type ConsumerGroupsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable, Expressionable], properties: any): ConsumerGroupsResource; } } }