/// import stream from 'stream'; import { Function0, TT, TT$ } from '@upradata/util'; import { ConcatOptionsType } from '../concat'; import { Stream } from '../types'; export declare type ConditionSync = boolean | ((data: Data, callback?: (err: Error, condition: boolean) => void) => void | boolean); export declare type Condition = TT$ void) => void | TT$)>; export declare type ConditionActionSync = Stream | Function0; export declare type ConditionAction = TT$>>; export declare type ConditionActionsSync = TT; export declare type ConditionActions = ConcatMode extends 'concat' ? ConcatOptionsType : TT; export declare type Mode = 'pipe' | 'concat'; export declare type SyncMode = 'sync' | 'async'; export declare class IfOptions { condition: Condition; true: ConditionActions; false?: ConditionActions; stream?: stream.DuplexOptions; mode?: Mode; sync?: SyncMode; constructor(options?: IfOptions); } export declare const getActionStreamsAsync: (conditionActions: ConditionActions<'pipe'>) => Promise; export declare const getActionStreamsSync: (conditionActions: ConditionActionsSync) => Stream[];