botbuilder-dialogs-adaptive
Version:
Rule system for the Microsoft BotBuilder dialog system.
47 lines • 1.92 kB
TypeScript
/**
* @module botbuilder-dialogs-adaptive
*/
/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License.
*/
import { Configurable, Converter, ConverterFactory, DialogContext } from 'botbuilder-dialogs';
import { LanguageGenerator } from '../languageGenerator';
import { LanguagePolicy } from '../languagePolicy';
export interface MultiLanguageGeneratorBaseConfiguration {
languagePolicy?: Record<string, string[]> | LanguagePolicy;
}
/**
* Base class which applies language policy to tryGetGenerator.
*/
export declare abstract class MultiLanguageGeneratorBase<T = unknown, D extends Record<string, unknown> = Record<string, unknown>> extends Configurable implements LanguageGenerator<T, D>, MultiLanguageGeneratorBaseConfiguration {
/**
* Language policy required by language generator.
*/
languagePolicy: LanguagePolicy;
/**
* @param property The key of the conditional selector configuration.
* @returns The converter for the selector configuration.
*/
getConverter(property: keyof MultiLanguageGeneratorBaseConfiguration): Converter | ConverterFactory;
/**
* Abstract method to get a language generator by locale.
*
* @param dialogContext DialogContext.
* @param locale Locale to lookup.
*/
abstract tryGetGenerator(dialogContext: DialogContext, locale: string): {
exist: boolean;
result: LanguageGenerator<T, D>;
};
/**
* Find a language generator that matches the current context locale.
*
* @param dialogContext Context for the current turn of conversation.
* @param template Template to use.
* @param data Data to bind to.
* @returns A promise representing the asynchronous operation.
*/
generate(dialogContext: DialogContext, template: string, data: D): Promise<T>;
}
//# sourceMappingURL=multiLanguageGeneratorBase.d.ts.map