import type React from 'react'; import type { EditorView } from '@atlaskit/editor-prosemirror/view'; import type { DispatchAnalyticsEvent } from '../analytics/types/dispatch-analytics-event'; import type { EventDispatcher } from '../event-dispatcher'; import type { ProviderFactory } from '../provider-factory'; import type { EditorActionsOptions } from './editor-actions'; import type { EditorAppearance } from './editor-appearance'; export type UiComponentFactoryParams = { appearance: EditorAppearance; containerElement: HTMLElement | null; disabled: boolean; dispatchAnalyticsEvent?: DispatchAnalyticsEvent; editorActions: EditorActionsOptions; editorView?: EditorView; eventDispatcher: EventDispatcher; popupsBoundariesElement?: HTMLElement; popupsMountPoint?: HTMLElement; popupsScrollableElement?: HTMLElement; providerFactory: ProviderFactory; wrapperElement: HTMLElement | null; }; export type UIComponentFactory = (params: UiComponentFactoryParams) => React.ReactElement | null; export type ReactHookFactory = (params: Pick & { editorView: EditorView; }) => void;