/// <reference types="monaco-editor/monaco" />
import { Observable } from 'rxjs';
export declare class Monaco {
    static get isLoaded(): boolean;
    static get isEditorModuleLoaded(): boolean;
    private static get amdRequire();
    private static editorLibraryLoaded;
    private static importsConfigured;
    private static requireLoaded;
    /**
     * The current version of monaco. This version is used to look up the monaco library path from the shell environment.
     * WHen this changes, a new version must be added to @see MsftSmeExternalLibraries with the new version.
     * Currently, we need to support the versions release with at least 2 of the last major SDK release.
     */
    private static version;
    /**
     * Gets the bse url for the monaco editor
     */
    private static get baseUrl();
    /**
     * Gets the Monaco namespace, loading it if it hasn't been already
     */
    static loadMonacoEditor(): Observable<void>;
    /**
     * Loads a AMD module
     */
    private static loadAmdModule;
    /**
     * Gets the configure monaco for amd imports
     */
    private static configureMonacoImports;
    /**
     * Gets the AMD loader, loading it if it hasn't been already
     */
    private static loadRequire;
}
/**
 * Observable wrapper for monaco editors eventing system
 */
export declare function fromMonacoEvent<T>(emitter: monaco.IEvent<T>): Observable<T>;
