import type { ResolvedPos } from 'prosemirror-model';
import type { Command, NodeSelection, TextSelection, Transaction } from 'prosemirror-state';
import { GapCursorSelection } from "../Cursor/GapCursorSelection.js";
export type Direction = 'before' | 'after';
type TextSelectionFinder = (selection: TextSelection, dir: Direction) => ResolvedPos | null;
type NodeSelectionFinder = (selection: NodeSelection, dir: Direction) => ResolvedPos | null;
type GapCursorSelectionFinder = (selection: GapCursorSelection, dir: Direction) => ResolvedPos | null;
export declare const findNextFakeParaPosForGapCursorSelection: GapCursorSelectionFinder;
export declare const findFakeParaPosForNodeSelection: NodeSelectionFinder;
export declare const findFakeParaPosForCodeBlock: ($cursor: ResolvedPos, dir: Direction) => ResolvedPos | null;
export declare const findFakeParaPosForTextSelection: TextSelectionFinder;
export declare function findFakeParaPosClosestToPos($pos: ResolvedPos, depth: number, dir: Direction): ResolvedPos | null;
export declare function createFakeParagraph(tr: Transaction, $pos: ResolvedPos, direction: Direction): Transaction;
export declare const arrowLeft: Command;
export declare const arrowDown: Command;
export declare const arrowUp: Command;
export declare const arrowRight: Command;
export declare const backspace: Command;
export {};
