import type { AlignmentMarkDefinition, IndentationMarkDefinition } from '../marks'; import type { MarksObject, NoMark } from './types/mark'; import type { Inline } from './types/inline-content'; import type { NodeSpec } from '@atlaskit/editor-prosemirror/model'; export interface ParagraphAttributes { /** * An optional UUID for unique identification of the node */ localId?: string; } /** * @name paragraph_node */ export interface ParagraphBaseDefinition { attrs?: ParagraphAttributes; /** // eslint-disable-next-line eslint-plugin-jsdoc/check-tag-names * @allowUnsupportedInline true */ content?: Array; marks?: Array; type: 'paragraph'; } /** * @name paragraph_with_no_marks_node */ export type ParagraphDefinition = ParagraphBaseDefinition & NoMark; /** * NOTE: Need this because TS is too smart and inline everything. * So we need to give them separate identity. * Probably there's a way to solve it but that will need time and exploration. * // http://bit.ly/2raXFX5 * type T1 = X | Y * type T2 = A | T1 | B // T2 = A | X | Y | B */ /** * @name paragraph_with_alignment_node */ export type ParagraphWithAlignmentDefinition = ParagraphBaseDefinition & MarksObject; /** * @name paragraph_with_indentation_node */ export type ParagraphWithIndentationDefinition = ParagraphBaseDefinition & MarksObject; export type ParagraphWithMarksDefinition = ParagraphWithAlignmentDefinition | ParagraphWithIndentationDefinition; export declare const paragraph: NodeSpec;