/**
 * Copyright (c) OpenLens Maintainers. All rights reserved.
 * Licensed under MIT License. See LICENSE in root directory for more information.
 */
import React from "react";
import { editor, Uri } from "monaco-editor";
import type { MonacoTheme } from "./monaco-themes";
export type MonacoEditorId = string;
export interface MonacoEditorProps {
    id?: MonacoEditorId;
    className?: string;
    style?: React.CSSProperties;
    autoFocus?: boolean;
    readOnly?: boolean;
    theme?: MonacoTheme;
    language?: "yaml" | "json";
    options?: Partial<editor.IStandaloneEditorConstructionOptions>;
    value: string;
    onChange?(value: string, evt: editor.IModelContentChangedEvent): void;
    onError?(error: unknown): void;
    onDidLayoutChange?(info: editor.EditorLayoutInfo): void;
    onDidContentSizeChange?(evt: editor.IContentSizeChangedEvent): void;
    onModelChange?(model: editor.ITextModel, prev?: editor.ITextModel): void;
    innerRef?: React.ForwardedRef<MonacoEditorRef>;
    setInitialHeight?: boolean;
}
export declare function createMonacoUri(id: MonacoEditorId): Uri;
export interface MonacoEditorRef {
    focus(): void;
}
export declare const MonacoEditor: React.ForwardRefExoticComponent<MonacoEditorProps & React.RefAttributes<MonacoEditorRef>>;
