/*! * Jodit Editor (https://xdsoft.net/jodit/) * Released under MIT see LICENSE.txt in the project root for license information. * Copyright (c) 2013-2026 Valerii Chupurnov. All rights reserved. https://xdsoft.net */ /** * @module plugin */ import type { HTMLTagNames, IJodit, IPluginSystem, IViewBased, IViewComponent, PluginType } from "../../types/index"; import "./interface"; /** * Jodit plugin system * @example * ```js * Jodit.plugins.add('emoji2', { * init() { * alert('emoji Inited2') * }, * destruct() {} * }); * ``` */ export declare class PluginSystem implements IPluginSystem { private readonly opts; constructor(opts: { getContainer(jodit: IViewBased | IViewComponent, classFunc?: Function | string, tag?: T, createInsideEditor?: boolean): HTMLElementTagNameMap[T]; }); private __items; get size(): number; /** * Add plugin in store */ add(name: string, plugin: PluginType): void; /** * Get plugin from store */ get(name: string): PluginType | void; /** * Remove plugin from store */ remove(name: string): void; private __getFullPluginsList; /** * Public method for async init all plugins */ __init(jodit: IJodit): void; /** * Returns the promise to wait for the plugin to load. */ wait(name: string): Promise; }