import { default as React } from 'react';
import { FileFolderType, IMethodAttributes, ISource, ITextEditorSelection } from '@ws-ui/shared';
import { TEditor } from './providers';
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;
    source?: ISource;
}>;
interface ICodeEditorProps {
    path: string;
    initialValue: string;
    type?: FileFolderType;
    theme?: string;
    onChange?: (content: string) => void;
    language: string;
    options?: MonacoEditor.IEditorOptions;
    extra?: TCodeEditorExtra;
    className?: string;
    lspProps: LSPProps;
}
export declare const FdLineNumbers: ({ lineNumber, editor, type, source, }: {
    lineNumber: number;
    editor: TEditor;
    type: FileFolderType | undefined;
    source: ISource | undefined;
}) => string;
export declare const SUPPORTED_THEMES: string[];
export declare const CodeEditor: React.FC<ICodeEditorProps>;
export {};
