import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface TopicProperties { } export interface EventSubscriptionProperties { topic?: Expressionable; provisioningState?: Expressionable<('Creating' | 'Updating' | 'Deleting' | 'Succeeded' | 'Canceled' | 'Failed')>; destination: Expressionable; filter?: Expressionable; labels?: Expressionable; } export interface WebHookEventSubscriptionDestination { endpointType: Expressionable<('WebHook')>; properties: Expressionable; } export interface WebHookEventSubscriptionDestinationProperties { endpointUrl?: Expressionable; endpointBaseUrl?: Expressionable; } export interface EventHubEventSubscriptionDestinationProperties { resourceId?: Expressionable; } export interface EventHubEventSubscriptionDestination { endpointType: Expressionable<('EventHub')>; properties: Expressionable; } export interface EventSubscriptionFilter { subjectBeginsWith?: Expressionable; subjectEndsWith?: Expressionable; includedEventTypes?: Expressionable; isSubjectCaseSensitive?: Expressionable; } export declare namespace topics { type TopicsResource = ResourceDefinition; function create(name: Expressionable, properties: TopicProperties, location: Expressionable): TopicsResource; } export declare namespace eventSubscriptions { type EventSubscriptionsResource = ResourceDefinition; function create(name: Expressionable, properties: EventSubscriptionProperties): EventSubscriptionsResource; }