import { PluginContext } from '../context'; import { PluginContextPipeline } from './pipeline'; /** * Interface which describes a plugin context processor. */ export interface PluginContextProcessor { /** * Process given plugin context. * * @param {PluginContextType} pluginContext * An object which represents a plugin context. * * @return {Promise} * A promise to process plugin context. */ process(pluginContext: PluginContextType, pipeline: PluginContextPipeline): Promise; } /** * Base implementation for a plugin context processor. */ export declare abstract class PluginContextProcessorBase implements PluginContextProcessor { /** * Perform pre-processing on the plugin context. * * @param {PluginContextType} pluginContext * An object which represents the plugin context. * @param {PluginContextPipeline} pipeline * An object which represents the plugin context pipeline. * * @return {Promise} * A promise to perform pre-processing on the plugin context. */ protected onPreProcess(pluginContext: PluginContextType, pipeline: PluginContextPipeline): Promise; /** * Perform processing on the plugin context. * * @param {PluginContextType} pluginContext * An object which represents the plugin context. * @param {PluginContextPipeline} pipeline * An object which represents the plugin context pipeline. * * @return {Promise} * A promise to perform processing on the plugin context. */ protected onProcess(pluginContext: PluginContextType, pipeline: PluginContextPipeline): Promise; /** * Perform post-processing on the plugin context. * * @param {PluginContextType} pluginContext * An object which represents the plugin context. * @param {PluginContextPipeline} pipeline * An object which represents the plugin context pipeline. * * @return {Promise} * A promise to perform post-processing on the plugin context. */ protected onPostProcess(pluginContext: PluginContextType, pipeline: PluginContextPipeline): Promise; /** * {@inheritdoc} */ process(pluginContext: PluginContextType, pipeline: PluginContextPipeline): Promise; }