import type { MarkType, NodeType, Node as PMNode, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
import type { HeadingLevelsAndNormalText } from '../types/block-type';
import type { Command } from '../types/command';
type AlignmentState = 'start' | 'end' | 'center';
export declare function addParagraphAtEnd(tr: Transaction): void;
export declare function createParagraphAtEnd(): Command;
/**
 *
 * @deprecated use changeImageAlignmentTr instead
 */
export declare const changeImageAlignment: (align?: AlignmentState) => Command;
export declare const changeImageAlignmentNext: (align?: AlignmentState) => (tr: Transaction) => boolean;
/**
 *
 * @deprecated use createToggleBlockMarkOnRangeNext instead, which does not require passing editorState
 */
export declare const createToggleBlockMarkOnRange: <T extends Object = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => T | undefined | false, allowedBlocks?: Array<NodeType> | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean)) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
export declare const createToggleBlockMarkOnRangeNext: <T extends Object = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => T | undefined | false, allowedBlocks?: Array<NodeType> | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean)) => (from: number, to: number, tr: Transaction) => boolean;
export declare const createToggleInlineMarkOnRange: <T extends Object = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => T | undefined | false) => (from: number, to: number, tr: Transaction, state: EditorState) => boolean;
/**
 * @deprecated use toggleBlockMarkTr instead
 * 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 extends Object = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => T | undefined | false, allowedBlocks?: Array<NodeType> | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean)) => Command;
/**
 * Toggles block mark based on the return type of `getAttrs`.
 * @returns true if the mark is applied, false otherwise.
 */
export declare const toggleBlockMarkNext: <T extends Object = object>(markType: MarkType, getAttrs: (prevAttrs?: T, node?: PMNode) => T | undefined | false, allowedBlocks?: Array<NodeType> | ((schema: Schema, node: PMNode, parent: PMNode | null) => boolean)) => (tr: Transaction) => boolean;
export declare const clearEditorContent: Command;
export declare function findCutBefore($pos: ResolvedPos): ResolvedPos | null;
/**
 * @deprecated
 *
 * This method is no longer needed and can be accessed via the
 * `editor-plugin-block-type` command of `setTextLevel`
 */
export declare function setHeading(level: HeadingLevelsAndNormalText): Command;
export { insertBlock } from './insert-block';
