import { editor } from 'monaco-editor';
/**
 * This file is used to consolidate monaco-editor imports into one place.
 * It was created to fix an issue in the esbuild bundle splitting, where the
 * Monaco editor was being included in multiple chunks, causing the editor to
 * load certain modules before some standalone services were registered.
 *
 * @remarks
 * At first we tried doing the editor export via a top level await
 * ```
 * const { editor } = await import("monaco-editor/esm/vs/editor/editor.api");
 * export { editor };
 * ```
 * It worked for us, but downstream consumers were not configured for top level await
 * and encountered errors thus we export `importMonacoEditor`.
 */
export { KeyCode, KeyMod, Range, Uri, Emitter, languages, MarkerSeverity } from 'monaco-editor';
/**
 * Importing .js files here to avoid issues that arise from tree shaking issues
 */
export { StandaloneServices } from 'monaco-editor/esm/vs/editor/standalone/browser/standaloneServices.js';
export { IStandaloneThemeService } from 'monaco-editor/esm/vs/editor/standalone/common/standaloneTheme.js';
export { IHoverService } from 'monaco-editor/esm/vs/platform/hover/browser/hover.js';
export { generateTokensCSSForColorMap } from 'monaco-editor/esm/vs/editor/common/languages/supports/tokenization.js';
export * as dom from 'monaco-editor/esm/vs/base/browser/dom.js';
export { EditorMouseEvent, EditorMouseEventFactory } from 'monaco-editor/esm/vs/editor/browser/editorDom.js';
export { MouseTargetFactory } from 'monaco-editor/esm/vs/editor/browser/controller/mouseTarget.js';
export declare function importMonacoEditor(): Promise<typeof editor>;
