/// <reference types="react" />
import * as Lib from "../../../../../metabase-lib";
import type { CardId } from "../../../../../metabase-types/api";
import type { SelectionRange } from "../types";
export type CodeMirrorEditorProps = {
    query: Lib.Query;
    onChange?: (queryText: string) => void;
    readOnly?: boolean;
    onCursorMoveOverCardTag?: (id: CardId) => void;
    onRightClickSelection?: () => void;
    onSelectionChange?: (range: SelectionRange) => void;
};
export interface CodeMirrorEditorRef {
    focus: () => void;
    getSelectionTarget: () => Element | null;
}
export declare const CodeMirrorEditor: (props: CodeMirrorEditorProps & import("react").RefAttributes<CodeMirrorEditorRef>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
