import type { ComponentType } from 'react'; import type { TiptapEditor } from './editor'; import type { EditorCommands } from './editorCommandsType'; import type { ToolbarButtonProps } from './formatting-toolbar-buttons'; import type { AddButton, MenuGroups } from './pluginTypes'; import type { ToolbarType } from './toolbarEnums'; import type { AddPluginMenuConfig, PluginButton } from './toolbarSettingsTypes'; import type { IToolbarItemConfigTiptap } from './toolbarTypes'; export type PluginMenuItem = { id: string; presentation: { label: string; icon: ComponentType; dataHook: string; tooltip: string; }; attributes: IToolbarItemConfigTiptap['attributes']; getClickHandler: (editorCommands: EditorCommands, referenceElement?: HTMLElement | null) => () => void; section: string; }; export interface PluginAddButton { getButton: () => AddButton; getTags: () => string | undefined; getGroup: () => MenuGroups; equals: (button: PluginAddButton) => boolean; toToolbarItemConfig: (options?: { disabled?: boolean; }) => IToolbarItemConfigTiptap; toExternalToolbarButtonConfig: (editorCommands: EditorCommands, editor: TiptapEditor) => ToolbarButtonProps; toPluginMenuItem: () => PluginMenuItem; toFooterToolbarItem: () => PluginMenuItem; toHorizontalMenuItem: () => PluginMenuItem; getToolbars: () => ToolbarType[]; toToolbarButtonSettings: () => PluginButton; register: () => void; unregister: () => void; getButtonId: () => string; } export interface PluginAddButtons { asArray: () => PluginAddButton[]; byGroup: (group: MenuGroups) => PluginAddButtons; byTag: (tag: string) => PluginAddButton[]; byIds: (ids: string[]) => PluginAddButtons; register: (button: AddButton) => void; unregister: (button: AddButton) => void; registerPluginMenuModal: (config?: AddPluginMenuConfig) => void; toToolbarButtonsConfig: (toolbarType: ToolbarType, isMobile: boolean, options?: { disabled?: boolean; }) => IToolbarItemConfigTiptap[]; toExternalToolbarButtonsConfigs(editorCommands: EditorCommands, editor: TiptapEditor, isMobile: boolean): Record; } //# sourceMappingURL=plugin-add-buttons.d.ts.map