import type { NodeType, Node as PMNode } from '@atlaskit/editor-prosemirror/model'; import type { EditorState } from '@atlaskit/editor-prosemirror/state'; import type { AnalyticsEventPayload, EditorAnalyticsAPI } from '../analytics'; import { JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST } from '../analytics'; import type { InputRuleHandler, InputRuleWrapper } from '../types'; type GetPayload = AnalyticsEventPayload | ((state: EditorState, matchResult: RegExpExecArray) => AnalyticsEventPayload); export declare const inputRuleWithAnalytics: (getPayload: GetPayload, analyticsApi: EditorAnalyticsAPI | undefined) => (originalRule: InputRuleWrapper) => InputRuleWrapper; type WrappingRuleProps = { getAttrs?: Record | ((matchResult: RegExpExecArray) => Record); joinPredicate?: (matchResult: RegExpExecArray, node: PMNode, joinScenario: JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST) => boolean; match: RegExp; nodeType: NodeType; }; export declare const createWrappingJoinRule: ({ match, nodeType, getAttrs, joinPredicate, }: WrappingRuleProps) => InputRuleWrapper; export declare const createRule: (match: RegExp, handler: InputRuleHandler, allowsBackwardMatch?: boolean) => InputRuleWrapper; export {};