import * as Tp from 'thingpedia'; import { Ast, SchemaRetriever } from 'thingtalk'; import { SimulationDatabase } from '../../dialogue-agent/simulator/types'; /** * Convert a ThingTalk dialogue state to a set of MultiWOZ-style slots. */ export default class SlotExtractor { private _tpClient; private _schemas; private _database; private _tokenizer; private _omittedSlots; private _cachedEntityMatches; constructor(locale: string, tpClient: Tp.BaseClient | null, schemaRetriever: SchemaRetriever, database: SimulationDatabase | undefined, omittedSlots?: string[]); private _isWellKnownEntity; private _tokenizeSlot; private _resolveEntity; private _safeLookupEntity; private _valueToSlot; extractSlots(state: Ast.Node): Promise>; }