UNPKG

@atlaskit/editor-common

Version:

A package that contains common classes and components for editor and renderer

45 lines (44 loc) 1.92 kB
import type { AllEditorPresetPluginTypes, ExtractPluginNameFromAllBuilderPlugins, MaybePlugin, MaybePluginName, PresetPlugin, SafePresetCheck } from '../types'; import type { EditorPlugin } from '../types/editor-plugin'; import type { EditorPluginInjectionAPI } from './plugin-injection-api'; interface ProcessProps { pluginInjectionAPI?: EditorPluginInjectionAPI; excludePlugins?: Set<string>; } interface BuildProps extends ProcessProps { excludePlugins?: Set<string>; pluginInjectionAPI?: EditorPluginInjectionAPI; } type OldAndDeprecatedAddFunction<T> = (pluginToAdd: T, builder: EditorPresetBuilder<any, any>) => EditorPresetBuilder<any, any>; type AllPluginNames = string | MaybePluginName<string>; export declare class EditorPresetBuilder<PluginNames extends AllPluginNames[] = [ ], StackPlugins extends AllEditorPresetPluginTypes[] = [ ]> { private readonly data; constructor(...more: [ ...StackPlugins ]); add<NewPlugin extends PresetPlugin>(nextOrTuple: SafePresetCheck<NewPlugin, StackPlugins>): EditorPresetBuilder<[ ExtractPluginNameFromAllBuilderPlugins<NewPlugin>, ...PluginNames ], [ ...[ NewPlugin ], ...StackPlugins ]>; maybeAdd<ToAddPlugin extends PresetPlugin>(pluginToAdd: SafePresetCheck<ToAddPlugin, StackPlugins>, shouldAdd: boolean | (() => boolean) | OldAndDeprecatedAddFunction<ToAddPlugin>): EditorPresetBuilder<[ MaybePluginName<ExtractPluginNameFromAllBuilderPlugins<ToAddPlugin>>, ...PluginNames ], [ MaybePlugin<ToAddPlugin>, ...StackPlugins ]>; has(plugin: AllEditorPresetPluginTypes): boolean; build({ pluginInjectionAPI, excludePlugins: maybeExcludePlugins, }?: BuildProps): EditorPlugin[]; private verifyDuplicatedPlugins; private processEditorPlugins; private removeExcludedPlugins; private safeEntry; } export {};