/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { Memory } from './Memory';
import { ScoreInput, ScoreResponse } from './Score';
import { TrainExtractorStep, TrainScorerStep, LogicAPIError } from './TrainDialog';
import { EntityBase } from './Entity';
import { ExtractResponse } from './Extract';
import { TeachResponse } from './Teach';
import { AppList } from './App';
import { CLChannelData } from './CLChannelData';
export declare const CL_USER_NAME_ID = "CLTrainer";
export declare const MEMORY_KEY_HEADER_NAME = "x-conversationlearner-memory-key";
export declare const BOT_CHECKSUM_HEADER_NAME = "x-conversationlearner-bot-checksum";
/** Indicates whether END_SESSION was called on the running Session */
export declare enum SessionEndState {
    /** Session ended because END_SESSION activity has been called */
    COMPLETED = "completed",
    /** Session ended because of timeout or new session started w/o END_SESSION activity */
    OPEN = "open"
}
export declare enum ScoreReason {
    NotAvailable = "notAvailable",
    NotScorable = "notScorable",
    NotCalculated = "notCalculated"
}
export interface UIScoreInput {
    trainExtractorStep: TrainExtractorStep | null;
    extractResponse: ExtractResponse;
}
export interface UIExtractResponse {
    extractResponse: ExtractResponse;
    memories: Memory[];
}
export interface UIPostScoreResponse {
    teachResponse: TeachResponse;
    isEndTask: Boolean;
    memories: Memory[];
}
export interface UIScoreResponse {
    scoreResponse?: ScoreResponse;
    scoreInput?: ScoreInput;
    memories?: Memory[];
    extractConflict?: ExtractResponse | null;
    botAPIError?: LogicAPIError | null;
}
export interface UITrainScorerStep {
    trainScorerStep: TrainScorerStep;
    clData: CLChannelData;
    entities: EntityBase[];
}
export interface UIAppList {
    appList: AppList;
    activeApps: {
        [appId: string]: string;
    };
}
