import type { JSONDocNode, JSONNode } from '@atlaskit/editor-json-transformer'; import type { MarkType, NodeType, Mark as PMMark, Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model'; import { SelectedState } from './SelectedState'; /** Validates prosemirror nodes, and returns true only if all nodes are valid */ export declare const validateNodes: (nodes: PMNode[]) => boolean; type PMEntities = PMNode | PMMark | null | undefined; export declare const isType: (node: PMEntities, type: NodeType | MarkType | undefined) => boolean | null | undefined; export declare const isParagraph: (node: PMEntities, schema: Schema) => boolean | null | undefined; export declare const isText: (node: PMEntities, schema: Schema) => boolean | null | undefined; export declare const isLinkMark: (node: PMEntities, schema: Schema) => boolean | null | undefined; /** * Returns if the current selection from achor-head is selecting the node. * If the node is not selected then null is returned. * If the node is selected then an enum is returned that describes weather the node * is fully selected by a range or if the "inside" of the node has been selected or clicked. */ export declare const isNodeSelectedOrInRange: (anchorPosition: number, headPosition: number, nodePosition: number | undefined, nodeSize: number) => SelectedState | null; export declare function toJSON(node: PMNode): JSONDocNode; export declare function nodeToJSON(node: PMNode): JSONNode; export { findChangedNodesFromTransaction } from './findChangedNodesFromTransaction'; export { validNode } from './validNode'; export { SelectedState } from './SelectedState'; export { isSupportedInParent } from './isSupportedInParent'; export { isMediaNode } from './isMediaNode'; export { isNodeBeforeMediaNode } from './isNodeBeforeMediaNode';