import type { Node as PMNode, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
import type { EditorState, Selection } from '@atlaskit/editor-prosemirror/state';
import type { ContentNodeWithPos } from '@atlaskit/editor-prosemirror/utils';
export { shouldAutoLinkifyMatch } from './should-auto-linkify-tld';
export { getAnnotationMarksForPos, canApplyAnnotationOnRange, containsAnyAnnotations, getAnnotationIdsFromRange, getAnnotationInlineNodeTypes, hasAnnotationMark, getRangeInlineNodeNames, getRangeAncestorNodeNames, isEmptyTextSelection, isEmptyTextSelectionRenderer, } from './annotation';
export { getExtensionLozengeData } from './macro';
export type { Params } from './macro';
export { 
/**
 * @private
 * @deprecated
 *
 * Please use `@atlaskit/editor-common/error-reporter` entry-point instead.
 */
ErrorReporter, } from './error-reporter';
export type { ErrorReportingHandler } from './error-reporter';
export { isPastDate, timestampToIsoFormat, timestampToString, timestampToTaskContext, timestampToUTCDate, todayTimestampInUTC, } from './date';
export type { Date } from './date';
export { isElementInTableCell, isTextSelection, isLastItemMediaGroup, setNodeSelection, setTextSelection, setAllSelection, setCellSelection, nonNullable, stepAddsOneOf, stepHasSlice, extractSliceFromStep, isValidPosition, isEmptyParagraph, isInLayoutColumn, removeBlockMarks, filterChildrenBetween, } from './editor-core-utils';
export { withImageLoader } from './imageLoader';
export type { ImageLoaderProps, ImageLoaderState, ImageStatus } from './imageLoader';
export { breakoutResizableNodes, getBreakoutResizableNodeTypes, absoluteBreakoutWidth, calcBreakoutWidth, calcWideWidth, breakoutConsts, calculateBreakoutStyles, calcBreakoutWidthPx, getNextBreakoutMode, getTitle, calcBreakoutWithCustomWidth, } from './breakout';
export type { BreakoutConstsType } from './breakout';
export { 
/**
 * @private
 * @deprecated
 *
 * This is only used in editor-core and shouldn't be used anywhere else.
 * If you do need it please reach out to #cc-editor-lego
 */
findChangedNodesFromTransaction, 
/**
 * @private
 * @deprecated
 *
 * This is only used in editor-core and shouldn't be used anywhere else.
 * If you do need it please reach out to #cc-editor-lego
 */
validNode, 
/**
 * @private
 * @deprecated
 *
 * This is only used in editor-core and shouldn't be used anywhere else.
 * If you do need it please reach out to #cc-editor-lego
 */
validateNodes, isType, isParagraph, isText, isLinkMark, SelectedState, isNodeSelectedOrInRange, isSupportedInParent, isMediaNode, isNodeBeforeMediaNode, } from './nodes';
export type { Reducer } from './plugin-state-factory';
export { pluginFactory } from './plugin-state-factory';
export { getFragmentBackingArray, mapFragment, mapSlice, flatmap, mapChildren, hasNode, } from './slice';
export type { FlatMapCallback, MapWithCallback } from './slice';
export { walkUpTreeUntil, unwrap, removeNestedEmptyEls, containsClassName, closest, closestElement, parsePx, mapElem, maphElem, } from './dom';
export type { MapCallback } from './dom';
export { default as ADFTraversor } from './traversor';
/**
 * @private
 * @deprecated
 *
 * Use entry-point `@atlaskit/editor-common/utils/analytics` instead
 */
export { analyticsEventKey, getAnalyticsAppearance, getAnalyticsEditorAppearance, getAnalyticsEventSeverity, SEVERITY, } from './analytics';
export { getUnsupportedContentLevelData, UNSUPPORTED_CONTENT_LEVEL_SEVERITY, UNSUPPORTED_CONTENT_LEVEL_SEVERITY_THRESHOLD_DEFAULTS, type UnsupportedContentLevelsTracking, } from './unsupportedContent/get-unsupported-content-level-data';
export type { UnsupportedContentTooltipPayload, UnsupportedContentPayload, } from './unsupportedContent/types';
export { findAndTrackUnsupportedContentNodes } from './track-unsupported-content';
export { 
/**
 * @private
 * @deprecated
 *
 * Please use `@atlaskit/editor-common/performance/measure-render` entry-point instead.
 */
getDistortedDurationMonitor, 
/**
 * @private
 * @deprecated
 *
 * Please use `@atlaskit/editor-common/performance/measure-render` entry-point instead.
 */
measureRender, } from './performance/measure-render';
export { startMeasure, stopMeasure, clearMeasure } from './performance/measure';
export { 
/**
 * @private
 * @deprecated
 * Private API - should not be used. Use `@atlaskit/editor-common/performance/measure-tti` if required.
 */
measureTTI, 
/**
 * @private
 * @deprecated
 * Private API - should not be used. Use `@atlaskit/editor-common/performance/measure-tti` if required.
 */
getTTISeverity, 
/**
 * @private
 * @deprecated
 * Private API - should not be used. Use `@atlaskit/editor-common/performance/measure-tti` if required.
 */
TTI_SEVERITY_THRESHOLD_DEFAULTS, 
/**
 * @private
 * @deprecated
 * Private API - should not be used. Use `@atlaskit/editor-common/performance/measure-tti` if required.
 */
TTI_FROM_INVOCATION_SEVERITY_THRESHOLD_DEFAULTS, } from './performance/measure-tti';
/**
 * @private
 * @deprecated
 *
 * Private API - should not be used. Use `@atlaskit/editor-common/is-performance-api-available` if required.
 *
 */
export { isPerformanceAPIAvailable, isPerformanceObserverAvailable, } from './performance/is-performance-api-available';
/**
 * @private
 * @deprecated
 *
 * Private API - should not be used. Use `@atlaskit/editor-common/performance/navigation` if required.
 */
export { getRequestToResponseTime, getResponseEndTime } from './performance/navigation';
export { getExtensionRenderer } from './extension-handler';
export { hasMergedCell, getColumnWidths, calcTableColumnWidths, convertProsemirrorTableNodeToArrayOfRows, isPositionNearTableRow, } from './table';
export { createCompareNodes } from './compareNodes';
export { compose } from './compose';
export { isTextInput } from './is-text-input';
/**
 * @deprecated - [ED-23844] moving to own entry point @atlaskit/editor-common/whitespace
 */
export { ZERO_WIDTH_SPACE, ZERO_WIDTH_JOINER } from '../whitespace';
export type { Diff } from './types';
export { shouldForceTracking } from './should-force-tracking';
export { getModeFromTheme } from './getModeFromTheme';
export { getPerformanceOptions, startMeasureReactNodeViewRendered, stopMeasureReactNodeViewRendered, } from './get-performance-options';
export type { UserBrowserExtensionResults } from './browser-extensions';
export { sniffUserBrowserExtensions } from './browser-extensions';
export { RenderCountProfiler, PROFILER_KEY } from './profiler/render-count';
export { validateADFEntity, validationErrorHandler } from './validate-using-spec';
export { getShallowPropsDifference, getPropsDifference } from './compare-props';
export type { ShallowPropsDifference, PropsDifference } from './compare-props';
export { 
/**
 * @private
 * @deprecated
 *
 * Private API do not use - if you really need it use `@atlaskit/editor-common/use-component-render-tracking`;
 */
useComponentRenderTracking, } from './performance/hooks/use-component-render-tracking';
export type { UseComponentRenderTrackingArgs } from './performance/hooks/use-component-render-tracking';
/**
 * @private
 * @deprecated
 *
 * Private API do not use
 */
export { autoJoinTr } from './prosemirror/autojoin';
export { isReferencedSource, removeConnectedNodes, getChildrenInfo, getNodeName, } from './referentiality';
export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, isListNode, isParagraphNode, isListItemNode, isBulletList, } from './list';
export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange, } from './hyperlink';
export declare const pmHistoryPluginKey = "history$";
export { gridTypeForLayout } from './grid';
/**
 * @private
 * @deprecated
 *
 * Use `@atlaskit/editor-common/utils/document` entry-point instead.
 */
export { nodesBetweenChanged, getStepRange, isEmptyDocument, hasDocAsParent, bracketTyped, hasVisibleContent, isSelectionEndOfParagraph, getChangedNodes, } from './document';
/**
 * @private
 * @deprecated
 *
 * Use `@atlaskit/editor-common/process-raw-value` entry-point instead.
 */
export { processRawValue } from './processRawValue';
export { floatingLayouts, isRichMediaInsideOfBlockNode, calculateSnapPoints, alignAttributes, nonWrappedLayouts, } from './rich-media-utils';
export { sanitizeNodeForPrivacy } from './filter/privacy-filter';
export { canRenderDatasource, getDatasourceType } from './datasource';
export { filterCommand, isEmptySelectionAtStart, isEmptySelectionAtEnd, insertContentDeleteRange, deleteEmptyParagraphAndMoveBlockUp, insertNewLineWithAnalytics, createNewParagraphAbove, createNewParagraphBelow, createParagraphNear, walkNextNode, walkPrevNode, } from './commands';
export type { WalkNode } from './commands';
export { GUTTER_SELECTOR, GUTTER_SIZE_IN_PX, GUTTER_SIZE_MOBILE_IN_PX } from './scroll-gutter';
/**
 * @private
 * @deprecated
 *
 * Private API - do not use.
 */
export { getTimeSince } from './performance/get-performance-timing';
export { countNodes } from './count-nodes';
export declare function shallowEqual(obj1?: any, obj2?: any): boolean;
export { inputRuleWithAnalytics, createWrappingJoinRule, createRule } from './input-rules';
export declare function isSelectionInsideLastNodeInDocument(selection: Selection): boolean;
export declare const isInListItem: (state: EditorState) => boolean;
/**
 * Find the farthest node given a condition
 * @param predicate Function to check the node
 */
export declare const findFarthestParentNode: (predicate: (node: PMNode) => boolean) => ($pos: ResolvedPos) => ContentNodeWithPos | null;
export declare const insideTableCell: (state: EditorState) => boolean;
export declare function checkNodeDown(selection: Selection, doc: PMNode, filter: (node: PMNode) => boolean): boolean;
export declare const isEmptyNode: (schema: Schema) => ((node: PMNode) => boolean);
/**
 * Checks if a node has any content. Ignores node that only contain empty block nodes.
 */
export declare function isNodeEmpty(node?: PMNode): boolean;
export declare function isInEmptyLine(state: EditorState): boolean;
export { dedupe } from './dedupe';
export { createWrapSelectionTransaction, getWrappingOptions, } from './create-wrap-selection-transaction';
export { transformNodeIntoListItem } from './insert-node-into-ordered-list';
export { wrapSelectionIn } from './wrap-selection-in';
export { toJSON, nodeToJSON } from './nodes';
export { calculateToolbarPositionAboveSelection, calculateToolbarPositionOnCellSelection, calculateToolbarPositionTrackHead, } from './calculate-toolbar-position';
export { findNodePosByLocalIds } from './nodes-by-localIds';
export { getPageElementCounts } from './page-element-counts';
export type { PageElementCounts } from './page-element-counts';
export { withFeatureFlaggedComponent } from './withFeatureFlaggedComponent';
export { isNodeOfSameBaseType, getBaseNodeTypeName, isNodeTypeValidChildOf } from './node-type-utils';
