import * as Tp from 'thingpedia';
import { EntityMap } from '../utils/entity-utils';
import { ParseOptions, PredictionResult, GenerationResult, ExactMatcher } from './types';
export interface LocalParserOptions {
    id?: string;
    minibatchSize?: number;
    maxLatency?: number;
}
export default class LocalParserClient {
    private _locale;
    private _langPack;
    private _tokenizer;
    private _predictor;
    private _platform;
    private _exactmatcher;
    private _tpClient;
    constructor(modeldir: string, locale: string, platform: Tp.BasePlatform | undefined, exactmatcher: ExactMatcher | undefined, tpClient?: Tp.BaseClient | null, options?: LocalParserOptions);
    start(): Promise<void>;
    stop(): Promise<void>;
    private _startExactMatcher;
    private _applyPreHeuristics;
    private _applyPostHeuristics;
    sendUtterance(utterance: string, contextCode: string[] | undefined, contextEntities: EntityMap | undefined, options?: ParseOptions): Promise<PredictionResult>;
    generateUtterance(contextCode: string[], contextEntities: EntityMap, targetAct: string[]): Promise<GenerationResult[]>;
}
