import { type CompletionSource } from "@codemirror/autocomplete";
import { type EditorView } from "@codemirror/view";
export interface IUseEventHandlersProps {
    onChange: (value: string) => void;
    onCursor?: (from: number, to: number) => void;
    onCompletion?: CompletionSource;
    onKeyDown?: (event: KeyboardEvent, view: EditorView) => boolean;
    onFocus?: (event: FocusEvent, view: EditorView) => void;
    onBlur?: (event: FocusEvent, view: EditorView) => void;
}
export declare function useEventHandlers({ onChange, onKeyDown, onCursor, onCompletion, onFocus, onBlur }: IUseEventHandlersProps): {
    handleChange: import("react").RefObject<(value: string) => void>;
    handleCursor: import("react").RefObject<((from: number, to: number) => void) | undefined>;
    handleKeyDown: import("react").RefObject<((event: KeyboardEvent, view: EditorView) => boolean) | undefined>;
    handleCompletion: import("react").RefObject<CompletionSource | undefined>;
    handleFocus: import("react").RefObject<((event: FocusEvent, view: EditorView) => void) | undefined>;
    handleBlur: import("react").RefObject<((event: FocusEvent, view: EditorView) => void) | undefined>;
};
//# sourceMappingURL=useEventHandlers.d.ts.map