declare module '@nlpjs/nlg' { import { Clonable, Container } from '@nlpjs/core'; interface Answer { response: string; opts?: Record; } interface FindAnswerOptions { skipIfSameInput?: boolean; ignoreCase?: boolean; ignoreStopWords?: boolean; } interface NlgManagerSettings { settingsPerLocale?: Record; useNearestLocale?: boolean; } interface NlgManagerAnswer { answer: string; score: number; opts?: Record; context?: Record; } class NlgManager { constructor(settings?: NlgManagerSettings, container?: Container); add(locale: string, intent: string, answer: string, opts?: Record): void; addAnswer(locale: string, intent: string, answer: string, opts?: Record): void; filterAnswers(srcInput: {answer: string, opts: string}[]): {answers: {answer: string, opts: string}[]}; find(locale: string, intent: string, context?: Record, options?: FindAnswerOptions): Promise; findAnswer(locale: string, intent: string, context?: Record, options?: FindAnswerOptions): Promise; findAllAnswers(locale?: string, intent?: string, context?: Record): Array<{answer: string, opts: string}>; remove(locale: string, intent: string, answer: string, opts?: Record): void; removeAnswer(locale: string, intent: string, answer: string, opts?: Record): void; isValid(condition: string, context?: Record): boolean; container: Container; } interface ActionManagerSettings { container?: Container; tag?: string; } interface ActionBundle { action: string; parameters: any[]; } interface ProcessedAnswer { answer?: string | object; actions?: ActionBundle[]; } type ActionFunction = (input: ProcessedAnswer, ...parameters: any[]) => Promise; class ActionManager extends Clonable { constructor(settings?: ActionManagerSettings, container?: Container); actions: Record; actionsMap: Record; registerDefault(): void; posAction(intent: string, action: string, parameters: any[]): number; findActions(intent: string): { action: string; parameters: any[]; fn: ActionFunction }[]; processActions(intent: string, input: string | object): Promise; addAction(intent: string, action: string, parameters: any[], fn?: ActionFunction): void; removeAction(intent: string, action: string, parameters: any[]): void; removeActions(intent: string): void; registerActionInMap(action: string, fn: ActionFunction): void; removeActionFromMap(action: string): void; run(srcInput: { intent: string; }, settings?: any): Promise; toJSON(): { settings: ActionManagerSettings; actions: Record }; fromJSON(json: { settings: ActionManagerSettings; actions: Record }): void; } export { ActionManagerSettings, ActionManager }; export default NlgManager; }