import type { INPUT_METHOD } from '@atlaskit/editor-common/analytics/types/enums'; import type { Command } from '@atlaskit/editor-common/types/command'; import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types/next-editor-plugin'; import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics/analyticsPluginType'; import type { BlockControlsPlugin } from '@atlaskit/editor-plugin-block-controls/blockControlsPluginType'; import type { BlockMenuPlugin } from '@atlaskit/editor-plugin-block-menu/blockMenuPluginType'; import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection/selection-plugin-type'; import type { UiControlRegistryPlugin } from '@atlaskit/editor-plugin-ui-control-registry/ui-control-registry-plugin-type'; import type { commitStatusPicker, insertStatus, removeStatus, UpdateStatus } from './pm-plugins/actions'; import type { StatusPluginOptions, StatusState } from './types'; type DummyAnnotationPlugin = NextEditorPlugin<'annotation', { actions: { setInlineCommentDraftState: (isDraft: boolean, inputMethod: INPUT_METHOD) => Command; }; sharedState: { annotations: Record; bookmark: boolean; isVisible: boolean; mouseData: { isSelecting: boolean; }; }; }>; type DummyEditorViewModePlugin = NextEditorPlugin<'editorViewMode', { sharedState: { mode: 'view' | 'edit'; }; }>; export type StatusPluginDependencies = [ OptionalPlugin, OptionalPlugin, OptionalPlugin, OptionalPlugin, OptionalPlugin, OptionalPlugin, OptionalPlugin ]; export type StatusPluginActions = { commitStatusPicker: typeof commitStatusPicker; updateStatus: UpdateStatus; }; export type StatusPluginCommands = { insertStatus: ReturnType; removeStatus: typeof removeStatus; }; export type StatusPlugin = NextEditorPlugin<'status', { actions: StatusPluginActions; commands: StatusPluginCommands; dependencies: StatusPluginDependencies; pluginConfiguration: StatusPluginOptions | undefined; sharedState: StatusState | undefined; }>; export {};