import React from 'react';
import { ErrorHandler } from '../kit/utils/error';
import { Loadable } from '../kit/utils/loadable';
import { TreeNode } from '../kit/utils/types';
import './CodeEditor/index.scss';
export type SingleFileProps = {
    files: [TreeNode];
    onSelectFile?: never;
    selectedFilePath?: never;
};
export type MultiFileProps = {
    files: TreeNode[];
    onSelectFile: (filePath: string) => void;
    selectedFilePath: string;
};
export type Props = (SingleFileProps | MultiFileProps) & {
    file: string | Loadable<string>;
    onError: ErrorHandler;
    height?: string;
    onChange?: (fileContent: string) => void;
    readonly?: boolean;
};
/**
 * A component responsible to enable the user to view the code for a experiment.
 *
 * It renders a file tree and a selected file in the CodeMirror editor.
 *
 * Props:
 *
 * files: an array of one or more files to display code;
 *
 * onSelectFile: called with filename when user changes files in the tree;
 *
 * readonly: prevent user from making changes to code files;
 *
 * selectedFilePath: gives path to the file to set as activeFile;
 */
declare const CodeEditor: React.FC<Props>;
export default CodeEditor;
//# sourceMappingURL=CodeEditor.d.ts.map