/**
 * Game Markup Language
 */
export class GMLEngine {
    /**
     *
     * @type {StaticKnowledgeDatabase}
     */
    database: StaticKnowledgeDatabase;
    /**
     *
     * @type {Localization}
     */
    localization: Localization;
    /**
     *
     * @type {DomTooltipManager}
     */
    tooltips: DomTooltipManager;
    /**
     * Used to prevent infinite recursion
     * @type {number}
     * @private
     */
    private __recursionCount;
    /**
     *
     * @type {Array}
     * @private
     */
    private __recursionReferencePath;
    /**
     *
     * @type {GMLContextFrame[]}
     */
    __contextStack: GMLContextFrame[];
    /**
     *
     * @type {boolean}
     * @private
     */
    private __tooltipsEnabled;
    /**
     *
     * @type {Map<string, GMLReferenceCompiler>}
     * @private
     */
    private __reference_compilers_visual;
    /**
     *
     * @type {Map<string, GMLReferenceCompiler>}
     * @private
     */
    private __reference_compilers_text;
    /**
     *
     * @type {TooltipParser}
     * @private
     */
    private __parser;
    /**
     *
     * @param {string} key
     * @param {GMLReferenceCompiler} compiler
     * @returns {boolean}
     */
    addReferenceCompilerVisual(key: string, compiler: GMLReferenceCompiler): boolean;
    /**
     *
     * @param {string} key
     * @returns {boolean}
     */
    removeReferenceCompilerVisual(key: string): boolean;
    /**
     *
     * @param {string} key
     * @param {GMLReferenceCompiler} compiler
     * @returns {boolean}
     */
    addReferenceCompilerText(key: string, compiler: GMLReferenceCompiler): boolean;
    /**
     *
     * @param {string} key
     * @returns {boolean}
     */
    removeReferenceCompilerText(key: string): boolean;
    /**
     *
     * @returns {boolean}
     */
    getTooltipsEnabled(): boolean;
    /**
     *
     * @param {boolean} v
     */
    setTooltipsEnabled(v: boolean): void;
    /**
     * @param {StaticKnowledgeDatabase} database
     * @param {Localization} localization
     */
    initialize(database: StaticKnowledgeDatabase, localization: Localization): void;
    /**
     *
     * @returns {Promise<any>}
     */
    startup(): Promise<any>;
    /**
     *
     * @param {String} type
     * @returns {number}
     */
    getReferenceDepth(type: string): number;
    /**
     * @private
     * @param {Token[]} tokens
     * @returns {string}
     */
    private compileTokensToText;
    /**
     *
     * @param {Token[]} tokens
     * @param {View} [target]
     * @returns {View}
     * @private
     */
    private compileTokensToVisual;
    pushState(): void;
    popState(): void;
    /**
     *
     * @param {string} code
     * @return {string}
     */
    compileAsText(code: string): string;
    /**
     *
     * @param {string} code
     * @param {View} [target]
     * @returns {View}
     */
    compile(code: string, target?: View): View;
    /**
     *
     * @param {string} key
     * @param {View} [target]
     * @param {Object} [seed]
     * @returns {View}
     */
    compile_localized(key: string, target?: View, seed?: any): View;
}
declare class GMLContextFrame {
    enableTooltips: boolean;
}
export {};
//# sourceMappingURL=GMLEngine.d.ts.map