import * as ThingTalk from 'thingtalk';
import { EntityMap } from '../utils/entity-utils';
export interface PlatformData {
    contacts?: Array<{
        value: string;
        principal: string;
        display: string;
    }>;
}
export interface PreparsedCommand {
    code: string[];
    entities: EntityMap;
    slots?: string[];
    slotTypes?: Record<string, string>;
}
interface NaturalLanguageUserInput {
    type: 'command';
    utterance: string;
    platformData: PlatformData;
}
interface ThingTalkUserInput {
    type: 'thingtalk';
    parsed: ThingTalk.Ast.Input;
    platformData: PlatformData;
}
export declare type UserInput = NaturalLanguageUserInput | ThingTalkUserInput;
export {};
