/**
 * @module botbuilder-dialogs-adaptive
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { Activity, RecognizerResult } from 'botbuilder';
import { Converter, ConverterFactory, DialogContext, Recognizer, RecognizerConfiguration } from 'botbuilder-dialogs';
import { LanguagePolicy } from '../languagePolicy';
import { AdaptiveRecognizer } from './adaptiveRecognizer';
export interface MultiLanguageRecognizerConfiguration extends RecognizerConfiguration {
    languagePolicy?: Record<string, string[]> | LanguagePolicy;
    recognizers?: Record<string, string> | Record<string, Recognizer>;
}
/**
 * Defines map of languages -> recognizer.
 */
export declare class MultiLanguageRecognizer extends AdaptiveRecognizer implements MultiLanguageRecognizerConfiguration {
    static $kind: string;
    languagePolicy: LanguagePolicy;
    recognizers: {
        [locale: string]: Recognizer;
    };
    /**
     * @param property The key of the conditional selector configuration.
     * @returns The converter for the selector configuration.
     */
    getConverter(property: keyof MultiLanguageRecognizerConfiguration): Converter | ConverterFactory;
    /**
     * Runs current DialogContext.TurnContext.Activity through a recognizer and returns a [RecognizerResult](xref:botbuilder-core.RecognizerResult).
     *
     * @param dialogContext The [DialogContext](xref:botbuilder-dialogs.DialogContext) for the current turn of conversation.
     * @param activity [Activity](xref:botframework-schema.Activity) to recognize.
     * @param telemetryProperties Optional, additional properties to be logged to telemetry with the LuisResult event.
     * @param telemetryMetrics Optional, additional metrics to be logged to telemetry with the LuisResult event.
     * @returns {Promise<RecognizerResult>} Analysis of utterance.
     */
    recognize(dialogContext: DialogContext, activity: Activity, telemetryProperties?: {
        [key: string]: string;
    }, telemetryMetrics?: {
        [key: string]: number;
    }): Promise<RecognizerResult>;
}
//# sourceMappingURL=multiLanguageRecognizer.d.ts.map
