/// <reference types="monaco-editor" />
export declare type ICodeEditor = monaco.editor.ICodeEditor;
export declare type CodeEditorChangeEvent = {
    readonly code: string;
    readonly changes: monaco.editor.IModelContentChangedEvent['changes'];
    readonly eol: monaco.editor.IModelContentChangedEvent['eol'];
    readonly versionId: monaco.editor.IModelContentChangedEvent['versionId'];
    readonly isUndoing: monaco.editor.IModelContentChangedEvent['isUndoing'];
    readonly isRedoing: monaco.editor.IModelContentChangedEvent['isRedoing'];
    readonly isFlush: monaco.editor.IModelContentChangedEvent['isFlush'];
};
export declare type CodeEditorChangeEventHandler = (e: CodeEditorChangeEvent) => void;
export declare type CodeEditorLanguage = 'typescript' | 'javascript';
export declare type CodeEditorTheme = 'DARK' | 'LIGHT';
export declare type CodeEditorOptions = {
    selectOnLineNumbers: boolean;
    fontSize: number;
    fontFamily?: string;
    tabSize: number;
    theme: CodeEditorTheme;
    language: CodeEditorLanguage;
    javascriptDefaults?: CodeEditorLanguageDefaults;
    typescriptDefaults?: CodeEditorLanguageDefaults;
};
export declare type CodeEditorLanguageDefaults = {
    types: string[];
};
