import { SlangLocale } from "../utils/slangLocale"; import { SlangHintStyle, SlangSurfaceStyles, SlangUITheme } from "../utils/uiEnums"; import { SlangMessage, SlangStatement } from "./slangPrompts"; declare class SlangUtteranceHelp { description: string; utterances: string[]; constructor(description: string, utterances: string[]); } declare class SlangEntityType { name: string; description: string; constructor(name: string, description: string); } declare class SlangEntityTemplate { name: string; description: string; priority: number; isRequired: boolean; isList: boolean; isComposite: boolean; prompt: SlangMessage; type: SlangEntityType; utteranceHelp: SlangUtteranceHelp | null; constructor(name: string, description: string, priority: number, isRequired: boolean, isList: boolean, isComposite: boolean, type: SlangEntityType, prompt: SlangMessage, utteranceHelp: SlangUtteranceHelp | null); } declare class SlangIntentTemplate { name: string; description: string; entities: SlangEntityTemplate[]; completionStatement: SlangStatement; utteranceHelp: SlangUtteranceHelp | null; constructor(name: string, description: string, entities: SlangEntityTemplate[], completionStatement: SlangStatement, utteranceHelp: SlangUtteranceHelp | null); getCompletionStatement(): SlangStatement; getEntityTemplate(entityName: string): SlangEntityTemplate | undefined; getName(): string; } declare class SlangSingleLanguageUIHint { language: string; phrases: string[]; constructor(language: string, phrases: string[]); } declare class SlangUIHints { subdomain: string; hints: SlangSingleLanguageUIHint[]; constructor(subdomain: string, hints: SlangSingleLanguageUIHint[]); } declare class SlangAppStateTemplate { name: string; parameters: string[]; completionStatement: SlangStatement | null; prompt: SlangMessage | null; appStateName: string; conditionName: string | null; uiHints: SlangUIHints[] | null; constructor(name: string, parameters: string[], completionStatement: SlangStatement | null, prompt: SlangMessage | null, appStateName: string, conditionName: string | null, uiHints: SlangUIHints[] | null); getCompletionStatement(): SlangStatement | null; getPrompt(): SlangMessage | null; getUIHints(subdomain: string | null): SlangUIHints | undefined; } declare class SlangUserJourneyTemplate { name: string; appStates: SlangAppStateTemplate[]; intents: string[]; greeting: SlangMessage; clarification: SlangMessage; enabled: boolean; constructor(name: string, intents: string[], greeting: SlangMessage, clarification: SlangMessage, enabled: boolean, appStates: SlangAppStateTemplate[]); getAppState(appStateName: string, conditionName: string | null): SlangAppStateTemplate | undefined; getGreetingMessage(): SlangMessage | null; getClarificationPrompt(): SlangMessage | null; } declare class SlangBuddyTemplate { name: string; greeting: SlangMessage; clarification: SlangMessage; intents: SlangIntentTemplate[]; asrHints: string[]; stopWords: string[]; latestTrainTimestamp: string; locale: string; entityTypes: SlangEntityType[]; userJourneys: SlangUserJourneyTemplate[]; uiConfig?: SlangUIConfig; enabledSubdomains?: string[]; constructor(name: string, locale: string, latestTrainTimestamp: string, greeting: SlangMessage, clarification: SlangMessage, intents: SlangIntentTemplate[], asrHints: string[], stopWords: string[], entityTypes: SlangEntityType[], userJourneys: SlangUserJourneyTemplate[], uiConfig?: SlangUIConfig, enabledSubdomains?: string[]); getUserJourney(userJourneyName: string): SlangUserJourneyTemplate | undefined; getGreetingMessage(): SlangMessage; getClarificationPrompt(): SlangMessage; getIntentTemplateByName(intentName: string): SlangIntentTemplate | undefined; getHelpTexts(intentName?: string): (SlangUtteranceHelp | null)[]; getIntentCount(): number; getUIConfig(): SlangUIConfig | undefined; getEnabledSubdomains(): string[] | undefined; } declare class SlangMultiLangBuddyTemplate { [key: string]: SlangBuddyTemplate; constructor(multilangBuddyTemplate: { [key: string]: any; }); } type SlangUIConfigBuildOptions = { onboardingAutomaticAppearanceLimit?: number; brandColor?: string; onboardingPrimaryText?: { [locale in SlangLocale]?: string; }; onboardingSecondaryText?: { [locale in SlangLocale]?: string; }; onboardingInfoTitle?: { [locale in SlangLocale]?: string; }; onboardingInfoDescription?: { [locale in SlangLocale]?: string; }; surfaceStyle?: SlangSurfaceStyles; surfaceUIHintMode?: SlangHintStyle; uiMode?: SlangUITheme; }; declare class SlangUIConfig { onboardingAutomaticAppearanceLimit?: number; brandColor?: string; onboardingPrimaryText?: { [locale in SlangLocale]?: string; }; onboardingSecondaryText?: { [locale in SlangLocale]?: string; }; onboardingInfoTitle?: { [locale in SlangLocale]?: string; }; onboardingInfoDescription?: { [locale in SlangLocale]?: string; }; surfaceStyle?: SlangSurfaceStyles; surfaceUIHintMode?: SlangHintStyle; uiMode?: SlangUITheme; constructor({ onboardingAutomaticAppearanceLimit, brandColor, onboardingPrimaryText, onboardingSecondaryText, onboardingInfoTitle, onboardingInfoDescription, surfaceStyle, surfaceUIHintMode, uiMode }: SlangUIConfigBuildOptions); } export type { SlangUIConfigBuildOptions }; export { SlangBuddyTemplate, SlangIntentTemplate, SlangEntityTemplate, SlangEntityType, SlangUtteranceHelp, SlangMultiLangBuddyTemplate, SlangUserJourneyTemplate, SlangAppStateTemplate, SlangUIHints, SlangSingleLanguageUIHint, SlangUIConfig };