/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { ExtractResponse } from './Extract';
import { Teach, TeachResponse } from './Teach';
import { TrainRound, TrainDialog, TrainScorerStep, TextVariation, CreateTeachParams, TrainExtractorStep } from './TrainDialog';
import { LogDialog, LogRound, LogScorerStep } from './LogDialog';
import { EntityBase, LabeledEntity, PredictedEntity } from './Entity';
import { ActionBase } from './Action';
import { MemoryValue } from './Memory';
import { FilledEntityMap, FilledEntity } from './FilledEntity';
export declare class ModelUtils {
    static generateGUID(): string;
    /** Remove n words from start of string */
    static RemoveWords(text: string, numWords: number): string;
    static ToLabeledEntity(predictedEntity: PredictedEntity): LabeledEntity;
    static ToLabeledEntities(predictedEntities: PredictedEntity[]): LabeledEntity[];
    static ToPredictedEntity(labeledEntity: LabeledEntity): PredictedEntity;
    static ToPredictedEntities(labeledEntities: LabeledEntity[]): PredictedEntity[];
    static ToTextVariation(extractResponse: ExtractResponse): TextVariation;
    static ToExtractResponse(textVariation: TextVariation): ExtractResponse;
    static ToExtractResponses(textVariations: TextVariation[]): ExtractResponse[];
    static ToTextVariations(extractResponses: ExtractResponse[]): TextVariation[];
    static ToTrainDialog(logDialog: LogDialog, actions?: ActionBase[] | null, entities?: EntityBase[] | null): TrainDialog;
    static ToTrainRound(logRound: LogRound): TrainRound;
    static ToTrainScorerStep(logScorerStep: LogScorerStep): TrainScorerStep;
    static ToCreateTeachParams(trainDialog: TrainDialog): CreateTeachParams;
    static ToTeach(teachResponse: TeachResponse): Teach;
    static areEqualTextVariations(tv1: TextVariation, tv2: TextVariation): boolean;
    static areEqualMemoryValues(mvs1: MemoryValue[], mvs2: MemoryValue[]): boolean;
    static changedFilledEntities(originalEntityMap: FilledEntityMap, newEntityMap: FilledEntityMap): FilledEntity[];
    static userText(extractorStep: TrainExtractorStep, excludedEntities?: string[], useMarkdown?: boolean): string;
    static textVariationToMarkdown(textVariation: TextVariation, excludeEntities: string[]): string;
    static PrebuiltDisplayText(builtinType: string, resolution: any, entityText: string): string;
}
