import type { RMLTemplateExpressions } from '../types/internal';
import type { OperatorFunction } from 'rxjs';
/**
 * Currying "out" for observable streams
 * Create a curried observable stream from a given source
 * by applying the specified pipeline to it
 */
export declare const curryOut: <I, O>(...args: OperatorFunction<I, O>[] | [...OperatorFunction<any, any>, Observable<O>]) => unknown;
/**
 * Currying "in" for input stream operators
 * Create a curried observer stream from a given target
 * by applying the specified input pipeline to it
 **/
export declare const curry: <I, O>(op: OperatorFunction<I, O>, destination?: RMLTemplateExpressions.Any) => import("..").Observer<I> | ((target: RMLTemplateExpressions.TargetEventHandler<O>) => import("..").Observer<I>);
//# sourceMappingURL=curry.d.ts.map