import { Expressionable, ResourceDefinition } from 'arm-templator'; export interface BotProperties { description?: Expressionable; developerAppInsightKey?: Expressionable; developerAppInsightsApiKey?: Expressionable; developerAppInsightsApplicationId?: Expressionable; displayName: Expressionable; endpoint: Expressionable; iconUrl?: Expressionable; luisAppIds?: Expressionable; luisKey?: Expressionable; msaAppId: Expressionable; } export interface Channel { } export interface ConnectionSettingParameter { key?: Expressionable; value?: Expressionable; } export interface ConnectionSettingProperties { clientId?: Expressionable; clientSecret?: Expressionable; parameters?: Expressionable; scopes?: Expressionable; serviceProviderDisplayName?: Expressionable; serviceProviderId?: Expressionable; } export interface DirectLineChannel { channelName: Expressionable<('DirectLineChannel')>; properties?: Expressionable; } export interface DirectLineChannelProperties { sites?: Expressionable; } export interface DirectLineSite { isEnabled: Expressionable; isSecureSiteEnabled?: Expressionable; isV1Enabled: Expressionable; isV3Enabled: Expressionable; siteName: Expressionable; trustedOrigins?: Expressionable; } export interface EmailChannel { channelName: Expressionable<('EmailChannel')>; properties?: Expressionable; } export interface EmailChannelProperties { emailAddress: Expressionable; isEnabled: Expressionable; password: Expressionable; } export interface EnterpriseChannelNode { azureLocation: Expressionable; azureSku: Expressionable; name: Expressionable; state?: Expressionable<('Creating' | 'CreateFailed' | 'Started' | 'Starting' | 'StartFailed' | 'Stopped' | 'Stopping' | 'StopFailed' | 'Deleting' | 'DeleteFailed')>; } export interface EnterpriseChannelProperties { nodes: Expressionable; state?: Expressionable<('Creating' | 'CreateFailed' | 'Started' | 'Starting' | 'StartFailed' | 'Stopped' | 'Stopping' | 'StopFailed' | 'Deleting' | 'DeleteFailed')>; } export interface FacebookChannel { channelName: Expressionable<('FacebookChannel')>; properties?: Expressionable; } export interface FacebookChannelProperties { appId: Expressionable; appSecret: Expressionable; isEnabled: Expressionable; pages?: Expressionable; } export interface FacebookPage { accessToken: Expressionable; id: Expressionable; } export interface KikChannel { channelName: Expressionable<('KikChannel')>; properties?: Expressionable; } export interface KikChannelProperties { apiKey: Expressionable; isEnabled: Expressionable; isValidated?: Expressionable; userName: Expressionable; } export interface MsTeamsChannel { channelName: Expressionable<('MsTeamsChannel')>; properties?: Expressionable; } export interface MsTeamsChannelProperties { callingWebHook?: Expressionable; enableCalling?: Expressionable; isEnabled: Expressionable; } export interface Sku { name: Expressionable<('F0' | 'S1')>; } export interface SkypeChannel { channelName: Expressionable<('SkypeChannel')>; properties?: Expressionable; } export interface SkypeChannelProperties { callingWebHook?: Expressionable; enableCalling?: Expressionable; enableGroups?: Expressionable; enableMediaCards?: Expressionable; enableMessaging?: Expressionable; enableScreenSharing?: Expressionable; enableVideo?: Expressionable; groupsMode?: Expressionable; isEnabled: Expressionable; } export interface SlackChannel { channelName: Expressionable<('SlackChannel')>; properties?: Expressionable; } export interface SlackChannelProperties { clientId: Expressionable; clientSecret: Expressionable; isEnabled: Expressionable; landingPageUrl?: Expressionable; verificationToken: Expressionable; } export interface SmsChannel { channelName: Expressionable<('SmsChannel')>; properties?: Expressionable; } export interface SmsChannelProperties { accountSID: Expressionable; authToken: Expressionable; isEnabled: Expressionable; isValidated?: Expressionable; phone: Expressionable; } export interface TelegramChannel { channelName: Expressionable<('TelegramChannel')>; properties?: Expressionable; } export interface TelegramChannelProperties { accessToken: Expressionable; isEnabled: Expressionable; isValidated?: Expressionable; } export interface WebChatChannel { channelName: Expressionable<('WebChatChannel')>; properties?: Expressionable; } export interface WebChatChannelProperties { sites?: Expressionable; } export interface WebChatSite { enablePreview: Expressionable; isEnabled: Expressionable; siteName: Expressionable; } export declare namespace botServices { interface AdditionalProps { sku?: Expressionable; kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>; tags?: Expressionable; } type BotServicesResource = ResourceDefinition; function create(name: Expressionable, properties: BotProperties, location?: Expressionable, sku?: Expressionable, kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>, tags?: Expressionable): BotServicesResource; } export declare namespace botServices { namespace channels { interface AdditionalProps { sku?: Expressionable; kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>; tags?: Expressionable; } type ChannelsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: Channel, location?: Expressionable, sku?: Expressionable, kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>, tags?: Expressionable): ChannelsResource; } } export declare namespace botServices { namespace Connections { interface AdditionalProps { sku?: Expressionable; kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>; tags?: Expressionable; } type ConnectionsResource = ResourceDefinition; function create(name: [Expressionable, Expressionable], properties: ConnectionSettingProperties, location?: Expressionable, sku?: Expressionable, kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>, tags?: Expressionable): ConnectionsResource; } } export declare namespace enterpriseChannels { interface AdditionalProps { sku?: Expressionable; kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>; tags?: Expressionable; } type EnterpriseChannelsResource = ResourceDefinition; function create(name: Expressionable, properties: EnterpriseChannelProperties, location?: Expressionable, sku?: Expressionable, kind?: Expressionable<('sdk' | 'designer' | 'bot' | 'function')>, tags?: Expressionable): EnterpriseChannelsResource; }