/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ import { TurnContext } from '@microsoft/agents-hosting'; import { Prompt, PromptOptions, PromptRecognizerResult, PromptValidator } from './prompt'; import { DialogContext } from '../dialogContext'; import { DialogEvent } from '../dialogEvent'; /** * Prompts a user to enter some text. * * @remarks * By default the prompt will return to the calling dialog a `string` representing the users reply. * */ export declare class TextPrompt extends Prompt { constructor(dialogId?: string, validator?: PromptValidator); /** * Prompts the user for input. * * @param context TurnContext, context for the current * turn of conversation with the user. * @param state Contains state for the current instance of the prompt on the dialog stack. * @param options A PromptOptions object constructed * from the options initially provided in the call to Prompt. * @param isRetry `true` if this is the first time this prompt dialog instance * on the stack is prompting the user for input; otherwise, false. * @returns A `Promise` representing the asynchronous operation. */ protected onPrompt(context: TurnContext, state: any, options: PromptOptions, isRetry: boolean): Promise; /** * Attempts to recognize the user's input. * * @param context TurnContext, context for the current * turn of conversation with the user. * @param _state Contains state for the current instance of the prompt on the dialog stack. * @param _options A PromptOptions object constructed * from the options initially provided in the call to Prompt. * @returns A `Promise` representing the asynchronous operation. */ protected onRecognize(context: TurnContext, _state: any, _options: PromptOptions): Promise>; /** * Called before an event is bubbled to its parent. * * @param _dc The DialogContext for the current * turn of conversation. * @param _event DialogEvent, the event being raised. * @returns Whether the event is handled by the current dialog and further processing should stop. * * @remarks * This is a good place to perform interception of an event as returning `true` will prevent * any further bubbling of the event to the dialogs parents and will also prevent any child * dialogs from performing their default processing. * */ protected onPreBubbleEvent(_dc: DialogContext, _event: DialogEvent): Promise; }