///
import stream from 'stream';
import VinylFile from 'vinyl';
import { TT$ } from '@upradata/util';
export declare type PassThroughFunctionObj = {
transform?: (data: Data) => TT$;
flush?: () => TT$;
};
export declare type PassThroughFunction = (data: Data) => TT$;
export declare type PassThroughFunctionOptions = PassThroughFunctionObj | PassThroughFunction;
export declare type PassThroughOptions = stream.DuplexOptions & {
sink?: boolean;
};
export declare function passThroughImpl(options: Opts, passThrounghFunc?: PassThroughFunctionOptions): Opts['sink'] extends true ? NodeJS.ReadableStream : stream.Transform;
export declare const passThrough: {
(passThrounghFunc?: PassThroughFunctionOptions, options?: PassThroughOptions): stream.Transform;
vinyl: {
(passThrounghFunc?: PassThroughFunctionOptions, options?: PassThroughOptions): stream.Transform;
sink(passThrounghFunc?: PassThroughFunctionOptions, options?: PassThroughOptions): stream.Transform;
};
sink(passThrounghFunc?: PassThroughFunctionOptions, options?: PassThroughOptions): stream.Transform;
};