import { InjectionToken } from '@angular/core'; import { ToolSettings, ToolConstructable } from '@editorjs/editorjs'; /** * Block Data interface */ export interface BlockData { [key: string]: any; } /** * The types of plugins supported, currently block and inline */ export declare enum PluginTypes { /** * A EditorJS block plugin */ Block = "block", /** * A EditorJS inline plugin */ Inline = "inline" } /** * The types of plugins supported via the plugin `type` property */ export declare type PluginType = PluginTypes.Block | PluginTypes.Inline | string; /** * A plugin property */ export declare type PluginProperty = string; /** * The EditorJS tool settings for this plugin */ export declare type EditorJSPlugin = ToolConstructable | ToolSettings; /** * A map of all the tools settings */ export interface ToolSettingsMap { /** * The key of the plugin and the plugin exported tool settings */ [key: string]: EditorJSPlugin; } /** * A plugin configuration object */ export interface PluginConfig { /** * Specifies the type of plugin for the plugin provider */ type: PluginProperty; /** * The key to use for the plugin */ key: PluginProperty; /** * Label for displaying the plugin name */ pluginName: PluginProperty; /** * Optional description for the plugin */ description?: PluginProperty; /** * Optional shortcut for the plugin */ shortcut?: PluginProperty; /** * Optional {@link https://editorjs.io/provide-custom-configuration | custom configuration} to pass to EditorJS */ config?: any; /** * If a block tool, you can also set this to true if it contains inline tool support */ inlineToolbar?: boolean; /** * Optional block data, used to define the block data for this type * and used as a default */ blockData?: BlockData; /** * The plugin for the editor */ plugin: EditorJSPlugin | undefined; } /** * The Injection token for initial plugins as defined in the ngx-editorjs module */ export declare const EDITOR_JS_TOOL_INJECTOR: InjectionToken; /** * Injection token for a plugin config */ export declare const PLUGIN_CONFIG: InjectionToken; /** * A map of plugin configs */ export interface PluginConfigMap { /** * A plugin config per key */ [key: string]: PluginConfig; } /** * Injection token for the plugin config map */ export declare const PluginClasses: InjectionToken;