import { PipelineProcessor, ProcessorType } from './processor'; import { EventEmitter } from '../util/eventEmitter'; interface PipelineEvents { updated: (processor: PipelineProcessor) => void; afterRegister: () => void; propsUpdated: () => void; afterProcess: (prev: R) => void; error: (prev: T) => void; } declare class Pipeline extends EventEmitter> { private readonly _steps; private cache; private lastProcessorIndexUpdated; constructor(steps?: PipelineProcessor[]); clearCache(): void; register(processor: PipelineProcessor, priority?: number): PipelineProcessor; tryRegister(processor: PipelineProcessor, priority?: number): PipelineProcessor | undefined; unregister(processor: PipelineProcessor): void; private addProcessorByPriority; get steps(): PipelineProcessor[]; getStepsByType(type: ProcessorType): PipelineProcessor[]; private getSortedProcessorTypes; process(data?: R): Promise; private findProcessorIndexByID; private setLastProcessorIndex; private processorPropsUpdated; private afterRegistered; } export default Pipeline;