import { default as React } from 'react';
import { FileFolderType, IMethodAttributes, ITextEditorSelection } from '@ws-ui/shared';
import { LSPProps } from './Alerts';
import { editor as MonacoEditor } from 'monaco-editor';

type TCodeEditorExtra = Partial<{
    initialLineInfo: {
        line: number;
        offset?: number;
        lastModification: number;
    };
    initialSelectionInfo: {
        selection: ITextEditorSelection;
        lastModification: number;
    };
    attributes: IMethodAttributes;
}>;
interface ICodeEditorProps {
    path: string;
    initialValue: string;
    type?: FileFolderType;
    theme?: string;
    onChange?: (content: string) => void;
    language: string;
    options?: MonacoEditor.IEditorOptions;
    extra?: TCodeEditorExtra;
    className?: string;
    showAlerts?: boolean;
    lspProps: LSPProps;
}
export declare const CodeEditor: React.FC<ICodeEditorProps>;
export {};
