import type { Fn, FnA, FnAny, FnAnyA } from "@thi.ng/api";
/**
* Returns the right-to-left composition of given functions. I.e. when
* the composed function is called, the given right most function is
* called first (supports any number of args) and its return value then
* used as sole argument for the next function etc. Eventually returns
* result of left-most function.
*/
export declare function comp(a: FnAny): FnAny;
export declare function comp(a: Fn, b: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: Fn, j: FnAny): FnAny;
export declare function comp(a: Fn, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: Fn, j: Fn, ...fns: FnAny[]): FnAny;
/**
* Similar to {@link comp}, but composes given functions in left-to-right order.
*/
export declare function compLeft(a: FnAny): FnAny;
export declare function compLeft(a: FnAny, b: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: Fn, j: Fn): FnAny;
export declare function compLeft(a: FnAny, b: Fn, c: Fn, d: Fn, e: Fn, f: Fn, g: Fn, h: Fn, i: Fn, j: Fn, ...args: Fn[]): FnAny;
/**
* @deprecated renamed to {@link compLeft}.
*/
export declare const compL: typeof compLeft;
/**
* Async version of {@link comp}.
*/
export declare function compAsync(a: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnA, g: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnA, g: FnA, h: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnA, g: FnA, h: FnA, i: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnA, g: FnA, h: FnA, i: FnA, j: FnAnyA): FnAnyA;
export declare function compAsync(a: FnA, b: FnA, c: FnA, d: FnA, e: FnA, f: FnA, g: FnA, h: FnA, i: FnA, j: FnA, ...fns: FnAnyA[]): FnAnyA;
//# sourceMappingURL=comp.d.ts.map