import { editor, IKeyboardEvent, IRange, IScrollEvent } from "monaco-editor/esm/vs/editor/editor.api";
type SuggestionChangeEvent = {
    show: boolean;
    suggestions: Array<string>;
    focused: string;
};
declare const _default: () => {
    Monaco: import("preact").FunctionComponent<{
        style?: import("preact").JSX.CSSProperties | undefined;
        className?: string | undefined;
        theme?: string | undefined;
        minimap?: boolean | undefined;
        fontSize?: number | undefined;
        language?: string | undefined;
        languages?: Record<string, string> | undefined;
        files?: Record<string, string | Promise<string>> | undefined;
        file?: string | undefined;
        onSuggestionChange?: ((e: SuggestionChangeEvent) => void) | undefined;
        onChange?: ((e: editor.IModelContentChangedEvent) => void) | undefined;
        onModelChange?: ((e: editor.IModelChangedEvent) => void) | undefined;
        onCursorPositionChange?: ((e: editor.ICursorPositionChangedEvent) => void) | undefined;
        onScrollChange?: ((e: IScrollEvent) => void) | undefined;
        onSaveAll?: ((entries: Array<[string, string]>) => void | Promise<any>) | undefined;
        onSave?: ((code: string, uri: string) => void) | undefined;
        onUndo?: (() => void) | undefined;
        onRedo?: (() => void) | undefined;
        onFocus?: (() => void) | undefined;
        onBlur?: (() => void) | undefined;
        onKeyDown?: ((e: IKeyboardEvent) => void) | undefined;
        onContextMenu?: ((e: editor.IEditorMouseEvent) => void) | undefined;
    }>;
    controls: {
        highlightLine: (line: number) => void;
        clearHighlight: () => string[] | undefined;
        replace: (lineStart: number, columnStart: number, lineEnd: number, columnEnd: number, text: string) => void;
        insertLine: (line: number, text: string) => void;
        getEditor: () => editor.IStandaloneCodeEditor | undefined;
        getModel: () => editor.ITextModel | null;
        getValue: () => string;
        getSelection: () => import("monaco-editor").Selection | null | undefined;
        setSelection: (selection: IRange) => undefined;
        setScrollTop: (val: number) => void | undefined;
        setScrollLeft: (val: number) => void | undefined;
        setValue: (val: string) => undefined;
        clearValue: () => undefined;
        getURI: () => string;
        saveAll: () => Promise<any>;
        save: () => void;
        newLine: () => void;
        undo: () => void;
        redo: () => void;
        focus: () => undefined;
        suggest: () => undefined;
        selectNextSuggestion: () => undefined;
        focused: () => boolean;
        jumpTo: (uri: string, line: number, fileOpen: (uri: string) => void) => void;
    };
};
export default _default;
