import { PluginContext } from '../context'; import { PluginContextProcessorDiscovery } from './discovery'; /** * Interface which describes a plugin context pipeline. */ export interface PluginContextPipeline { /** * 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): Promise; } /** * Base implementation for a plugin context pipeline. */ export declare abstract class PluginContextPipelineBase implements PluginContextPipeline { /** * Holds the plugin context processor discovery. * * @var {PluginContextProcessorDiscovery} */ protected processorDiscovery: PluginContextProcessorDiscovery; /** * Create a PluginContextPipeline object. * * @param {PluginContextProcessorDiscovery} processorDiscovery * An object which represents a plugin context processor discovery. */ constructor(processorDiscovery: PluginContextProcessorDiscovery); /** * Get the plugin context processor discovery. * * @return {PluginContextProcessorDiscovery} * An object which represents a plugin context processor discovery. */ protected getProcessorDiscovery(): PluginContextProcessorDiscovery; /** * {@inheritdoc} */ process(pluginContext: PluginContextType): Promise; }