import type * as monacoApi from 'monaco-editor'; declare type Monaco = typeof monacoApi; declare module 'monaco-editor' { interface LoaderOptions { monacoPath: string; workersPath: string; languagesPath: string; monacoCorePkg: string; cdn: string; monacoVersion: string; plugins: monacoApi.plugin.IPlugin[]; languages: monacoApi.plugin.IPlugin[]; } let loader: LoaderOptions; } export interface CancellablePromise extends Promise { cancel: () => void; } export declare function loadMonaco(options: Partial): CancellablePromise; export declare class MonacoLoader { config: any; constructor(); resolve: any; reject: any; injectScripts(script: HTMLScriptElement): void; handleMainScriptLoad: () => void; createScript(src?: string): HTMLScriptElement; createMonacoLoaderScript(mainScript: HTMLScriptElement): HTMLScriptElement; createMainScript(): HTMLScriptElement; isInitialized: boolean; wrapperPromise: Promise; init(config: any): CancellablePromise; } export declare const monacoLoader: MonacoLoader; export {};