import { Extension } from "@codemirror/state";
import { ViewUpdate } from "@codemirror/view";
import type { CursorPosition } from "../code-editor";
type Props = {
    customExtensions?: Extension[];
    lineWrapping?: boolean;
    onChange?: (value: string, viewUpdate: ViewUpdate) => void;
    onCursorChange?: (position: CursorPosition) => void;
    onEditorUpdate: (update: ViewUpdate) => void;
    onFormat?: (formattedCode: string) => void;
    onSelectionChange?: (characterCount: number) => void;
    readonly?: boolean;
    rows?: number;
};
export declare function useExtensions(props: Props): Extension[];
export {};
