/// <reference types="react" />
import type NativeQuery from "../../../../metabase-lib/v1/queries/NativeQuery";
import type { CardId } from "../../../../metabase-types/api";
import type { SelectionRange } from "./types";
export type EditorProps = {
    query: NativeQuery;
    onChange?: (queryText: string) => void;
    readOnly?: boolean;
    onCursorMoveOverCardTag?: (id: CardId) => void;
    onRightClickSelection?: () => void;
    onSelectionChange?: (range: SelectionRange) => void;
};
export interface EditorRef {
    focus: () => void;
    resize: () => void;
    getSelectionTarget: () => Element | null;
}
export declare const Editor: (props: EditorProps & import("react").RefAttributes<EditorRef>) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>> | null;
