import { v1 } from 'ask-smapi-model'; import { ILogger } from '../controls/interfaces/ILogger'; import InteractionModelData = v1.skill.interactionModel.InteractionModelData; import SlotType = v1.skill.interactionModel.SlotType; import TypeValue = v1.skill.interactionModel.TypeValue; import Intent = v1.skill.interactionModel.Intent; import ModelConfiguration = v1.skill.interactionModel.ModelConfiguration; import DialogIntent = v1.skill.interactionModel.DialogIntents; import DelegationStrategyType = v1.skill.interactionModel.DelegationStrategyType; import Prompt = v1.skill.interactionModel.Prompt; /** * Interaction model generator * * - For skills that use Controls Framework, use `ControlInteractionModelGenerator` */ export declare class InteractionModelGenerator { protected intents: Intent[]; protected slotTypes: SlotType[]; protected modelConfiguration: ModelConfiguration | undefined; protected dialogIntents: DialogIntent[]; protected delegationStrategy: DelegationStrategyType; protected prompts: Prompt[]; protected invocationName: string; protected log: ILogger; constructor(); setModelConfiguration(modelConfiguration: ModelConfiguration): this; /** * Add intent to interaction model * * @param intent - Intent */ addIntent(intent: Intent): this; /** * Add one or more intents */ addIntents(...intents: Intent[]): this; /** * Add or merge slot type * * If the slot and/or slot-values already exist, the new data is added. */ addOrMergeSlotType(slotType: SlotType): this; /** * Add or merge slot types * * If the slot and/or slot-values already exist, the new data is added. */ addOrMergeSlotTypes(...slotTypes: SlotType[]): this; /** * Add a new slot value to an existing slot type * * If the slot-value already exists, the new data is added. */ addValuesToSlotType(slotName: string, ...values: TypeValue[]): this; /** * Add a DialogIntent to the dialog model. */ addDialogIntent(dialogIntent: DialogIntent): this; /** * Add DialogIntents to the dialog model. */ addDialogIntents(...dialogIntents: DialogIntent[]): this; /** * Add DelegationStrategy to the dialog model. */ addDelegationStrategy(delegationStrategy: DelegationStrategyType): this; /** * Add a Prompt to the dialog model. */ addPrompt(prompt: Prompt): this; /** * Add Prompts to the dialog model. */ addPrompts(...prompts: Prompt[]): this; /** * Set the invocation name. */ withInvocationName(name: string): this; /** * Load an interaction model file (JSON format). * * Usage: * - This method does not perform merging for all components. Call this * method before any other methods. */ loadFromFile(inputPath: string): this; /** * Build the interaction model. * * @returns An `InteractionModelData` object. */ build(): InteractionModelData; /** * Build the interaction model and write to disk or standard output. * * @param filename - Filename(optional) */ buildAndWrite(filename?: string): void; isSlotDefined(slotTypeId: string): boolean; isSlotValueIsDefined(slotTypeId: string, slotValueId: string): boolean; } //# sourceMappingURL=InteractionModelGenerator.d.ts.map