///
import stream from 'stream';
import { Function0, TT$ } from '@upradata/util';
import { Condition } from './types';
export declare class TernaryStreamOpts {
condition: Condition;
stream?: stream.ReadableOptions & stream.WritableOptions;
constructor(options: TernaryStreamOpts);
}
export declare class TernaryConditionOptions {
private options;
test: (data: Data) => TT$;
private isInit;
constructor(options: TernaryStreamOpts);
init(): Promise;
}
export declare class TernaryForksStream extends stream.Writable {
condition: TernaryConditionOptions;
true: stream.Readable;
false: stream.Readable;
private resume;
private initListeners;
private hasInit;
constructor(options: TernaryStreamOpts);
addInitListener(listener: Function0>): void;
private emitInit;
_write(data: Data, encoding: BufferEncoding, callback: (error?: Error | null) => void): Promise;
}
export declare const ternaryFork: (options: TernaryStreamOpts) => TernaryForksStream;