import type { Command, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types'; import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics'; import type { Node } from '@atlaskit/editor-prosemirror/model'; import type { IndentationInputMethod } from './editor-commands/utils'; type IndentationPluginSharedState = { indentDisabled: boolean; isIndentationAllowed: boolean; outdentDisabled: boolean; }; export type IndentationPluginDependencies = [OptionalPlugin]; export type IndentationPluginActions = { indentParagraphOrHeading: (inputMethod: IndentationInputMethod) => Command; outdentParagraphOrHeading: (inputMethod: IndentationInputMethod) => Command; }; export type IndentationPlugin = NextEditorPlugin<'indentation', { actions: IndentationPluginActions; dependencies: IndentationPluginDependencies; sharedState: IndentationPluginSharedState | undefined; }>; export interface GetAttrsChange { newAttrs: T | false | undefined; node: Node; options: V; prevAttrs?: T; } export type GetAttrsWithChangesRecorder = { getAndResetAttrsChanges(): GetAttrsChange[]; getAttrs(prevAttrs?: T | undefined, node?: Node): T | false | undefined; }; export {};