import { EditorState } from "@codemirror/state";
import { EditorView } from "@codemirror/view";
import { ThemeName } from "../extensions/appearance";
import { BaseEditor } from "./base-editor";
export declare type SQLDialect = "postgresql" | "mysql" | "sqlserver";
declare type SQLEditorParams = {
    domElement: Element;
    code?: string;
    dialect?: SQLDialect;
    readonly?: boolean;
    theme?: ThemeName;
    onChange?: (value: string) => void;
    onExecuteQuery?: (query: string) => void;
};
export declare class SQLEditor extends BaseEditor {
    protected view: EditorView;
    /**
     * Returns a state-only version of the editor, without mounting the actual view anywhere. Useful for testing.
     */
    static state(params: SQLEditorParams): EditorState;
    constructor(params: SQLEditorParams);
}
export {};
