import { INlu, INluDateTime, INluFIO, INluGeo, INluIntent, INluIntents, INluResult, INluThisUser } from './interfaces/INlu';
export declare class Nlu {
    private _nlu;
    private _cachedData;
    private static readonly EMAIL_REGEX;
    private static readonly PHONE_REGEX;
    private static readonly LINK_REGEX;
    static readonly T_FIO = "YANDEX.FIO";
    static readonly T_GEO = "YANDEX.GEO";
    static readonly T_DATETIME = "YANDEX.DATETIME";
    static readonly T_NUMBER = "YANDEX.NUMBER";
    static readonly T_INTENT_CONFIRM = "YANDEX.CONFIRM";
    static readonly T_INTENT_REJECT = "YANDEX.REJECT";
    static readonly T_INTENT_HELP = "YANDEX.HELP";
    static readonly T_INTENT_REPEAT = "YANDEX.REPEAT";
    constructor();
    protected _serializeNlu(nlu: any): INlu;
    setNlu(nlu: any): void;
    private _getData;
    getUserName(): INluThisUser | null;
    getFio(): INluResult<INluFIO[]>;
    getGeo(): INluResult<INluGeo[]>;
    getDateTime(): INluResult<INluDateTime[]>;
    getNumber(): INluResult<number[]>;
    isIntentConfirm(userCommand?: string): boolean;
    isIntentReject(userCommand?: string): boolean;
    isIntentHelp(): boolean;
    isIntentRepeat(): boolean;
    getIntents(): INluIntents | null;
    getIntent(intentName: string): INluIntent | null;
    static getLink(query: string): INluResult<string[]>;
    static getPhone(query: string): INluResult<string[]>;
    static getEMail(query: string): INluResult<string[]>;
}
