/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/**
 * NOTE: we have tried different ways to mock `monaco-editor`. But those ways often involve
 * trying to load `monaco-editor` from `node_modules` and that takes a long time, so we'd better just mock
 * it completely like in this file.
 * See https://gitlab.com/gitlab-org/gitlab/-/issues/119194
 * See https://stackoverflow.com/questions/57731857/cannot-test-jest-with-monaco-editor-unexpected-token
 */
export declare enum MockedMonacoEditorKeyCode {
    F1 = 59,
    F8 = 66,
    F9 = 67,
    F10 = 68
}
export declare enum MockedMonacoEditorMarkerSeverity {
    Hint = 1,
    Info = 2,
    Warning = 4,
    Error = 8
}
export declare enum MockedMonacoEditorEndOfLinePreference {
    LF = 1
}
export declare const MockedMonacoEditorModel: {
    dispose: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    updateOptions: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getValue: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getLineCount: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getLineMaxColumn: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    pushStackElement: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    pushEditOperations: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    findMatches: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
};
export declare const MockedMonacoEditorInstance: {
    focus: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    dispose: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    addCommand: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getValue: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getPosition: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getRawOptions: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    getModel: () => typeof MockedMonacoEditorModel;
    hasTextFocus: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    updateOptions: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    setValue: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    revealPosition: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    setPosition: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onKeyDown: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    createDecorationsCollection: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onDidChangeModelContent: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onDidChangeCursorPosition: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onDidFocusEditorText: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onDidBlurEditorText: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    onDidFocusEditorWidget: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
};
export declare const MockedMonacoEditorAPI: {
    create: () => typeof MockedMonacoEditorInstance;
    focus: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    createModel: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    createDiffEditor: () => {
        getOriginalEditor: () => typeof MockedMonacoEditorInstance;
        getModifiedEditor: () => typeof MockedMonacoEditorInstance;
    };
    setModelMarkers: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    setModelLanguage: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    defineTheme: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    EndOfLinePreference: typeof MockedMonacoEditorEndOfLinePreference;
    removeAllMarkers: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    remeasureFonts: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
};
export declare enum MockedMonacoLanguageCompletionItemKind {
    Keyword = 17,
    Snippet = 27
}
export declare enum MockedMonacoLanguageCompletionItemInsertTextRule {
    InsertAsSnippet = 4
}
export declare const MockedMonacoEditorLanguagesAPI: {
    register: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    setLanguageConfiguration: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    setMonarchTokensProvider: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    registerCodeLensProvider: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    registerHoverProvider: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    registerCompletionItemProvider: import("@jest/globals").jest.Mock<import("@finos/legend-shared").SuperGenericFunction>;
    CompletionItemKind: typeof MockedMonacoLanguageCompletionItemKind;
    CompletionItemInsertTextRule: typeof MockedMonacoLanguageCompletionItemKind;
};
//# sourceMappingURL=MonacoEditorMockUtils.d.ts.map