import { type Extension } from "@codemirror/state";
import { EditorView } from "@codemirror/view";
import { type IUseEventHandlersProps } from "./useEventHandlers.js";
export interface IUseCodemirrorProps extends IUseEventHandlersProps {
    value?: string;
    label?: string;
    placeholderText?: string;
    disabled?: boolean;
    autocompletion?: {
        aboveCursor?: boolean;
        whenTyping?: boolean;
        whenTypingDelay?: number;
    };
    beforeExtensions?: Extension[];
    extensions?: Extension[];
    onApi?: (view: EditorView | null) => void;
}
export declare function useCodemirror({ value, label, disabled, autocompletion, placeholderText, extensions, beforeExtensions, onCompletion, onApi, onKeyDown, onCursor, onChange, onBlur, onFocus }: IUseCodemirrorProps): {
    editorRef: import("react").RefObject<HTMLDivElement | null>;
    viewRef: import("react").RefObject<EditorView | null>;
};
//# sourceMappingURL=useCodemirror.d.ts.map