import { ID } from '../util/id'; import { EventEmitter } from '../util/eventEmitter'; export declare enum ProcessorType { Initiator = 0, ServerFilter = 1, ServerSort = 2, ServerLimit = 3, Extractor = 4, Transformer = 5, Filter = 6, Sort = 7, Limit = 8 } interface PipelineProcessorEvents { propsUpdated: (processor: PipelineProcessor) => void; beforeProcess: (...args: any[]) => void; afterProcess: (...args: any[]) => void; } export interface PipelineProcessorProps { } export declare abstract class PipelineProcessor> extends EventEmitter { readonly id: ID; private _props; abstract get type(): ProcessorType; protected abstract _process(...args: any[]): T | Promise; protected validateProps?(...args: any[]): void; constructor(props?: Partial

); process(...args: any[]): T | Promise; setProps(props: Partial

): this; get props(): P; } export {};