import { MarkType, Node as PMNode, NodeType, Schema } from 'prosemirror-model';
import { EditorState, Transaction } from 'prosemirror-state';
import { AlignmentState } from '../plugins/alignment/pm-plugins/types';
import { Command } from '../types';
export declare function preventDefault(): Command;
export declare function insertNewLine(): Command;
export declare const insertNewLineWithAnalytics: Command;
export declare function insertRule(): Command;
export declare const createNewParagraphAbove: Command;
export declare const createNewParagraphBelow: Command;
export declare function createParagraphNear(append?: boolean): Command;
export declare function createParagraphAtEnd(): Command;
export declare const changeImageAlignment: (align?: AlignmentState) => Command;
export declare const createToggleBlockMarkOnRange: <T = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => false | T, allowedBlocks?: NodeType[] | ((schema: Schema, node: PMNode, parent: PMNode) => boolean)) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
/**
 * Toggles block mark based on the return type of `getAttrs`.
 * This is similar to ProseMirror's `getAttrs` from `AttributeSpec`
 * return `false` to remove the mark.
 * return `undefined for no-op.
 * return an `object` to update the mark.
 */
export declare const toggleBlockMark: <T = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => false | T, allowedBlocks?: NodeType[] | ((schema: Schema, node: PMNode, parent: PMNode) => boolean)) => Command;
export declare const clearEditorContent: Command;
