import Future from './Future'; import Lock from './Lock'; export interface Transform { (input: I): O | PromiseLike; } export interface PipelineFn extends Transform { (input: I | PromiseLike): Future; } export interface Pipeline extends PipelineFn { pipe(transform: Transform, lock?: Lock): Pipeline; } export declare function pipe( this: Transform, transform: Transform, lock?: Lock ): Pipeline; export declare function Pipeline( transform: Transform, lock?: Lock ): Pipeline; export default Pipeline;