"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const cancellation = require("../../../base/common/cancellation.js");
const event = require("../../../base/common/event.js");
const keyCodes = require("../../../base/common/keyCodes.js");
const uri = require("../../../base/common/uri.js");
const position = require("../core/position.js");
const range = require("../core/range.js");
const selection = require("../core/selection.js");
const languages = require("../languages.js");
const standaloneEnums = require("../standalone/standaloneEnums.js");
class KeyMod {
  static chord(firstPart, secondPart) {
    return keyCodes.KeyChord(firstPart, secondPart);
  }
}
KeyMod.CtrlCmd = 2048;
KeyMod.Shift = 1024;
KeyMod.Alt = 512;
KeyMod.WinCtrl = 256;
function createMonacoBaseAPI() {
  return {
    editor: void 0,
    languages: void 0,
    CancellationTokenSource: cancellation.CancellationTokenSource,
    Emitter: event.Emitter,
    KeyCode: standaloneEnums.KeyCode,
    KeyMod,
    Position: position.Position,
    Range: range.Range,
    Selection: selection.Selection,
    SelectionDirection: standaloneEnums.SelectionDirection,
    MarkerSeverity: standaloneEnums.MarkerSeverity,
    MarkerTag: standaloneEnums.MarkerTag,
    Uri: uri.URI,
    Token: languages.Token
  };
}
exports.KeyMod = KeyMod;
exports.createMonacoBaseAPI = createMonacoBaseAPI;
